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:07:17 +0000 (20:07 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 1 Jul 2007 20:07:17 +0000 (20:07 -0000)
svn path=/main/branches/2.1.2/; revision=7117

bin/emerge

index bf33f583940e23f60a3d239e9a9befdd4a28e8ae..be918406680f94b832eb9be7104ca54a288eb2d3 100755 (executable)
@@ -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)