Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Feature request: package.use.stable.mask and package.use.stable.force
Date: Fri, 27 Apr 2012 06:49:32
Message-Id: 4F9A413F.2090009@gentoo.org
In Reply to: Re: [gentoo-dev] Re: Feature request: package.use.stable.mask and package.use.stable.force by Mike Frysinger
1 On 04/26/2012 11:28 PM, Mike Frysinger wrote:
2 > On Friday 27 April 2012 00:43:15 Jonathan Callen wrote:
3 >> On 04/26/2012 06:03 PM, Andreas K. Huettel wrote:
4 >>> I'd like to suggest we introduce the following very useful
5 >>> feature, as soon as possible (which likely means in the next
6 >>> EAPI?):
7 >>>
8 >>> * two new files in profile directories supported,
9 >>> package.use.stable.mask and package.use.stable.force * syntax is
10 >>> identical to package.use.mask and package.use.force * meaning is
11 >>> identical to package.use.mask and package.use.force, except that
12 >>> the resulting rules are ONLY applied iff a stable keyword is in
13 >>> use
14 >>
15 >> As "a stable keyword is in use" is either ambiguous or outright wrong
16 >> (depending on exactly what was meant by that), I would propose that
17 >> one of the following cases replace that:
18 >>
19 >> * At least one keyword beginning with "~" or the value "**" is in the
20 >> global ACCEPT_KEYWORDS.
21 >> * At least one keyword beginning with "~" or the value "**" is in the
22 >> ACCEPT_KEYWORDS used for the package in question.
23 >>
24 >> This is required because on a typical ~amd64 system, the effective
25 >> value of ACCEPT_KEYWORDS is "amd64 ~amd64" -- which would be covered
26 >> under "a stable keyword is in use" (the same applies for other arches
27 >> as well).
28 >
29 > i don't think that wording is correct and misses the point. simple example of
30 > how this should work:
31 >
32 > if package.use.stable.force has:
33 > cat/pkg foo
34 >
35 > and then cat/pkg/pkg-0.ebuild has:
36 > KEYWORDS="~amd64 x86"
37 >
38 > the forcing of "foo" would apply to people who are ARCH=x86 (regardless of
39 > their ACCEPT_KEYWORDS containing ~x86), but not apply to people who are
40 > ARCH=amd64. once the ebuild changes to KEYWORDS="amd64 x86", then it would
41 > apply to both.
42 >
43 > i.e. the keyword matching is to the ebuild, not to the user's ACCEPT_KEYWORDS.
44
45 That makes sense in the context of trying to keep repoman from
46 complaining. Since repoman complains about stable keywords for packages
47 with unstable dependencies, package.use.stable.{force,mask} will serve
48 to mask off conditional dependencies that would otherwise trigger
49 *DEPEND.bad complaints from repoman.
50 --
51 Thanks,
52 Zac

Replies