Move medium priority out of ignore_priority_range and handle it separately.
authorZac Medico <zmedico@gentoo.org>
Mon, 2 Jul 2007 01:52:30 +0000 (01:52 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 2 Jul 2007 01:52:30 +0000 (01:52 -0000)
svn path=/main/trunk/; revision=7118

pym/emerge/__init__.py

index 89e718ea75729e34f2c4d7748a06d9121209570b..ac6a2d456932d0ef9f4e78516e7b938d752300d2 100644 (file)
@@ -2096,7 +2096,7 @@ class depgraph(object):
                                        break
                ignore_priority_range = [None]
                ignore_priority_range.extend(
-                       xrange(DepPriority.MIN, DepPriority.MEDIUM + 1))
+                       xrange(DepPriority.MIN, DepPriority.SOFT + 1))
                tree_mode = "--tree" in self.myopts
                while not mygraph.empty():
                        ignore_priority = None
@@ -2138,7 +2138,9 @@ class depgraph(object):
                                                if not selected_nodes:
                                                        # settle for a root node
                                                        selected_nodes = [nodes[0]]
-                               else:
+                       if not nodes:
+                               nodes = get_nodes(ignore_priority=DepPriority.MEDIUM)
+                               if nodes:
                                        """Recursively gather a group of nodes that RDEPEND on
                                        eachother.  This ensures that they are merged as a group
                                        and get their RDEPENDs satisfied as soon as possible."""
@@ -2155,10 +2157,6 @@ 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):