diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-11-29 20:24:31 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-11-29 20:24:31 +0000 |
commit | f541057b7dde885d3aa2a4014721a37fa223a408 (patch) | |
tree | cbf12cd2aa76ade9297c7f3c5f50fb0a74867338 | |
parent | 22251bfd49f7ded6c97c5dc38a68932905c71481 (diff) | |
download | portage-f541057b7dde885d3aa2a4014721a37fa223a408.tar.gz portage-f541057b7dde885d3aa2a4014721a37fa223a408.tar.bz2 portage-f541057b7dde885d3aa2a4014721a37fa223a408.zip |
Add a sanity check inside depgraph._add_pkg() to ensure that the dependencies
of the same package are never processed more than once. (trunk r12122)
svn path=/main/branches/2.1.6/; revision=12123
-rw-r--r-- | pym/_emerge/__init__.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 8c3a89d49..7efcae784 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -4536,6 +4536,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 @@ -4688,7 +4691,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): |