From: Zac Medico Date: Mon, 16 Oct 2006 22:25:11 +0000 (-0000) Subject: Fix altlist blocker validation logic so that the correct nodes are added to the list... X-Git-Tag: v2.1.2~621 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=cc792482a3e1517466e3ccb80ae7cadf7e8292fb;p=portage.git 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 --- 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: