From 008dee06d8a380d8cdc0d91ef255d002fea4e462 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 29 Nov 2008 20:22:33 +0000 Subject: Add a sanity check inside depgraph._add_pkg() to ensure that the dependencies of the same package are never processed more than once. svn path=/main/trunk/; revision=12122 --- pym/_emerge/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'pym') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index e82269dd4..ef5ba6a4e 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -4552,6 +4552,9 @@ class depgraph(object): #IUSE-aware emerge -> USE DEP aware depgraph #"no downgrade" emerge """ + # Ensure that the dependencies of the same package + # are never processed more than once. + previously_added = pkg in self.digraph # select the correct /var database that we'll be checking against vardbapi = self.trees[pkg.root]["vartree"].dbapi @@ -4704,7 +4707,8 @@ class depgraph(object): if args: depth = 0 pkg.depth = depth - dep_stack.append(pkg) + if not previously_added: + dep_stack.append(pkg) return 1 def _add_pkg_deps(self, pkg, allow_unsatisfied=False): -- cgit v1.2.3-1-g7c22