$ sudo emerge -av zope-fixers These are the packages that would be merged, in order: Calculating dependencies... done! emerge: there are no ebuilds to satisfy "=dev-lang/python-3.2*". (dependency required by "net-zope/zope-fixers-1.0" [ebuild]) (dependency required by "zope-fixers" [argument])
Dependencies contain: || ( =dev-lang/python-3.2* =dev-lang/python-3.1* ) Portage prints first dependency atom.
Portage should prefer masked version over non-existing one with || ( ) deps then.
To clarify: - =dev-lang/python-3* in /etc/portage/package.mask - dev-lang/python-3.1.2-r3 is in portage - =dev-lang/python-3.2* is not in portage
I guess we could consider this to be a variation of bug 164457, but with the stipulation that existing packages need to be distinguished from those that don't exist.
*** Bug 381821 has been marked as a duplicate of this bug. ***
*** Bug 382551 has been marked as a duplicate of this bug. ***
*** Bug 682044 has been marked as a duplicate of this bug. ***
The depgraph _select_atoms_highest_available method temporarily disables autounmask during atom selection. We want it to loop through the autounmask levels until it selects a satisfiable combination of atoms.
I have a working autounmask patch here, but it needs to be fixed to revert unnecessary autounmask changes when appropriate: https://github.com/gentoo/portage/pull/422