From ddf4474a32cf924681e69fbfdc263af493b9da9a Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 15 Nov 2008 21:21: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. (trunk r11954) svn path=/main/branches/2.1.6/; revision=11955 --- pym/_emerge/__init__.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'pym/_emerge/__init__.py') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index c1ee71ef0..5b672a853 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -4573,6 +4573,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