summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-08-15 20:32:10 +0000
committerZac Medico <zmedico@gentoo.org>2007-08-15 20:32:10 +0000
commitafbd509b5bd2d7d3cba78034bccad254619672d8 (patch)
tree913f94309465c2e45a72697b163649fe406c9ca2 /bin/emerge
parentMake config updates get counted correctly for bug #187741. (branches/2.1.2 r7... (diff)
downloadportage-multirepo-afbd509b5bd2d7d3cba78034bccad254619672d8.tar.gz
portage-multirepo-afbd509b5bd2d7d3cba78034bccad254619672d8.tar.bz2
portage-multirepo-afbd509b5bd2d7d3cba78034bccad254619672d8.zip
Make sure that portage always has all of it's RDEPENDs installed first. (branches/2.1.2 r7572:7575)
svn path=/main/branches/2.1.2.9/; revision=7614
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge7
1 files changed, 7 insertions, 0 deletions
diff --git a/bin/emerge b/bin/emerge
index e495ea4e..0543338d 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -2017,12 +2017,14 @@ class depgraph:
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]
@@ -2083,6 +2085,11 @@ class depgraph:
return True
if node not in mergeable_nodes:
return False
+ if node == 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):