1 |
On Mon, Aug 02, 2010 at 11:55:07PM +0200, Matti Bickel wrote: |
2 |
> On 08/02/2010 10:15 PM, Ciaran McCreesh wrote: |
3 |
> > Aren't you really after per-package eclasses, not elibs? |
4 |
> |
5 |
> Yes. I don't care whether the snippets may affect metadata. They already |
6 |
> don't (at one time they did, but we got warned that that's illegal - |
7 |
> that's why php-5.3 ebuilds have their metadata folded back into them). |
8 |
> |
9 |
> >> Instead of all the backwards-compatibility issues the GLEP deals with, |
10 |
> >> we could just sneak the implementation into EAPI4 and be done with it. |
11 |
> > |
12 |
> > No, you can't make global scope changes just in an EAPI without |
13 |
> > screwing up user systems. You have to do the whole "wait several years" |
14 |
> > thing for them. |
15 |
|
16 |
While it's been repeated many, many time, this statement is provably |
17 |
false. What _is_ true is that you cannot have new global scope |
18 |
functionality that influences/sets EAPI. That is _accurate_ truth of |
19 |
the matter. |
20 |
|
21 |
If a PM encounters an EAPI it doesn't understand/support, by |
22 |
definition the metadata it tried generating is not usable- the PM |
23 |
doesn't support that new EAPI thus it has zero clue how to |
24 |
generate/store metadata appropriately for that EAPI. |
25 |
|
26 |
Note that since policy forbids EAPI being set in eclasses _anyways_, |
27 |
there isn't a conflict here despite ciaran's claims. |
28 |
|
29 |
If an EAPI adds a new global function that cannot set/influence EAPI, |
30 |
PM's that don't support that EAPI will spit complaints about 'missing |
31 |
command' during sourcing- however the PM will still see the EAPI value |
32 |
is one it knows it doesn't support, and act accordingly. |
33 |
|
34 |
Basically, the only real issue here is that PMs invalidly output |
35 |
stdout/stderr for EAPIs they don't support- this gives the perception |
36 |
that there is an issue, when in reality it's just the PM being |
37 |
slightly user unfriendly. |
38 |
|
39 |
|
40 |
> Bad. So I guess it's back to ferring's "use a new directory not readable |
41 |
> by old PMs" idea. GLEP55++, but having to wait several months for that |
42 |
> and GLEP33 *on top* is not very motivation for me. |
43 |
|
44 |
The reason for a new directory was to enforce a new structuring that |
45 |
was more friendly to changelogs and manifests- due to ECLASSDIR being |
46 |
documented in PMS (and annoyingly eclass-manpagers being the sole |
47 |
consumer of it) adding a new eclasses directory should require a EAPI |
48 |
bump. |
49 |
|
50 |
|
51 |
As for per package eclasses, I'd personally require accessing the |
52 |
package eclass being done via a new inherit function- this avoids some |
53 |
annoying gotchas. That said, I don't see a reason right now that it |
54 |
couldn't be added into an EAPI, per the reasons I laid out earlier in |
55 |
this email. |
56 |
~brian |