summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-11-02 04:31:28 +0000
committerZac Medico <zmedico@gentoo.org>2007-11-02 04:31:28 +0000
commitab89b48e7643ca72d8ac6fcd60463d536eda11c3 (patch)
tree5091a84e3edf9da538491232bc5a9f6d943ce36e
parent1ae7b74de996df5c1090f63864fb4646506948b5 (diff)
downloadportage-ab89b48e7643ca72d8ac6fcd60463d536eda11c3.tar.gz
portage-ab89b48e7643ca72d8ac6fcd60463d536eda11c3.tar.bz2
portage-ab89b48e7643ca72d8ac6fcd60463d536eda11c3.zip
Fix ignore_priority logic in depgraph.altlist() in order
to handle some cases where it was possible for nodes to be selected without their PDEPENDs being propperly added to the asap_nodes list. svn path=/main/trunk/; revision=8360
-rw-r--r--pym/_emerge/__init__.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index d47739438..0eb66250e 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2810,6 +2810,14 @@ class depgraph(object):
if selected_nodes:
break
+ # If any nodes have been selected here, it's always
+ # possible that anything up to a MEDIUM_SOFT priority
+ # relationship has been ignored. This state is recorded
+ # in ignore_priority so that relevant nodes will be
+ # added to asap_nodes when appropriate.
+ if selected_nodes:
+ ignore_priority = DepPriority.MEDIUM_SOFT
+
if prefer_asap and asap_nodes and not selected_nodes:
# We failed to find any asap nodes to merge, so ignore
# them for the next iteration.