From 5e78bf2dc90b4d04a1bbbd480a26b48fe6716d58 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 4 Aug 2007 22:01:45 +0000 Subject: Make sure that portage always has all of it's RDEPENDs installed first. svn path=/main/trunk/; revision=7572 --- pym/emerge/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py index 6c77bec6f..0a5a603d9 100644 --- a/pym/emerge/__init__.py +++ b/pym/emerge/__init__.py @@ -2194,12 +2194,14 @@ class depgraph(object): circular_blocks = False blocker_deps = None asap_nodes = [] + portage_node = None if reversed: get_nodes = mygraph.root_nodes else: get_nodes = mygraph.leaf_nodes for cpv, node in self.pkg_node_map["/"].iteritems(): if "portage" == portage.catsplit(portage.dep_getkey(cpv))[-1]: + portage_node = node asap_nodes.append(node) break ignore_priority_soft_range = [None] @@ -2260,6 +2262,11 @@ class depgraph(object): return True if node not in mergeable_nodes: return False + if node is portage_node and mygraph.child_nodes(node, + ignore_priority=DepPriority.MEDIUM_SOFT): + # Make sure that portage always has all of it's + # RDEPENDs installed first. + return False selected_nodes.add(node) for child in mygraph.child_nodes(node, ignore_priority=ignore_priority): -- cgit v1.2.3-1-g7c22