Gentoo Archives: gentoo-dev

From: Maurice van der Pot <griffon26@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] GLEP 29 (USE Flag Grouping) with -@GROUP goodness
Date: Sun, 24 Oct 2004 19:46:14
Message-Id: 20041024194607.GG7905@kfk4ever.com
In Reply to: Re: [gentoo-dev] GLEP 29 (USE Flag Grouping) with -@GROUP goodness by Ciaran McCreesh
1 On Sun, Oct 24, 2004 at 06:10:12PM +0100, Ciaran McCreesh wrote:
2 > On Sun, 24 Oct 2004 18:31:19 +0200 Maurice van der Pot
3 > | Whether a use flag is specifically turned off for a group or it is
4 > | just not present in the group should make no difference for the
5 > | meaning of GROUP. The same holds for -@GROUP. In other words, -use and
6 > | -@GROUP should only be used in the definition of a group to filter
7 > | flags out.
8 > |
9 > | Assume MYGNOME="@GNOME -gtk", then USE="... -@MYGNOME ..." should
10 > | *not* be equivalent to USE="... -@GNOME gtk ...", instead it should
11 > | not influence the state of gtk at all.
12 >
13 > Interesting idea. This then brings us back to one of the original
14 > objections, which was that there should be some way to turn off flags
15 > from within a group. Only way to do that would be to introduce yet
16 > another modifier, which is inconsistent with the rest of portage and
17 > will confuse the heck out of anyone who hasn't studied set theory...
18
19 I just now read the comments to the previous edition. I should've done
20 that sooner.
21
22 What I see is that people want to be able to use -@GROUP, which is perfectly
23 understandable. The actual behaviour of -@GROUP in my proposal is imho quite
24 a bit more intuitive. It wouldn't have to be discouraged.
25
26 I also read that some people only saw the need for negative use flags in
27 case the use flags themselves are expressed as a negation (nojoystick).
28 I haven't been involved enough with these things to see if there really
29 is a good reason to have those kinds of use flags at all.
30 If there isn't, then the definition that I prefer for -flag is "exclude flag
31 from this group" and that is both sufficient and easily understandable.
32
33 The people who do not understand the exact meaning of all this would
34 still be able to use -@GROUP in their use flags and it would work as
35 they would expect.
36
37 > | I would specify it like this:
38 > |
39 > | KDE $X kde qt -gtk -gnome
40 > | GNOME $X gtk gtk2 gnome -kde -qt
41 > |
42 > | USE="@KDE @GNOME"
43 > |
44 > | That would result in:
45 > | USE="X kde qt gtk gtk2 gnome"
46 > |
47 > | Exactly what the user wants.
48 >
49 > Hm. Although, I don't think "I want KDE" should imply "I don't want
50 > GNOME" anyway...
51
52 Right. It's just that even with screwy group definitions, there's still
53 a good chance that the result is fine. It's easier to debug if the -flags
54 don't carry over to other groups.
55
56 It should be reasonably simple to write an interpreter for these flags
57 and groups. Unfortunately I don't know python, but I'd be willing to
58 make an implementation in C or something if that would help.
59
60 Can anyone see any disadvantages of this method?
61 Let me know what you think.
62
63 Maurice.
64
65 --
66 Maurice van der Pot
67
68 Gentoo Linux Developer griffon26@g.o http://www.gentoo.org
69 Creator of BiteMe! griffon26@××××××××.com http://www.kfk4ever.com