[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