From: Zac Medico Date: Sat, 4 Aug 2007 22:01:45 +0000 (-0000) Subject: Make sure that portage always has all of it's RDEPENDs installed first. X-Git-Tag: v2.2_pre1~901 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5e78bf2dc90b4d04a1bbbd480a26b48fe6716d58;p=portage.git Make sure that portage always has all of it's RDEPENDs installed first. svn path=/main/trunk/; revision=7572 --- 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):