If necessary, resample the leaf nodes so that they include all nodes whose hard deps...
authorZac Medico <zmedico@gentoo.org>
Sun, 1 Jul 2007 20:05:40 +0000 (20:05 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 1 Jul 2007 20:05:40 +0000 (20:05 -0000)
svn path=/main/trunk/; revision=7116

pym/emerge/__init__.py

index 4751056728c688b3f7cbc96420f49f59b6b3e6cc..89e718ea75729e34f2c4d7748a06d9121209570b 100644 (file)
@@ -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)