1 |
On Tue, 18 Dec 2007 10:36:30 +0100 |
2 |
Fabian Groffen <grobian@g.o> wrote: |
3 |
> On 18-12-2007 00:39:38 +0000, Ciaran McCreesh wrote: |
4 |
> > An EAPI is not limited to a numeric name. We could call the next |
5 |
> > EAPI "cabbage" if we wanted to. There're already various |
6 |
> > experimental EAPIs that don't use pure numbers (for example, |
7 |
> > "paludis-1"). |
8 |
> > |
9 |
> > (Sometimes I think the next EAPI *should* be called "cabbage", if |
10 |
> > only because it'll help disabuse people of the notion that EAPIs are |
11 |
> > orderable...) |
12 |
> |
13 |
> While I feel there has been given little to no attention to what |
14 |
> EAPI's really are and how they relate to each other, I prefer to go |
15 |
> this route myself as well. The EAPI "name" should represent the |
16 |
> feature(s) it adds. |
17 |
|
18 |
EAPIs don't correspond to features either though. |
19 |
|
20 |
> However, because "features" need not to include previous ones (why |
21 |
> would they?), in the Prefix branch of Portage I implemented EAPI to |
22 |
> be a space separated list. I merely did this because EAPI=1 ebuilds |
23 |
> needed to be tagged as such in an EAPI="prefix" ebuild, and the |
24 |
> features EAPI="prefix" adds are ortogonal on the features EAPI=0 or |
25 |
> EAPI=1 ... provides. As a result I now have EAPI="prefix 1" ebuilds. |
26 |
> |
27 |
> Since you seem to argue here that EAPIs are not orderable, I get the |
28 |
> impression you imply these "combinations" of EAPIs to be desirable. |
29 |
> In that case, what would the extension of the ebuild be like? |
30 |
|
31 |
Combinations of features and rules is desirable. An EAPI can be thought |
32 |
of as a collection of said features and rules (and that's how EAPIs are |
33 |
worded in PMS, and largely how they're implemented in Paludis). But |
34 |
developers shouldn't really be picking and choosing at that level |
35 |
themselves -- adding new EAPIs that merely add one thing to a previous |
36 |
EAPI (as 1 did to 0) is cheap. |
37 |
|
38 |
Plus, we're back to the whole combination issue raised with eclasses. |
39 |
There's no guarantee that features from different EAPIs can be combined |
40 |
in any sensible way. For example (and I hope this doesn't happen...) |
41 |
EAPI 2 might add a new IDEPEND variable, and then EAPI 3 might replace |
42 |
*DEPEND with the single DEPENDENCIES + labels. You couldn't then say |
43 |
that you want both IDEPEND and DEPENDENCIES, since they're largely |
44 |
mutually incompatible. |
45 |
|
46 |
-- |
47 |
Ciaran McCreesh |