diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-11-15 21:21:02 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-11-15 21:21:02 +0000 |
commit | ddf4474a32cf924681e69fbfdc263af493b9da9a (patch) | |
tree | 784f84bfd941e609b2e50a1efb4e444905ccfea8 /pym/_emerge | |
parent | 9f47b473c185c6b4207db6dc8f20cc000af44887 (diff) | |
download | portage-ddf4474a32cf924681e69fbfdc263af493b9da9a.tar.gz portage-ddf4474a32cf924681e69fbfdc263af493b9da9a.tar.bz2 portage-ddf4474a32cf924681e69fbfdc263af493b9da9a.zip |
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 <pva@g.o> for reporting.
(trunk r11954)
svn path=/main/branches/2.1.6/; revision=11955
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/__init__.py | 14 |
1 files changed, 14 insertions, 0 deletions
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 |