diff options
-rwxr-xr-x | bin/emerge | 14 |
1 files changed, 8 insertions, 6 deletions
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: |