On Friday 27 April 2012 03:30:43 Zac Medico wrote:
> On 04/26/2012 11:48 PM, Zac Medico wrote:
> > On 04/26/2012 11:28 PM, Mike Frysinger wrote:
> >> On Friday 27 April 2012 00:43:15 Jonathan Callen wrote:
> >>> On 04/26/2012 06:03 PM, Andreas K. Huettel wrote:
> >>>> I'd like to suggest we introduce the following very useful
> >>>> feature, as soon as possible (which likely means in the next
> >>>> EAPI?):
> >>>> 
> >>>> * two new files in profile directories supported,
> >>>> package.use.stable.mask and package.use.stable.force * syntax is
> >>>> identical to package.use.mask and package.use.force * meaning is
> >>>> identical to package.use.mask and package.use.force, except that
> >>>> the resulting rules are ONLY applied iff a stable keyword is in
> >>>> use
> >>> 
> >>> As "a stable keyword is in use" is either ambiguous or outright wrong
> >>> (depending on exactly what was meant by that), I would propose that
> >>> one of the following cases replace that:
> >>> 
> >>> * At least one keyword beginning with "~" or the value "**" is in the
> >>> global ACCEPT_KEYWORDS.
> >>> * At least one keyword beginning with "~" or the value "**" is in the
> >>> ACCEPT_KEYWORDS used for the package in question.
> >>> 
> >>> This is required because on a typical ~amd64 system, the effective
> >>> value of ACCEPT_KEYWORDS is "amd64 ~amd64" -- which would be covered
> >>> under "a stable keyword is in use" (the same applies for other arches
> >>> as well).
> >> 
> >> i don't think that wording is correct and misses the point.  simple
> >> example of how this should work:
> >> 
> >> if package.use.stable.force has:
> >>    cat/pkg foo
> >> 
> >> and then cat/pkg/pkg-0.ebuild has:
> >>    KEYWORDS="~amd64 x86"
> >> 
> >> the forcing of "foo" would apply to people who are ARCH=x86 (regardless
> >> of their ACCEPT_KEYWORDS containing ~x86), but not apply to people who
> >> are ARCH=amd64.  once the ebuild changes to KEYWORDS="amd64 x86", then
> >> it would apply to both.
> >> 
> >> i.e. the keyword matching is to the ebuild, not to the user's
> >> ACCEPT_KEYWORDS.
> > 
> > That makes sense in the context of trying to keep repoman from
> > complaining. Since repoman complains about stable keywords for packages
> > with unstable dependencies, package.use.stable.{force,mask} will serve
> > to mask off conditional dependencies that would otherwise trigger
> > *DEPEND.bad complaints from repoman.
> 
> Actually, I don't think the specification should involve ARCH. In order
> to determine whether package.use.stable.{force,mask} apply, I would
> intersect KEYWORDS with ACCEPT_KEYWORDS, and apply
> package.use.stable.{force,mask} if this intersection contains only
> stable keywords. So, I think that I mostly agree with Jonathan's
> statements, though I describe the behavior slightly differently than how
> he did.

wrt repoman, it doesn't know anything about ACCEPT_KEYWORDS

as for intersection, i don't think that works.  if my make.conf is:
        ACCEPT_KEYWORDS="amd64 ~amd64"
and i emerge a package that has:
        KEYWORDS="~amd64"

package.use.stable should not apply to this package.  it should only apply if 
it had:
        KEYWORDS="amd64"
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to