From 29418012a5af7d651a287c9df75565499b07a076 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 14 Apr 2008 01:35:25 +0000 Subject: * Call depgraph._add_dep() to add package dependencies to the graph as soon as possible rather than pushing them onto the stack. (trunk r9885) * Fix some breakage in the allow_unsatisfied handling. (trunk r9886) svn path=/main/branches/2.1.2/; revision=9889 --- bin/emerge | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/emerge b/bin/emerge index 9fbbe10f9..41fa76df8 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1919,7 +1919,8 @@ class depgraph(object): while dep_stack: dep = dep_stack.pop() if isinstance(dep, Package): - if not self._add_pkg_deps(dep): + if not self._add_pkg_deps(dep, + allow_unsatisfied=allow_unsatisfied): return 0 continue if not self._add_dep(dep, allow_unsatisfied=allow_unsatisfied): @@ -2136,7 +2137,7 @@ class depgraph(object): dep_stack.append(pkg) return 1 - def _add_pkg_deps(self, pkg): + def _add_pkg_deps(self, pkg, allow_unsatisfied=False): mytype = pkg.type_name myroot = pkg.root @@ -2210,10 +2211,11 @@ class depgraph(object): mypriority = dep_priority.copy() if not blocker and vardb.match(atom): mypriority.satisfied = True - self._dep_stack.append( - Dependency(atom=atom, - blocker=blocker, depth=depth, parent=pkg, - priority=mypriority, root=dep_root)) + if not self._add_dep(Dependency(atom=atom, + blocker=blocker, depth=depth, parent=pkg, + priority=mypriority, root=dep_root), + allow_unsatisfied=allow_unsatisfied): + return 0 if debug: print "Exiting...", jbigkey except ValueError, e: -- cgit v1.2.3-1-g7c22