From d0a1b8bb01dece5fc18a6753ca9cda099b100deb Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 15 Nov 2008 21:14:02 +0000 Subject: Inside depgraph._add_pkg(), handle the case where multiple different instances of the same version (typically one installed and another not yet installed) have been pulled into the graph due to a USE dependency. The "slot collision" display is not helpful in a case like this, so display it as an unsatisfied dependency. Thanks to Peter Volkov for reporting. svn path=/main/trunk/; revision=11954 --- pym/_emerge/__init__.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 71fa4378d..23ca11fb6 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -4589,6 +4589,20 @@ class depgraph(object): priority=priority) return 1 else: + + if pkg.cpv == existing_node.cpv and \ + dep.atom is not None and \ + dep.atom.use: + # Multiple different instances of the same version + # (typically one installed and another not yet + # installed) have been pulled into the graph due + # to a USE dependency. The "slot collision" display + # is not helpful in a case like this, so display it + # as an unsatisfied dependency. + self._unsatisfied_deps_for_display.append( + ((dep.root, dep.atom), {"myparent":dep.parent})) + return 0 + if pkg in self._slot_collision_nodes: return 1 # A slot collision has occurred. Sometimes this coincides -- cgit v1.2.3-1-g7c22