From: Zac Medico Date: Sun, 1 Jul 2007 20:05:40 +0000 (-0000) Subject: If necessary, resample the leaf nodes so that they include all nodes whose hard deps... X-Git-Tag: v2.2_pre1~1102 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=28b66babaf51fcf4c6db0ef8d5633577e035cebe;p=portage.git If necessary, resample the leaf nodes so that they include all nodes whose hard deps are satisfied. svn path=/main/trunk/; revision=7116 --- 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)