1 |
On Thu, Sep 07, 2006 at 09:32:04AM -0700, Zac Medico wrote: |
2 |
> Simon Stelling wrote: |
3 |
> > repo-level profile, we move parts of the EAPI out into the tree, which |
4 |
> > is a bad idea because we are unable to support multiple versions. As the |
5 |
> > EAPI needed for the ebuild is unknown when sourcing |
6 |
> > install-helpers.eclass, we're actually forced into using that one and |
7 |
> > only version, which is quite limiting. |
8 |
> |
9 |
> Well, if the metadata generation step is viewed as being separate from the rest, |
10 |
> and the helpers aren't needed during that step, then it's possible to get the |
11 |
> EAPI from the ebuild without the helpers being in the environment. Once the |
12 |
> EAPI is known, the package manager can use that to determine what else (if |
13 |
> anthing) needs to be added to the environment. Then you'd only need a way to |
14 |
> tell the package manager which EAPI levels the functions in your |
15 |
> install-helpers.eclass (or whatever) apply to. |
16 |
> |
17 |
> > So, the correct way to do it is to define an EAPI=1 that does no longer |
18 |
> > include these helper functions and make the eclasses/ebuilds that use it |
19 |
> > inherit the eclass manually. However, this will need to run through -dev |
20 |
> > and I'm afraid the ebuild devs wouldn't like it at all :-/ |
21 |
> |
22 |
> They won't like it because it's expected that EAPI will provide the necessary |
23 |
> information. Why should they have to inherit some special eclass if it's |
24 |
> already implied by the EAPI that they've specified? |
25 |
|
26 |
Blubb left out the real kicker. |
27 |
|
28 |
Make this change, and it means that all overlays that can function as |
29 |
standalone, must bundle the eapi helpers themselves. |
30 |
|
31 |
This is ignoring the potential fun of an overlay that redefines an |
32 |
eapi locked function. |
33 |
|
34 |
Understand initial intention of wanting to make the scripts usable by |
35 |
all pkg managers (pushed this myself shortly after I became a portage |
36 |
dev), but the |
37 |
A) requirement of trying to keep helper functionality exactly in sync |
38 |
per tree, |
39 |
B) fragmentation this implicitly enables |
40 |
isn't good. |
41 |
~harring |