Gentoo Archives: gentoo-dev

From: Arfrever Frehtes Taifersar Arahesis <arfrever.fta@×××××.com>
To: Gentoo Development <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Turning eclasses upside down with new EAPIs (the python eclasses)
Date: Wed, 27 Jul 2011 17:08:18
Message-Id: 201107271907.08652.Arfrever.FTA@gmail.com
In Reply to: Re: [gentoo-dev] Turning eclasses upside down with new EAPIs (the python eclasses) by Rafael Goncalves Martins
1 2011-07-27 15:07:54 Rafael Goncalves Martins napisał(a):
2 > On Wed, Jul 27, 2011 at 6:02 AM, Pacho Ramos <pacho@g.o> wrote:
3 > > El mié, 27-07-2011 a las 09:39 +0200, Michał Górny escribió:
4 > >> Hello,
5 > >>
6 > >> As many of us already raged, the Python eclasses are delaying half
7 > >> a year with support of EAPI=4. The reason for that is not actually
8 > >> the lack of time or complexity of needed changes but willingness to use
9 > >> the new EAPI as an excuse to turn the eclass API upside down.
10 > >>
11 > >> The question I'm raising here: should eclasses be actually allowed to
12 > >> do *heavy* changes in their APIs in such cases? Or should the eclass
13 > >> maintainers create a new eclass instead (python-r1.eclass or so)?
14 > >>
15 > >> The main advantage I see in that is that devs are somehow forced
16 > >> to migrate their ebuilds as soon as they bump EAPI in them. Taking
17 > >> a look at a number of ebuilds still using git.eclass (instead of git-2)
18 > >> this is a serious advantage.
19 > >>
20 > >> On the other hand, I find this idea very unclear. Why should two
21 > >> ebuilds use completely different eclass variables just because they're
22 > >> using two different EAPIs? More importantly, why is a dev forced to do
23 > >> the migration in a random point when he/she wants to bump the ebuild
24 > >> EAPI? I'd like to remind you that python eclass is still hard to read
25 > >> for many of us.
26 > >>
27 > >> And why do we have to wait so long to use a new EAPI? We already had to
28 > >> fix a lot of ebuilds when old EAPIs were banned in Python eclasses. We
29 > >> wanted to bump the ebuilds to EAPI 4 then but the eclasses didn't
30 > >> support it. And now it still doesn't come with EAPI 4 support.
31 > >>
32 > >> And keeping two different EAPIs in a single eclass file means probably
33 > >> that older EAPIs are going to be banned at a random point once again.
34 > >> Devs will have to pro-actively migrate their ebuilds, overlays will
35 > >> break and so on. The usual procedure related to eclass removal wouldn't
36 > >> apply.
37 > >>
38 > >> So, don't you think it would be better to simply add EAPI=4 support to
39 > >> python eclass with no changes and start developing the new API in
40 > >> python-r1? Devs could migrate then at any point they want (and have
41 > >> time to!), and when Python team wants to get rid of the old eclass,
42 > >> the usual removal procedure will apply.
43 > >>
44 > >
45 > > About the concrete case of python eclass, per Arfrever's comment in bug
46 > > report related with its eapi4 support, that support is already available
47 > > in overlay, but not yet merged to the tree (probably because of the
48 > > possible upcoming retirement of Arfrever :-/). What is preventing python
49 > > team to merge eclass from overlay?
50 > >
51 >
52 > AFAIK, the EAPI4 support in the overlay is EAPI 4-python, that almost
53 > certainly will never come to gx86, and some guys are trying to port
54 > the functionality to raw EAPI4, IIRC.
55
56 python.eclass from python overlay supports EAPI="4".
57
58 --
59 Arfrever Frehtes Taifersar Arahesis

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies