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

Attachment: signature.asc
Description: Digital signature

Reply via email to