1 |
On 07-09-2012 16:38:15 -0700, Gregory M. Turner wrote: |
2 |
> On 9/7/2012 10:32 AM, Fabian Groffen wrote: |
3 |
> > With the introduction of IMPLICIT_IUSE (scheduled for EAPI 5), a phrase |
4 |
> > has been added to PMS, that finally makes a statement on what's supposed |
5 |
> > to be in IUSE, and what not[2]. To me, this patch means that things like |
6 |
> > userland_BSD, elibc_glibc, etc. do *NOT* belong in IUSE of an |
7 |
> > ebuild/eclass (and hence should be removed). 'prefix', on the other |
8 |
> > hand, should be added to IUSE of those ebuilds/eclasses that use them. |
9 |
> |
10 |
> What, exactly, is the difference -- the principle behind the "should"s |
11 |
> above? USE_EXPAND? Probably more a problem of me being lazy than |
12 |
> anything being wrong with it, but [2] reads like Greek to me. |
13 |
|
14 |
USE_EXPAND - yes. |
15 |
|
16 |
> > For EAPI 5 (assuming it contains IMPLICIT_IUSE) the base profile can be |
17 |
> > enriched with IMPLICIT_IUSE="prefix". |
18 |
> > |
19 |
> > For all currently Council approved EAPIs this means 'prefix' has to be |
20 |
> > added to IUSE. |
21 |
> |
22 |
> I haven't looked into IMPLICIT_IUSE too carefully, but ... shouldn't |
23 |
> this be... implicit? Sorry, I'm being super lazy and not reading |
24 |
> anything here. |
25 |
|
26 |
The idea here is that the package manager knows in advance which |
27 |
USE-flags are valid for the ebuild. I called that 'defined' lateron in |
28 |
this mail. |
29 |
Normally, if you use a USE-flag, you add them to IUSE of the ebuild. |
30 |
However, some USE-flags have been considered too general to put them in |
31 |
there in the past. |
32 |
Most of those are arch-related, keyword, userland_*, etc. IMPLICIT_IUSE |
33 |
is meant to accomodate this case for ordinary USE-flags, like 'prefix'. |
34 |
That is, a USE-flag added to IMPLICIT_IUSE is always there, and hence no |
35 |
need to add it to IUSE of the ebuild. This only works for EAPI 5 |
36 |
(assuming it gets accepted), though. |
37 |
|
38 |
> > In case you wonder why this is a problem now, Portage/repoman has a rule |
39 |
> > that USE-flags that are masked in the profiles implicitly are defined. |
40 |
> |
41 |
> Probably making a total ass of myself at this point but... could you |
42 |
> define "defined"? I'm guessing I'd understand how to get flags masked |
43 |
> implicitly if I read the IMPLICIT_IUSE stuff? Or do you mean "are |
44 |
> defined implicitly" (in which case, again, I don't see why we'd need to |
45 |
> make them explicit). |
46 |
|
47 |
There is probably different wording for this, but what I meant was that |
48 |
ebuilds can only use USE-flags that are defined to be used by the |
49 |
ebuild. The latter is done through listing it in IUSE in the ebuild. |
50 |
|
51 |
> > [2] http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=d9040ab3482af5f790368bac5d053bf1cd760ba8;hp=f9f7729c047300e1924ad768a49c660e12c2f906 |
52 |
> |
53 |
> Apologies for these questions -- in my defense, being both lazy and |
54 |
> ignorant puts me at a real disadvantage here :) |
55 |
|
56 |
The real question here is if the dev community agrees on adding 'prefix' |
57 |
conditionally to IUSE in many eclasses and ebuilds. |
58 |
|
59 |
|
60 |
-- |
61 |
Fabian Groffen |
62 |
Gentoo on a different level |