Gentoo Archives: gentoo-dev

From: Daniel Campbell <zlg@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Changing PMS to Portage Manager Specification
Date: Wed, 16 Aug 2017 20:42:11
Message-Id: 36b2cb35-0c39-2231-8c11-62721a0a2479@gentoo.org
In Reply to: Re: [gentoo-dev] Changing PMS to Portage Manager Specification by "William L. Thomson Jr."
1 On 08/14/2017 03:39 PM, William L. Thomson Jr. wrote:
2 > On Mon, 14 Aug 2017 15:20:26 -0700
3 > Rich Freeman <rich0@g.o> wrote:
4 >
5 >> On Mon, Aug 14, 2017 at 5:26 PM, William L. Thomson Jr.
6 >> <wlt-ml@××××××.com> wrote:
7 >>>
8 >>> Portage supports sets, but the PMS has no mention. Then there is
9 >>> debate on what they are. Creating so much noise it drowns the bug
10 >>> request and makes it invalid. Despite the need still existing, and
11 >>> PMS lacking anything on sets.
12 >>> https://bugs.gentoo.org/show_bug.cgi?id=624300
13 >>>
14 >>> Just the needs I have with portage are stalled, marked as invalid.
15 >>> No discussion for inclusion in PMS. Like documenting sets.
16 >>
17 >> Ah, well, that's the main mystery of this thread solved. Thanks.
18 >
19 > That is the tip of the iceberg, not the main problem itself. I have
20 > never been a fan of EAPI, or the resulting PMS, etc. Having been around
21 > before such existed, I do not believe it has helped Gentoo and in fact
22 > maybe the opposite. Why EAPI 0 stuff is in tree, or very old EAPIs.
23 >
24 > Now becoming more real issues rather than just a dislike of EAPI.
25 >
26 I'm unaware of any other way to introduce progressive changes to an API
27 without literally rewriting every ebuild. Versioned APIs are good APIs,
28 and give developers (both inside and outside Gentoo) something they can
29 depend on and, most importantly, predict. If there was just one EAPI,
30 you'd need to consult git log or some other construct to figure out the
31 API version an ebuild was written against.
32
33 The fact we still have older EAPI ebuilds is one of manpower and
34 (dis)interest. I don't see anyone trying to prevent (or encourage) EAPI
35 upgrading across the tree. Generally, we wait until a package needs a
36 revbump/version bump and/or has serious breakage (and thus needing a
37 rewrite) before bumping EAPI. Some jumps in EAPI, for simple packages,
38 are painless. Others are a nightmare.
39
40 I see no other way to support the 1m+ ebuilds that have been written
41 since Gentoo's inception in an unambiguous, reference-able way. In fact,
42 I'd argue if you don't version your APIs, you're not designing them
43 correctly. APIs *will* change; building a version number into the API
44 ensures the consumers of said API are aware of changes.
45
46 That said, yes, it'd be nice if every ebuild was EAPI 6, but that is a
47 huuuuge amount of work that nobody seems interested in, for questionable
48 gain. The work would just be repeated when the next EAPI is approved.
49 The way it works now is more organic and better representative of the
50 state of Gentoo development, for better or worse.
51
52 It's good to see you taking part in constructive discussions! That's not
53 intended as sarcasm. I mean it. Thanks for taking part.
54
55 ~zlg
56
57 --
58 Daniel Campbell - Gentoo Developer
59 OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net
60 fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6

Attachments

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