Apparently, though unproven, at 02:30 on Thursday 19 May 2011, Dale did opine thusly:
> I have a quick question. I sync'd a bit ago and noticed something a bit > odd. Here it is: > > [ebuild U *] sys-apps/portage-2.2.0_alpha34 [2.2.0_alpha33] > USE="(ipc) -build -doc -epydoc -python2 -python3 (-selinux)" > LINGUAS="-pl" 794 kB > > I know portage needs python but check out the USE flags. Both python2 > and python3 are disabled. Shouldn't one of those be enabled? Even > better, shouldn't portage complain a bit about this before emerging? > Thing is, I'm tempted to enable them both. 2.7 is currently being used > but won't 3.1 be used eventually? Should I enable both or just emerge as > is? > > That is the unstable version so if this is a problem, I want to file a > bug before someone else runs into this and ends up with a borked system. The solution, as always, is in the ebuild. But first a clarification: USE flags are NOT some scheme where support will or will not be built, or that other packages will be magically removed somehow. They are programming variables and are used as such. Inside the ebuild, the code looks at the flag and does something with it. Usually it does what you expect: python_dep="python3? ( =dev-lang/python-3* ) !python2? ( !python3? ( build? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 ) ) !build? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 >=dev- lang/python-3 ) ) ) ) python2? ( !python3? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 ) ) )" What that basically comes down to (2nd and 3rd cases swapped for clarity) is: python3 is set = require python-3 python2 is set and python3 is not set = require python-2.6 or python-2.7 python2 is not set python3 is not set = require python-2.6 or python-2.7 Elsewhere is the ebuild you get stuff like this: if use python3; then python_set_active_version 3 elif use python2; then python_set_active_version 2 Which basically means "always set active version to python-2.x regardless of anything else unless USE=python-3, in which case set the active version to python-3. So, no bug here, nothing to see, move along folks. -- alan dot mckinnon at gmail dot com