Gentoo Archives: gentoo-dev

From: Alexis Ballier <aballier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: [PATCH] sys-devel/autoconf: Convert from eblits into an eclass, #586424
Date: Tue, 21 Mar 2017 09:17:48
Message-Id: 20170321101732.752c546d@gentoo.org
In Reply to: Re: [gentoo-dev] Re: [PATCH] sys-devel/autoconf: Convert from eblits into an eclass, #586424 by Kristian Fiskerstrand
1 On Tue, 21 Mar 2017 09:43:37 +0100
2 Kristian Fiskerstrand <k_f@g.o> wrote:
3
4 > On 03/21/2017 09:28 AM, Joshua Kinard wrote:
5 > > In general, the concept of code-sharing common blocks of logic
6 > > between multiple ebuilds in a specific package directory that is
7 > > not a top-level eclass is not entirely without merit. But the only
8 > > way this idea can be realized in a suitable manner and be used by
9 > > far more consumers than today's eblits are, is to either find and
10 > > finish the old elibs GLEP or start one over from scratch, submit
11 > > whatever needs submitting via patches to at least PMS and Portage,
12 > > work through whatever processes are required for approval, and then
13 > > deploy it in the next EAPI.
14 > >
15 > > If anyone is game for working something up or discussing further,
16 > > let me know.
17 >
18 > I personally fail to see good reasons to have a separate approach for
19 > this instead of putting it in the eclass framework. However this might
20 > simply mean I'm missing something in the discussion.
21
22 Technically there's 0 difference: you can very well name your elibs
23 "${CAT}-${PN}-${VERSION}.eclass" and use the eclass mechanism.
24
25
26 > Before restarting such a GLEP process; maybe a simple pros and cons
27 > list of comparison of the future eblit use and existing eclass
28 > structure could be helpful? (along with more description of the
29 > differences)
30
31 I'll skip the eblit vs nothing comparison.
32
33 (up to discussion ofc)
34
35 Pros for eblits vs the above eclasses:
36 - Let eclass/, which is a toplevel directory, be a place for code
37 useful to several packages, not a random dump of whatever people want
38 to share between ebuilds of the same package (yes, I'm looking at
39 you toolchain or apache2.eclass :) ).
40 - Eblits being in package directory, repoman checks can be extended to
41 look there.
42 - Have a guarantee that eblits are specific to a single package and
43 cannot "leak" to others by mistake: It greatly simplifies changing
44 and updating them.
45 - Eblits can be versionned, just the same as ebuilds or eclasses, but
46 old versions have a life expectancy more of the order of an ebuild
47 than that of an eclass. "Newborn" eblits would be expected to be
48 much more frequent than eclasses but less frequent than ebuilds.
49 - Eblits being per-package they'd obey to package rules, not eclass
50 rules wrt additions, removals, api-preservation, etc.
51
52 Cons:
53 - Need a new, somewhat redundant, mechanism.
54 - Can be done without new EAPI but is then restricted to src_* phases.
55 - Very few consumers at the moment (though, considering the current
56 crusade that's not really a relevant metric to me).

Replies