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