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