summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-04-14 01:35:25 +0000
committerZac Medico <zmedico@gentoo.org>2008-04-14 01:35:25 +0000
commit29418012a5af7d651a287c9df75565499b07a076 (patch)
tree918e6ce95d168890df449da470fb10fd042612c2 /bin
parentbcd7fc4a69669b9db91042a31d27e67a6f89394d (diff)
downloadportage-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
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge14
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: