summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-05-20 19:31:20 -0700
committerZac Medico <zmedico@gentoo.org>2010-05-20 19:31:20 -0700
commit0066c26a37831f2fb3b1f9857b214ee77ee70b2b (patch)
treec742a38e8f302a7d5f1399b8e19d3325c9d7776e
parent5b55465077a5b65cf7fb4f9995c8389ce24526db (diff)
downloadportage-0066c26a37831f2fb3b1f9857b214ee77ee70b2b.tar.gz
portage-0066c26a37831f2fb3b1f9857b214ee77ee70b2b.tar.bz2
portage-0066c26a37831f2fb3b1f9857b214ee77ee70b2b.zip
Fix depgraph.schedulerGraph() to break DepPriority.satisfied attributes
which reference installed Package instances.
-rw-r--r--pym/_emerge/depgraph.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index a9ef72995..6ed978717 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -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):