Gentoo Archives: gentoo-python

From: Nikolaj Sjujskij <sterkrig@×××××××.com>
To: gentoo-python <gentoo-python@l.g.o>
Cc: Mike Gilbert <floppym@g.o>
Subject: Re: [gentoo-python] python-distutils.eclass vs. python.eclass + distutils.eclass
Date: Fri, 01 Jun 2012 12:42:48
Message-Id: op.we75lbrnh7emz2@verkdatorn.npdb
In Reply to: Re: [gentoo-python] python-distutils.eclass vs. python.eclass + distutils.eclass by Mike Gilbert
Den 2012-05-26 17:33:45 skrev Mike Gilbert <floppym@g.o>:

>> Let's take a "stable" user who updates (`emerge --update --deep >> --newuse >> @world`) his/her system regularly. >> Python 3.3 is released, added to Portage tree and eventually unmasked. >> PYTHON_TARGETS variable is changed to include 3.3. And suddenly `emerge >> --newuse @world` on stable system suggests rebuilding of every package >> using >> new eclass, because new (though disabled) USE-flags was added. And when >> Python 3.3 is keyworded stable, hence bringing new default >> PYTHON_TARGETS, >> user should now rebuild those packages once more, but now, at least, not >> uselessly. > This is why I do my world updates with --changed-use instead of > --newuse. The package manager already has the ability to deal with > such scenarios intelligently, you just have to let it.
Point taken, but --newuse is still "recommended" option (i.e., `--depclean` suggests it and Handbook describes it as well). Whereas '--changed-use' is more or less "spoken lore" among users.
> I did not speak up in the previous thread, but here are some of the > advantages to a use flag based approach (PYTHON_TARGETS): > ...
> Here is how I justify the current default value of PYTHON_TARGETS: Due > to past decisions, python3.2 is installed by default on all amd64 and > x86 systems, so having python3_2 enabled by default makes sense. > However, there are many things do not work in python 3, so the > python2_7 target is a necessity.
Yes, I understand that. It is really the most sensible default in the circumstances. Still, it is a bit clumsy with new installs. It'd be nice if stage3 had PYTHON_TARGETS="python32" (since it's the only Python interpreter installed), while profile had current default. Of course, news item is a must for that kind of thing. Describing new variable, suggesting `--changed-use` instead of `--newuse` etc.