Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] RFC: Eclasses and EAPI
Date: Wed, 07 Sep 2016 02:13:10
Message-Id: CAGfcS_mLnCfQ-tW9J8BwseDPCF50H1+qtqbgpNZmeTNk7ufsOQ@mail.gmail.com
In Reply to: Re: [gentoo-dev] RFC: Eclasses and EAPI by Erik Mackdanz
1 On Tue, Sep 6, 2016 at 9:02 PM, Erik Mackdanz <stasibear@g.o> wrote:
2 > Kristian Fiskerstrand <k_f@g.o> writes:
3 >> inherited eclasses. having a whitelist in place and die if eclass is not
4 >> updated to handle it solves it.
5 >>
6 >> Thoughts? comments? cookies? threats?
7 >
8 > Wouldn't a blacklist be more practical than a whitelist?
9 >
10 > root# cat /usr/portage/profiles/eclass.eapi.mask
11 >
12 > fooutils.eclass >=6
13 >
14 > The problem seems infrequent enough that a blacklist is sufficient, like
15 > all the *.mask files in /usr/portage/profiles.
16 >
17 > The whitelist places a large testing burden on eclass authors on each
18 > EAPI bump, where 99% of the time there won't be any issue to fix.
19
20 A few things:
21
22 1. Your syntax assumes that EAPIs are ordered (I'll let the
23 mathematicians go on about set theory). Nothing about PMS requires
24 this, the next one could be "2B," or "Fred," or "😁." (Apologies on
25 the last one if it doesn't come through, as I have no idea how UTF-8
26 safe email actually is.) I don't think it is likely, but I know
27 somebody else will point it out if I don't.
28 2. I think that requiring eclasses to be reviewed before use on a new
29 EAPI is a feature, and not a bug. It is a trivial update if it is
30 fine, and depending on the nature of the eclass it might be trivial to
31 determine if there will be a problem. If it isn't trivial to
32 determine if there is a problem, it is probably even more important
33 that it be reviewed.
34 3. The whole problem driving this is people using EAPIs with eclasses
35 without realizing they fail in subtle ways. If they're unmaintained,
36 this is even more likely to happen, and all the more reason to expose
37 the problem. It is better to expose problems during design than at
38 runtime.
39 4. EAPIs seem to come out about every other year right now. Is it
40 really THAT hard to keep up with them? And eclasses which fall behind
41 should probably be candidates for treecleaning anyway.
42
43 --
44 Rich