From 5069eb8b0960029a6e0558781a49bd24bb69732b Mon Sep 17 00:00:00 2001 From: Daniel Mach Date: Mon, 15 Oct 2012 11:16:54 -0400 Subject: [PATCH] Check each package's deps only once. --- src/pypungi/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/pypungi/__init__.py b/src/pypungi/__init__.py index e9fb8215..e2897355 100644 --- a/src/pypungi/__init__.py +++ b/src/pypungi/__init__.py @@ -142,6 +142,7 @@ class Pungi(pypungi.PungiBase): self.last_po = 0 self.resolved_deps = {} # list the deps we've already resolved, short circuit. self.excluded_pkgs = {} # list the packages we've already excluded. + self.seen_pkgs = {} # list the packages we've already seen so we can check all deps only once def _add_yum_repo(self, name, url, mirrorlist=False, groups=True, cost=1000, includepkgs=[], excludepkgs=[], @@ -341,6 +342,10 @@ class Pungi(pypungi.PungiBase): """Add the dependencies for a given package to the transaction info""" + if po in self.seen_pkgs: + return + self.seen_pkgs[po] = None + self.logger.info('Checking deps of %s.%s' % (po.name, po.arch)) reqs = po.requires