diff options
-rw-r--r-- | pym/emerge/__init__.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py index 475105672..89e718ea7 100644 --- a/pym/emerge/__init__.py +++ b/pym/emerge/__init__.py @@ -2155,6 +2155,10 @@ 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): @@ -2182,6 +2186,8 @@ class depgraph(object): 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) |