summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/emerge/__init__.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py
index 89e718ea7..ac6a2d456 100644
--- a/pym/emerge/__init__.py
+++ b/pym/emerge/__init__.py
@@ -2096,7 +2096,7 @@ class depgraph(object):
break
ignore_priority_range = [None]
ignore_priority_range.extend(
- xrange(DepPriority.MIN, DepPriority.MEDIUM + 1))
+ xrange(DepPriority.MIN, DepPriority.SOFT + 1))
tree_mode = "--tree" in self.myopts
while not mygraph.empty():
ignore_priority = None
@@ -2138,7 +2138,9 @@ class depgraph(object):
if not selected_nodes:
# settle for a root node
selected_nodes = [nodes[0]]
- else:
+ if not nodes:
+ nodes = get_nodes(ignore_priority=DepPriority.MEDIUM)
+ if nodes:
"""Recursively gather a group of nodes that RDEPEND on
eachother. This ensures that they are merged as a group
and get their RDEPENDs satisfied as soon as possible."""
@@ -2155,10 +2157,6 @@ class depgraph(object):
mergeable_nodes, selected_nodes, child):
return False
return True
- # If necessary, resample the leaf nodes so that they
- # include all nodes whose hard deps are satisfied.
- if ignore_priority < DepPriority.MEDIUM:
- nodes = get_nodes(ignore_priority=DepPriority.MEDIUM)
mergeable_nodes = set(nodes)
for ignore_priority in xrange(DepPriority.SOFT,
DepPriority.MEDIUM_SOFT + 1):