Gentoo Archives: gentoo-python

From: Mike Gilbert <floppym@g.o>
To: Nikolaj Sjujskij <sterkrig@×××××××.com>
Cc: gentoo-python <gentoo-python@l.g.o>
Subject: Re: [gentoo-python] python-distutils.eclass vs. python.eclass + distutils.eclass
Date: Sat, 26 May 2012 13:33:51
Message-Id: CAJ0EP43mMXZJ1aKAEO9YSNSiexyVkGUk1BL+9sx8qmqOutaNMA@mail.gmail.com
In Reply to: Re: [gentoo-python] python-distutils.eclass vs. python.eclass + distutils.eclass by Nikolaj Sjujskij
1 On Sat, May 26, 2012 at 9:01 AM, Nikolaj Sjujskij <sterkrig@×××××××.com> wrote:
2 >> So I think the second part of this (x.y to x.y+1 transitions, in the
3 >> Python world, are generally relatively smooth) invalidates your point
4 >> in the first part: if the transitions are generally smooth, then yes,
5 >> when Python 3.3 gets stabilized, I want all of my Python packages to
6 >> be available from the 3.3 interpreter.
7 >
8 >  Let's take a "stable" user who updates (`emerge --update --deep --newuse
9 > @world`) his/her system regularly.
10 > Python 3.3 is released, added to Portage tree and eventually unmasked.
11 > PYTHON_TARGETS variable is changed to include 3.3. And suddenly `emerge
12 > --newuse @world` on stable system suggests rebuilding of every package using
13 > new eclass, because new (though disabled) USE-flags was added. And when
14 > Python 3.3 is keyworded stable, hence bringing new default PYTHON_TARGETS,
15 > user should now rebuild those packages once more, but now, at least, not
16 > uselessly.
17 >
18
19 This is why I do my world updates with --changed-use instead of
20 --newuse. The package manager already has the ability to deal with
21 such scenarios intelligently, you just have to let it.
22
23 >  I had written about problems with new eclass a couple of weeks ago here.
24 > Not that anybody cares that now any user not caring about dev-lang/python
25 > explicitly would get Python 2.7 and all his modules compiled twice for no
26 > good reason (except "we can't think out more sensible default for new
27 > eclass"). Whether or not does he *really* need Python 2.x or stable and
28 > included-in-stage3 Python 3.2 suffices for him.
29 >
30
31 I did not speak up in the previous thread, but here are some of the
32 advantages to a use flag based approach (PYTHON_TARGETS):
33
34 - Ability to express proper dependencies on dev-lang/python and
35 between python packages.
36 - Makes python-updater obsolete (I think).
37 - Better support for binpkgs.
38
39 The disadvantage is that you must maintain another variable in
40 make.conf, or accept the default value that is assigned in the
41 profile.
42
43 Here is how I justify the current default value of PYTHON_TARGETS: Due
44 to past decisions, python3.2 is installed by default on all amd64 and
45 x86 systems, so having python3_2 enabled by default makes sense.
46 However, there are many things do not work in python 3, so the
47 python2_7 target is a necessity.

Replies

Subject Author
Re: [gentoo-python] python-distutils.eclass vs. python.eclass + distutils.eclass Nikolaj Sjujskij <sterkrig@×××××××.com>