summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-10-16 22:04:52 +0000
committerZac Medico <zmedico@gentoo.org>2006-10-16 22:04:52 +0000
commite5201334574d02b0fec75071fdde58cabc772527 (patch)
tree89c1fb4e97e8f99d0b8678a9a094ad2a5375ca0e
parent9d8b7c4fb69f6c4992263a3aee1486dc7f22537f (diff)
downloadportage-e5201334574d02b0fec75071fdde58cabc772527.tar.gz
portage-e5201334574d02b0fec75071fdde58cabc772527.tar.bz2
portage-e5201334574d02b0fec75071fdde58cabc772527.zip
Blockers that depend on merge order must be validated by depgraph.altlist(reversed=False) before the reverse tree is generated, since the validation won't work in reverse mode.
svn path=/main/trunk/; revision=4729
-rwxr-xr-xbin/emerge13
1 files changed, 10 insertions, 3 deletions
diff --git a/bin/emerge b/bin/emerge
index ab5fe2fc1..ff5a8901f 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1466,9 +1466,13 @@ class depgraph:
for node in myblockers.root_nodes():
retlist.append(node.split())
- for parent in self.blocker_parents[node]:
- # Valid blockers need to be in the digraph for --tree support.
- self.digraph.add(node, parent)
+ if not reversed:
+ """ Valid blockers need to be in the digraph for --tree
+ support. Blocker validation does not work with reverse mode,
+ so self.altlist() should first be called with reverse disabled
+ so that blockers are properly validated."""
+ for parent in self.blocker_parents[node]:
+ self.digraph.add(node, parent)
return retlist
@@ -3785,6 +3789,9 @@ def action_build(settings, trees, mtimedb,
mydepgraph.display(mymergelist)
prompt="Would you like to resume merging these packages?"
else:
+ """ Blockers that depend on merge order must first be validated by
+ altlist(reversed=False)."""
+ mydepgraph.altlist()
mydepgraph.display(
mydepgraph.altlist(reversed=("--tree" in myopts)))
mergecount=0