Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Is removing old EAPIs worth the churn?
Date: Tue, 06 Mar 2018 13:54:02
Message-Id: 1520344430.1429.11.camel@gentoo.org
In Reply to: [gentoo-dev] Is removing old EAPIs worth the churn? by Matt Turner
1 W dniu pon, 05.03.2018 o godzinie 17∶52 -0800, użytkownik Matt Turner
2 napisał:
3 > EAPI 2 removal bug: https://bugs.gentoo.org/648050
4 >
5 > It seems like tons of churn to update old stable ebuilds to a new
6 > EAPI, just for its own sake. Take https://bugs.gentoo.org/648154 for
7 > example. New ebuild added with EAPI 6 bumped from EAPI 2. Otherwise
8 > functionally identical. Now asking arch teams to retest and
9 > restabilize. Multiply by 100 or more.
10 >
11 > In the end we might get to delete some code from portage or an eclass?
12 > Does this seem worth it?
13
14 Removing any code from package managers is unlikely, so that is not
15 an argument.
16
17 Removing code from eclasses is actually beneficial. Please remember that
18 EAPI changes are not isolated to the PMS, and eclasses also use them to
19 kill deprecated features and make other breaking changes.
20
21 Both PMS and eclasses add new features in new EAPIs. Others have already
22 bought some examples. To examples others have already mentioned you
23 could add new econf options [1]. As a result, bumping EAPI frequently
24 *improves* the quality of the package and sometimes fixes bugs (reported
25 or unreported).
26
27 Most importantly, killing old EAPIs makes Gentoo easier for
28 contributors. You may think it's normal to expect Gentoo developers
29 to know 7 EAPIs and the differences between them. It might be normal for
30 people who are around long enough to see most of them.
31 But e.g. in proxy-maint we don't want to teach people about 7 EAPIs
32 if only 1 or 2 of them are really relevant to what they're doing.
33
34 Finally, old EAPIs are simply more prone to mistakes. When the majority
35 of 'current' Gentoo packages, i.e. the packages Gentoo developers
36 usually touch, use new EAPIs, it is *really easy* to miss that some old
37 package is using an ancient EAPI and start scratching your head why
38 something does not work.
39
40 Killing old EAPIs proactively -- like many other proactive efforts --
41 has the advantage of making the work of others easier. If I end up
42 having to fix a dozen old packages because of some reverse dependency,
43 I'd really find it preferable that someone already did the EAPI bump for
44 me and I wouldn't have to focus at the same time on fixing some issue,
45 bumping EAPI, fixing tests and doing all the other long-overdue
46 maintenance tasks.
47
48 [1]:https://dev.gentoo.org/~ulm/pms/head/pms.html#x1-13700012.3.8
49
50 --
51 Best regards,
52 Michał Górny