[yum-cvs] yum/yum __init__.py,1.158,1.159 packages.py,1.39,1.40
Seth Vidal
skvidal at login.linux.duke.edu
Tue Dec 6 20:22:35 UTC 2005
Update of /home/groups/yum/cvs/yum/yum
In directory login:/tmp/cvs-serv5294/yum
Modified Files:
__init__.py packages.py
Log Message:
- make install check if the package is already installed
- add rel and ver attributes to all the PackageObjects for convenience.
Index: __init__.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/__init__.py,v
retrieving revision 1.158
retrieving revision 1.159
diff -u -r1.158 -r1.159
--- __init__.py 3 Dec 2005 17:12:39 -0000 1.158
+++ __init__.py 6 Dec 2005 20:22:33 -0000 1.159
@@ -43,7 +43,7 @@
import plugins
-from packages import parsePackages, YumLocalPackage, YumInstalledPackage
+from packages import parsePackages, YumAvailablePackage, YumLocalPackage, YumInstalledPackage
from repomd import mdErrors
from constants import *
from repomd.packageSack import ListPackageSack
@@ -1523,7 +1523,11 @@
pkgs = []
if po:
- pkgs.append(po)
+ if isinstance(po, YumAvailablePackage) or isinstance(po, YumLocalPackage):
+ pkgs.append(po)
+ else:
+ raise Errors.InstallError, 'Package Object was not a package object instance'
+
else:
if not kwargs.keys():
raise Errors.InstallError, 'Nothing specified to install'
@@ -1550,14 +1554,21 @@
self.log(4, 'Package: %s - already in transaction set' % po)
tx_return.extend(self.tsInfo.getMembers(pkgtup=po.pkgtup))
continue
-
+
# make sure this shouldn't be passed to update:
if self.up.updating_dict.has_key(po.pkgtup):
txmbrs = self.update(po=po)
tx_return.extend(txmbrs)
- else:
- txmbr = self.tsInfo.addInstall(po)
- tx_return.append(txmbr)
+ continue
+
+ # make sure it's not already installed
+ if self.rpmdb.installed(name=po.name, arch=po.arch, epoch=po.epoch,
+ rel=po.rel, ver=po.ver):
+ self.errorlog(2, 'Package: %s already installed' % po)
+ continue
+
+ txmbr = self.tsInfo.addInstall(po)
+ tx_return.append(txmbr)
return tx_return
Index: packages.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/packages.py,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- packages.py 13 Nov 2005 11:02:49 -0000 1.39
+++ packages.py 6 Dec 2005 20:22:33 -0000 1.40
@@ -119,6 +119,8 @@
self.epoch = self.doepoch()
self.version = self.tagByName('version')
self.release = self.tagByName('release')
+ self.ver = self.tagByName('version')
+ self.rel = self.tagByName('release')
self.pkgtup = self._pkgtup()
self.repoid = 'installed'
self.summary = self.tagByName('summary')
@@ -233,6 +235,8 @@
self.epoch = self.doepoch()
self.version = self.tagByName('version')
self.release = self.tagByName('release')
+ self.ver = self.tagByName('version')
+ self.rel = self.tagByName('release')
self.summary = self.tagByName('summary')
self.description = self.tagByName('description')
self.pkgtup = self._pkgtup()
@@ -261,6 +265,8 @@
self.epoch = self.returnSimple('epoch')
self.version = self.returnSimple('version')
self.release = self.returnSimple('release')
+ self.ver = self.returnSimple('version')
+ self.rel = self.returnSimple('release')
self.arch = self.returnSimple('arch')
self.repoid = self.returnSimple('repoid')
self.pkgtup = self._pkgtup()
More information about the Yum-cvs-commits
mailing list