1 |
Note I inadvertantly cross posted, I was intending on cc'ing |
2 |
council@g.o. |
3 |
|
4 |
As such one final cc to that ml to end this subthread while pulling |
5 |
this back to -dev. |
6 |
|
7 |
|
8 |
On Wed, Mar 31, 2010 at 11:16:22PM +1300, Alistair Bush wrote: |
9 |
> > Hola all- |
10 |
> > |
11 |
> > Comments desired; assuming no significant blowback, I'll be pushing |
12 |
> > this to the council level since eapi4 is annoying feature locked right |
13 |
> |
14 |
> I think this solution is far better, until someone smarter than me tells me |
15 |
> otherwise. |
16 |
> |
17 |
> Don't know whether I like the VALID_USE var name, so please at least think |
18 |
> about something a little better if you can ;). ( I like green, but not too |
19 |
> green if you know what I mean ) |
20 |
> |
21 |
> Will we still have to define the use flags in IUSE? |
22 |
|
23 |
Yes, although if folks have a better proposal that incorporates |
24 |
VALID_USE into IUSE I'm definitely open to it- the original proposal |
25 |
for VALID_USE tried to inline it into IUSE, but it got ugly (hence it |
26 |
mutating it this form). |
27 |
|
28 |
The problem w/ trying to reuse IUSE is the following (sorry, I like |
29 |
lists of assertions)- |
30 |
|
31 |
*) IUSE currently serves as a list of valid USE flags, just that. No |
32 |
repeat specification of a flag (which means the dev in question is |
33 |
unlikely to typo a flag). |
34 |
|
35 |
*) having a single specified list of valid use flags is the basis for |
36 |
doing validation of use flags used in all other metadata. In other |
37 |
words, that list of valid use flags *really* needs to go out of it's |
38 |
way to make human error hard. |
39 |
|
40 |
*) VALID_USE is a set of assertions on the allowed state of USE; IUSE |
41 |
is just a list of flags. Intermixing the two in a way that is still |
42 |
readable is really ugly |
43 |
|
44 |
*) given a library that has optional perl and python bindings |
45 |
(which can be toggled freely, they're standalone flags) I've nfc how |
46 |
one would sanely specify that w/in IUSE while adding VALID_USE |
47 |
semantics. Possibly, you could include use conditionals into IUSE, |
48 |
and treat the () contents as assertions- but that makes adding xor in |
49 |
hard, is rather ugly/hard on the eyes, and violates the DRY (Don't |
50 |
Repeat Yourself) principle from above. |
51 |
|
52 |
Definitely open to counterproposals that address those |
53 |
concerns however... |
54 |
|
55 |
|
56 |
> I'm guessing we can't use IUSE to store this information because of the whole |
57 |
> glep-55 thing. |
58 |
|
59 |
glep-55 is unrelated to this as far as I can tell- if you think |
60 |
otherwise please clarify. |
61 |
|
62 |
Thanks |
63 |
~harring |