[yum-cvs] yum/yum __init__.py,1.95,1.96 depsolve.py,1.60,1.61
Seth Vidal
skvidal at login.linux.duke.edu
Sat Mar 12 07:24:06 UTC 2005
Update of /home/groups/yum/cvs/yum/yum
In directory login:/tmp/cvs-serv29106/yum
Modified Files:
__init__.py depsolve.py
Log Message:
- clean up some dumb code laste night
- make obsoletes easier to search
- tidy up some code in depsolver
- make obsoletes print out in the transaction list again
Index: __init__.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/__init__.py,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -r1.95 -r1.96
--- __init__.py 11 Mar 2005 09:00:39 -0000 1.95
+++ __init__.py 12 Mar 2005 07:24:04 -0000 1.96
@@ -1097,6 +1097,14 @@
return result
+ def getInstalledPackageObject(self, pkgtup):
+ """returns a YumInstallPackage object for the pkgtup specified"""
+
+ hdrs = self.rpmdb.returnHeaderByTuple(pkgtup)
+ hdr = hdrs[0]
+ po = YumInstalledPackage(hdr)
+ return po
+
def gpgKeyCheck(self):
"""checks for the presence of gpg keys in the rpmdb
returns 0 if no keys returns 1 if keys"""
Index: depsolve.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/depsolve.py,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- depsolve.py 11 Mar 2005 09:00:40 -0000 1.60
+++ depsolve.py 12 Mar 2005 07:24:04 -0000 1.61
@@ -351,11 +351,12 @@
"""processes the dependency resolution for a dep where the requiring
package is installed"""
(name, arch, epoch, ver, rel) = requiringPkg
+ requiringPo = self.getInstalledPackageObject(requiringPkg)
+
(needname, needflags, needversion) = requirement
niceformatneed = rpmUtils.miscutils.formatRequire(needname, needversion, needflags)
checkdeps = 0
missingdep = 0
- reqpkg_print = '%s.%s %s:%s-%s' % requiringPkg
# we must first find out why the requirement is no longer there
# we must find out what provides/provided it from the rpmdb (if anything)
@@ -407,9 +408,8 @@
if needmode in ['e']:
self.log(5, 'TSINFO: %s package requiring %s marked as erase' %
- (reqpkg_print, needname))
- pkg = packages.YumInstalledPackage(self.rpmdb.returnHeaderByTuple(requiringPkg)[0])
- txmbr = self.tsInfo.addErase(pkg)
+ (requiringPo, needname))
+ txmbr = self.tsInfo.addErase(requiringPo)
txmbr.setAsDep(pkgtup = needpkgtup)
checkdeps = 1
@@ -418,8 +418,9 @@
obslist = []
# check obsoletes first
if self.conf.obsoletes:
- obslist = self.up.getObsoletedList(name=name)
- self.log(4, 'Looking for Obsoletes for %s' % name)
+ if self.up.obsoleted_dict.has_key(requiringPo.pkgtup):
+ obslist = self.up.obsoleted_dict[requiringPo.pkgtup]
+ self.log(4, 'Looking for Obsoletes for %s' % requiringPo)
if len(obslist) > 0:
po = None
@@ -428,11 +429,10 @@
if po:
for (new, old) in self.up.getObsoletesTuples():
if po.pkgtup == new:
- obsoleted_pkg = packages.YumInstalledPackage(self.rpmdb.returnHeaderByTuple(old)[0])
- txmbr = self.tsInfo.addObsoleting(po, obsoleted_pkg)
- self.tsInfo.addObsoleted(obsoleted_pkg, po)
+ txmbr = self.tsInfo.addObsoleting(po, requiringPo)
+ self.tsInfo.addObsoleted(requiringPo, po)
txmbr.setAsDep(pkgtup = needpkgtup)
- self.log(5, 'TSINFO: Obsoleting %s with %s to resolve dep.' % (obsoleted_pkg, po))
+ self.log(5, 'TSINFO: Obsoleting %s with %s to resolve dep.' % (requiringPo, po))
checkdeps = 1
return checkdeps, missingdep
@@ -460,8 +460,7 @@
if po:
for (new, old) in self.up.getUpdatesTuples():
if po.pkgtup == new:
- updated_pkg = packages.YumInstalledPackage(self.rpmdb.returnHeaderByTuple(old)[0])
- txmbr = self.tsInfo.addUpdate(po, updated_pkg)
+ txmbr = self.tsInfo.addUpdate(po, requiringPo)
txmbr.setAsDep(pkgtup = needpkgtup)
self.log(5, 'TSINFO: Updating %s to resolve dep.' % po)
checkdeps = 1
More information about the Yum-cvs-commits
mailing list