[yum-cvs] yum/yum packageSack.py,1.18.2.7,1.18.2.8

Seth Vidal skvidal at linux.duke.edu
Thu Jan 4 20:00:57 UTC 2007


Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv17509/yum

Modified Files:
      Tag: yum-3_0_X
	packageSack.py 
Log Message:

- make MetaSack returnObsoletes not take forever and a day
- clean up the other PackageSack returnObsoletes()


Index: packageSack.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/packageSack.py,v
retrieving revision 1.18.2.7
retrieving revision 1.18.2.8
diff -u -r1.18.2.7 -r1.18.2.8
--- packageSack.py	19 Dec 2006 03:48:57 -0000	1.18.2.7
+++ packageSack.py	4 Jan 2007 20:00:55 -0000	1.18.2.8
@@ -251,9 +251,20 @@
         if not newest:
             return self._computeAggregateDictResult("returnObsoletes")
         
+        # get the dict back
+        obsdict = self._computeAggregateDictResult("returnObsoletes")
+        # get a sack of the newest pkgs
+        obstups = obsdict.keys()
+        # go through each of the keys of the obs dict and see if it is in the
+        # sack of newest pkgs - if it is not - remove the entry
+        for pkgtup in obstups:
+            (n,a,e,v,r) = pkgtup
+            tuplist = [ pkg.pkgtup
+                for pkg in self.returnNewestByName(name=n) ]
+            if pkgtup not in tuplist:
+                del obsdict[pkgtup]
         
-        mysack = ListPackageSack(self.returnNewestByName())
-        return mysack.returnObsoletes()
+        return obsdict
         
     def searchFiles(self, file):
         """return list of packages by filename"""
@@ -437,14 +448,14 @@
         """returns a dict of obsoletes dict[obsoleting pkgtuple] = [list of obs]"""
         obs = {}
         for po in self.returnPackages():
-            if len(po.returnPrco('obsoletes')) == 0:
+            if len(po.obsoletes) == 0:
                 continue
 
             if not obs.has_key(po.pkgtup):
-                obs[po.pkgtup] = po.returnPrco('obsoletes')
+                obs[po.pkgtup] = po.obsoletes
             else:
-                obs[po.pkgtup].extend(po.returnPrco('obsoletes'))
-        
+                obs[po.pkgtup].extend(po.obsoletes)
+            
         return obs
         
     def searchFiles(self, file):




More information about the Yum-cvs-commits mailing list