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
1 Den 2012-05-26 17:33:45 skrev Mike Gilbert <floppym@g.o>:
2
3 >> Let's take a "stable" user who updates (`emerge --update --deep
4 >> --newuse
5 >> @world`) his/her system regularly.
6 >> Python 3.3 is released, added to Portage tree and eventually unmasked.
7 >> PYTHON_TARGETS variable is changed to include 3.3. And suddenly `emerge
8 >> --newuse @world` on stable system suggests rebuilding of every package
9 >> using
10 >> new eclass, because new (though disabled) USE-flags was added. And when
11 >> Python 3.3 is keyworded stable, hence bringing new default
12 >> PYTHON_TARGETS,
13 >> user should now rebuild those packages once more, but now, at least, not
14 >> uselessly.
15 > This is why I do my world updates with --changed-use instead of
16 > --newuse. The package manager already has the ability to deal with
17 > such scenarios intelligently, you just have to let it.
18 Point taken, but --newuse is still "recommended" option (i.e.,
19 `--depclean` suggests it and Handbook describes it as well). Whereas
20 '--changed-use' is more or less "spoken lore" among users.
21
22 > I did not speak up in the previous thread, but here are some of the
23 > advantages to a use flag based approach (PYTHON_TARGETS):
24 > ...
25 Agreed.
26
27 > Here is how I justify the current default value of PYTHON_TARGETS: Due
28 > to past decisions, python3.2 is installed by default on all amd64 and
29 > x86 systems, so having python3_2 enabled by default makes sense.
30 > However, there are many things do not work in python 3, so the
31 > python2_7 target is a necessity.
32 Yes, I understand that. It is really the most sensible default in the
33 circumstances.
34 Still, it is a bit clumsy with new installs. It'd be nice if stage3 had
35 PYTHON_TARGETS="python32" (since it's the only Python interpreter
36 installed), while profile had current default.
37 Of course, news item is a must for that kind of thing. Describing new
38 variable, suggesting `--changed-use` instead of `--newuse` etc.