summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/emerge6
1 files changed, 6 insertions, 0 deletions
diff --git a/bin/emerge b/bin/emerge
index bf33f5839..be9184066 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -2124,6 +2124,10 @@ class depgraph:
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):
@@ -2151,6 +2155,8 @@ class depgraph:
for child in medium_soft:
if child in selected_nodes:
continue
+ if child in asap_nodes:
+ continue
# TODO: Try harder to make these nodes get
# merged absolutely as soon as possible.
asap_nodes.append(child)