1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA512 |
3 |
|
4 |
On 04/27/2012 11:26 AM, Zac Medico wrote: |
5 |
> In order to be practical, I guess we'd have to add a constraint |
6 |
> which says that if KEYWORDS contains the stable variant of a |
7 |
> particular keyword, then it should also be considered to implicitly |
8 |
> contain the unstable variant when the package manager is deciding |
9 |
> whether or not to apply package.use.{mask,force}. |
10 |
> |
11 |
> So, here's a description of the whole algorithm that I'd use: |
12 |
> |
13 |
> 1) Let EFFECTIVE_KEYWORDS equal the set of values contained in |
14 |
> KEYWORDS, plus ** and all the unstable variants of the stable |
15 |
> values contained in KEYWORDS. For example: |
16 |
> |
17 |
> KEYWORDS="~amd64 x86" -> EFFECTIVE_KEYWORDS="~amd64 x86 ** ~x86" |
18 |
> |
19 |
> 2) Intersect EFFECTIVE_KEYWORDS with effective ACCEPT_KEYWORDS, |
20 |
> where effective ACCEPT_KEYWORDS includes any relevant values from |
21 |
> package.accept_keywords. For example, here is a table of |
22 |
> intersections of EFFECTIVE_KEYWORDS="~amd64 x86 ** ~x86" with |
23 |
> various effective ACCEPT_KEYWORDS values: |
24 |
> |
25 |
> ACCEPT_KEYWORDS | INTERSECTION | package.stable |
26 |
> ----------------------------------------------------- x86 |
27 |
> | x86 | yes x86 ~x86 | x86 ~x86 | no ** |
28 |
> | ** | no amd64 ~amd64 | ~amd64 | no |
29 |
> |
30 |
> 3) Apply package.stable settings if INTERSECTION contains only |
31 |
> stable keywords. For example, see the package.stable column in the |
32 |
> table above. |
33 |
|
34 |
This algorithm better matches what I meant in my earlier posting, so |
35 |
+1 from me. (And if anyone has an ACCEPT_KEYWORDS value of "~amd64 |
36 |
- -amd64", they deserve any issues that may arise). |
37 |
|
38 |
The only issue I have with it is that EFFECTIVE_KEYWORDS should be |
39 |
expanded to contain "*" if any stable keyword is present and "~*" if |
40 |
any unstable keyword is present (or "*" and "~*" in ACCEPT_KEYWORDS |
41 |
should be pre-expanded). |
42 |
- -- |
43 |
Jonathan Callen |
44 |
-----BEGIN PGP SIGNATURE----- |
45 |
Version: GnuPG v2.0.19 (GNU/Linux) |
46 |
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ |
47 |
|
48 |
iQIcBAEBCgAGBQJPmvKPAAoJELHSF2kinlg43ZgP/1F++FzGzmUZxy+2enHeCIRb |
49 |
47y4hFxZG18ulWijr0qEJTizDGCxE8RCBfanM4I1G4qSdy0Eyg+6yIdT+B1FRZ1F |
50 |
Wp5p/CPPX/AfxgJ+LTTmY5V3f8AWrk1MfX4sGoy+0DGzgMB+Z87M6f10wAWcLIV5 |
51 |
RHd3591kyL5AOifaaM53/tgFcjvXECz+DfbDaVFaD1XjnSkEsu6aV6k1xaVqGGfF |
52 |
pK3Dqo672XUKR1laFODYEkknO0JlR8EcU8De4pkdgj8ffbf0g2uVXbpTCEgd+w4I |
53 |
0eEd+LNVDAnTQntMuSETK5ysfYIVOPOmo1KoaR5XSFVsNL8UzjUKY1Yx7owXrm+N |
54 |
2OR+2JtdCnjkTveZZbP/Y8M74wiZeptOsgK5PxN+C/3vLWJ0LMrxIsWMugc0Oihv |
55 |
3ddk1/WQolBtA8+DDBY+mOrJuKa5R7eqLAJQVmFLyDVLGu2dTCO26TaT7IKWnN8J |
56 |
Kw0RqscOFd93RcsfpgKwM2ij+8N+QlGgvK4qBwR9MAIEEQAPtx5Rxi6dxly/b/7h |
57 |
6jC2Yt8UqVOCloQ4vjoopIqA7QYGk3JS+yp27HAVR+cXDX1OWntEU+LeVlmm27k9 |
58 |
vuEBRXosD9DpYCQ7OCQOzYa5TefgVs76TY/ygSgpkHlzcCbZ5iRwholKuOuKSvyd |
59 |
mRi9g8/nctJXFkHn17GV |
60 |
=LYAv |
61 |
-----END PGP SIGNATURE----- |