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). |