summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-10-16 22:25:11 +0000
committerZac Medico <zmedico@gentoo.org>2006-10-16 22:25:11 +0000
commitcc792482a3e1517466e3ccb80ae7cadf7e8292fb (patch)
treefbc5708aa9c4663cccf40749d12b01f5d86718e4 /bin
parente5201334574d02b0fec75071fdde58cabc772527 (diff)
downloadportage-cc792482a3e1517466e3ccb80ae7cadf7e8292fb.tar.gz
portage-cc792482a3e1517466e3ccb80ae7cadf7e8292fb.tar.bz2
portage-cc792482a3e1517466e3ccb80ae7cadf7e8292fb.zip
Fix altlist blocker validation logic so that the correct nodes are added to the list when called in reverse mode.
svn path=/main/trunk/; revision=4730
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge23
1 files changed, 16 insertions, 7 deletions
diff --git a/bin/emerge b/bin/emerge
index ff5a8901f..073100e04 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1464,13 +1464,19 @@ class depgraph:
if not myblockers.child_nodes(blocker):
myblockers.remove(blocker)
- for node in myblockers.root_nodes():
- retlist.append(node.split())
- 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."""
+ if reversed:
+ for node in self.blocker_digraph.root_nodes():
+ if self.digraph.contains(node):
+ """This blocker has been validated by a previous merge
+ order calculation."""
+ retlist.append(node.split())
+ else:
+ """ 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 node in myblockers.root_nodes():
+ retlist.append(node.split())
for parent in self.blocker_parents[node]:
self.digraph.add(node, parent)
@@ -3837,6 +3843,9 @@ def action_build(settings, trees, mtimedb,
sys.exit(0)
mydepgraph.display(mymergelist)
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)))
else: