diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-14 01:35:25 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-14 01:35:25 +0000 |
commit | 29418012a5af7d651a287c9df75565499b07a076 (patch) | |
tree | 918e6ce95d168890df449da470fb10fd042612c2 | |
parent | bcd7fc4a69669b9db91042a31d27e67a6f89394d (diff) | |
download | portage-29418012a5af7d651a287c9df75565499b07a076.tar.gz portage-29418012a5af7d651a287c9df75565499b07a076.tar.bz2 portage-29418012a5af7d651a287c9df75565499b07a076.zip |
* 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
-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: |