[yum-cvs] yum-utils repoclosure.py,1.9,1.10

Seth Vidal skvidal at login.linux.duke.edu
Fri Dec 2 19:05:17 UTC 2005


Update of /home/groups/yum/cvs/yum-utils
In directory login:/tmp/cvs-serv12469

Modified Files:
	repoclosure.py 
Log Message:

make -n, --newest check newest to newest so we don't end up getting a
provide from something that is older.


Index: repoclosure.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/repoclosure.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- repoclosure.py	7 Nov 2005 18:15:34 -0000	1.9
+++ repoclosure.py	2 Dec 2005 19:05:09 -0000	1.10
@@ -29,7 +29,7 @@
 from optparse import OptionParser
 import rpmUtils.arch
 from yum.constants import *
-
+from repomd.packageSack import ListPackageSack
 
 
 def evrTupletoVer(tuple):
@@ -108,6 +108,9 @@
             pkgs = self.pkgSack.returnNewestByNameArch()
         else:
             pkgs = self.pkgSack
+
+        mypkgSack = ListPackageSack(pkgs)
+        pkgtuplist = mypkgSack.simplePkgList()
         
         for pkg in pkgs:
             for (req, flags, (reqe, reqv, reqr)) in pkg.returnPrco('requires'):
@@ -125,8 +128,22 @@
                     if not unresolved.has_key(pkg):
                         unresolved[pkg] = []
                     unresolved[pkg].append((req, flags, ver))
-                else:
-                    resolved[(req,flags,ver)] = 1
+                    continue
+                    
+                if newest:
+                    resolved_by_newest = False
+                    for po in resolve_sack:# look through and make sure all our answers are newest-only
+                        if po.pkgtup in pkgtuplist:
+                            resolved_by_newest = True
+                            break
+
+                    if resolved_by_newest:                    
+                        resolved[(req,flags,ver)] = 1
+                    else:
+                        if not unresolved.has_key(pkg):
+                            unresolved[pkg] = []
+                        unresolved[pkg].append((req, flags, ver))                        
+                        
         return unresolved
     
     




More information about the Yum-cvs-commits mailing list