commit: 7cbd04cd62c8f13ed41e07ff8bc9b7e5d5ac700b Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Sun Dec 13 06:44:52 2015 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Sun Dec 13 23:37:47 2015 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=7cbd04cd
_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 <devurandom <AT> gmx.net> Tested-by: Dennis Schridde <devurandom <AT> gmx.net> 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 2169b00..fd2c771 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
