Gentoo Archives: gentoo-dev

From: Thomas de Grenier de Latour <degrenier@×××××××××××.fr>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] QA Roles v2
Date: Sat, 04 Mar 2006 13:26:18
Message-Id: 20060304142424.65180a3a@eusebe
In Reply to: Re: [gentoo-dev] QA Roles v2 by Stuart Herbert
1 On Fri, 3 Mar 2006 22:44:22 +0000,
2 "Stuart Herbert" <stuart.herbert@×××××.com> wrote:
3
4 > Unless a user looks inside the ebuild, they're not going to
5 > understand why the USE flags they've selected has resulted in a
6 > package that doesn't actually have those features.
7 ...
8 > This is going to *create* more support, not reduce it.
9
10 The problem here, from a user point of view, is the USE flag usage not
11 matching its description (that's what makes "unexpected" the ebuild
12 behavior). For instance, description says "foo - Enable libfoo",
13 whereas actually the ebuild will only use libfoo if some other "bar" is
14 unset.
15
16 One point of view on this issues is that the ebuilds are wrong, because
17 they are abusing the said USE flags, and they should rather die. Imho,
18 it makes sense, but if such a strict policy was applied to every
19 ebuilds which atm are abusing flags this way, it would become really
20 hard to put anything in the make.conf USE variable without breaking
21 "emerge -uD world".
22 Just take the default flags from x86 profile for instance: both "motif"
23 ("Adds motif support") and "gtk" ("Adds support for x11-libs/gtk+") are
24 enabled, whereas the logic in several packages supporting both is to
25 build the GTK interface when "gtk" is on, and to build a Motif one
26 otherwise, if "motif" is on. Do you think such ebuilds should rather
27 die at compile time, asking the user to make an unconflicting choice?
28 I don't. My package.use is already ~200 lines long for various other
29 reasons, and i really don't want to double its size again just to
30 make my "emerge -uD world" successfully terminating.
31
32 Now, an alternative point of view is that what is wrong is rather the
33 USE flag descriptions. That's exactly what the "package specific USE
34 flag descriptions" proposal, which popups on this list from time to
35 time, is about (sorry, no URL because GMane seems down, but i can post
36 some later if you're interested).
37 The idea (or at least my pov on this idea, but others had different
38 views iirc) is that emerge could display some package-specific flags
39 descriptions in such cases. Using the emerge patch from bug #84884,
40 and with a "use.local.desc" entry for "app-editors/gvim:motif", the
41 user would be warned about what the "motif" flag actualy does (or does
42 not) on this package:
43
44 ---------------
45 % emerge -pv --use-desc-special gvim
46 ...
47 [ebuild R ] app-editors/gvim-6.4 USE="-acl bash-completion cscope
48 gnome gpm gtk motif nls -perl python ruby" 0kB
49 ...
50 The following USE flags have package-specific descriptions:
51 app-editors/gvim
52 motif - Include support for the Motif GUI, but if "gtk" or "gnome"
53 flags are turned on too, in which case they are prefered.
54 ---------------
55
56 This way, nothing unexpected for users, and no complain for devs.
57
58 --
59 TGL.
60 --
61 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] QA Roles v2 Danny van Dyk <kugelfang@g.o>