From 0421f17a9f6bacf90210ee4fe14d63399cc5e968 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 10 Jan 2007 23:46:57 +0000 Subject: Don't allow slot collision nodes to block other packages since blocker validation is only able to account for one package per slot. svn path=/main/trunk/; revision=5535 --- bin/emerge | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'bin/emerge') diff --git a/bin/emerge b/bin/emerge index ffbb214f7..c7c43f4bd 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1012,6 +1012,9 @@ class depgraph: self.blocker_digraph = digraph() self.blocker_parents = {} self._slot_collision_info = [] + # Slot collision nodes are not allowed to block other packages since + # blocker validation is only able to account for one package per slot. + self._slot_collision_nodes = set() self._altlist_cache = {} self._pprovided_args = [] @@ -1095,7 +1098,8 @@ class depgraph: if mytype == "blocks": if myparent and \ "--buildpkgonly" not in self.myopts and \ - "--nodeps" not in self.myopts: + "--nodeps" not in self.myopts and \ + myparent not in self._slot_collision_nodes: mybigkey[1] = myparent[1] self.blocker_parents.setdefault( tuple(mybigkey), set()).add(myparent) @@ -1189,6 +1193,7 @@ class depgraph: myparents.append(myparent) self._slot_collision_info.append( ((jbigkey, myparents), (existing_node, e_parents))) + self._slot_collision_nodes.add(jbigkey) slot_collision = True if slot_collision: -- cgit v1.2.3-1-g7c22