From 7cbd04cd62c8f13ed41e07ff8bc9b7e5d5ac700b Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 12 Dec 2015 22:44:52 -0800 Subject: _dep_check_composite_db._visible: verify that highest_visible matches (bug 567686) If the highest visible match for a package slot does not match the required atom, then do not mask other packages in the same slot. Bug 567686 was triggered when the highest visible match for the package slot did not match the subslot specified by the required atom. X-Gentoo-Bug: 567686 X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=567686 Reported-by: Dennis Schridde Tested-by: Dennis Schridde --- pym/_emerge/depgraph.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 2169b0000..fd2c771be 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -9064,7 +9064,9 @@ class _dep_check_composite_db(dbapi): # Note: highest_visible is not necessarily the real highest # visible, especially when --update is not enabled, so use # < operator instead of !=. - if highest_visible is not None and pkg < highest_visible: + if (highest_visible is not None and pkg < highest_visible + and atom_set.findAtomForPackage(highest_visible, + modified_use=self._depgraph._pkg_use_enabled(highest_visible))): return False elif in_graph != pkg: # Mask choices for packages that would trigger a slot -- cgit v1.2.3-65-gdbad