Fix depgraph.schedulerGraph() to break DepPriority.satisfied attributes
authorZac Medico <zmedico@gentoo.org>
Fri, 21 May 2010 02:31:20 +0000 (19:31 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 21 May 2010 02:31:20 +0000 (19:31 -0700)
which reference installed Package instances.

pym/_emerge/depgraph.py

index a9ef729956537ae1c8d0a8c8b9dd100162b16559..6ed978717cfe9cbe6e6c1c16dfc30ff2d1009a78 100644 (file)
@@ -3303,6 +3303,16 @@ class depgraph(object):
                if self._dynamic_config._scheduler_graph is None:
                        self.altlist()
                self.break_refs(self._dynamic_config._scheduler_graph.order)
+
+               # Break DepPriority.satisfied attributes which reference
+               # installed Package instances.
+               for parents, children, node in \
+                       self._dynamic_config._scheduler_graph.nodes.values():
+                       for priorities in chain(parents.values(), children.values()):
+                               for priority in priorities:
+                                       if priority.satisfied:
+                                               priority.satisfied = True
+
                return self._dynamic_config._scheduler_graph
 
        def break_refs(self, nodes):