diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-08-04 22:01:45 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-08-04 22:01:45 +0000 |
commit | 5e78bf2dc90b4d04a1bbbd480a26b48fe6716d58 (patch) | |
tree | 86a435c23d77b6f1781dbf5024186404d2b37523 | |
parent | 4bb3a36a4d4d6643fde0be113f6ac40447bde78a (diff) | |
download | portage-5e78bf2dc90b4d04a1bbbd480a26b48fe6716d58.tar.gz portage-5e78bf2dc90b4d04a1bbbd480a26b48fe6716d58.tar.bz2 portage-5e78bf2dc90b4d04a1bbbd480a26b48fe6716d58.zip |
Make sure that portage always has all of it's RDEPENDs installed first.
svn path=/main/trunk/; revision=7572
-rw-r--r-- | pym/emerge/__init__.py | 7 |
1 files changed, 7 insertions, 0 deletions
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): |