[yum-cvs] yum-utils repoclosure.py,1.1,1.2

Gijs Hollestelle gijs at login.linux.duke.edu
Tue Mar 22 13:54:36 UTC 2005


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

Modified Files:
	repoclosure.py 
Log Message:
Cache already resolved dependencies


Index: repoclosure.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/repoclosure.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- repoclosure.py	21 Mar 2005 08:42:29 -0000	1.1
+++ repoclosure.py	22 Mar 2005 13:54:33 -0000	1.2
@@ -87,6 +87,8 @@
             print 'Run as root to get all dependencies'
 
     unresolved = {}
+    # Cache resolved dependencies for speed
+    resolved = {}
     
     print 'Checking Dependencies'
     for pkg in my.pkgSack:
@@ -94,6 +96,8 @@
             if req.startswith('rpmlib'): continue # ignore rpmlib deps
             
             ver = evrTupletoVer((reqe, reqv, reqr))
+            if resolved.has_key((req,flags,ver)):
+                continue
             try:
                 resolve_sack = my.whatProvides(req, flags, ver)
             except yum.Errors.RepoError, e:
@@ -103,6 +107,8 @@
                 if not unresolved.has_key(pkg):
                     unresolved[pkg] = []
                 unresolved[pkg].append((req, flags, ver))
+            else:
+                resolved[(req,flags,ver)] = 1
     
 
     num = len(my.pkgSack)




More information about the Yum-cvs-commits mailing list