From 5749bcd8dab3253680cf4449c89bcea53141c74d Mon Sep 17 00:00:00 2001 From: "jkeating@reducto.boston.redhat.com" <> Date: Tue, 6 Feb 2007 22:53:43 -0500 Subject: [PATCH] Minor speedup to short circuit depsolving --- pypungi/gather.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pypungi/gather.py b/pypungi/gather.py index 21d74585..bd5ef279 100755 --- a/pypungi/gather.py +++ b/pypungi/gather.py @@ -43,6 +43,7 @@ class Gather(yum.YumBase): self.pkglist = pkglist self.polist = [] self.srpmlist = [] + self.resolved_deps = {} # list the deps we've already resolved, short circuit. def _provideToPkg(self, req): #this is stolen from Anaconda bestlist = None @@ -79,6 +80,8 @@ class Gather(yum.YumBase): pkgresults = {} for req in reqs: + if self.resolved_deps.has_key(req): + continue (r,f,v) = req if r.startswith('rpmlib(') or r.startswith('config('): continue @@ -94,6 +97,8 @@ class Gather(yum.YumBase): if not pkgresults.has_key(dep): pkgresults[dep] = None self.tsInfo.addInstall(dep) + + self.resolved_deps[req] = None return pkgresults.keys()