Gentoo Archives: gentoo-dev

From: Thomas de Grenier de Latour <degrenier@×××××××××××.fr>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Duplicated entries in use.desc and use.local.desc
Date: Mon, 13 Feb 2006 10:31:07
Message-Id: 20060213112923.7fe6722f@eusebe
In Reply to: [gentoo-dev] Re: Duplicated entries in use.desc and use.local.desc by R Hill
1 Le Sun, 12 Feb 2006 21:39:22 -0600,
2 R Hill <dirtyepic.sk@×××××.com> a écrit :
3
4 > TGL did some work on this under bug #84884, though his changes are
5 > more invasive than what i had in mind. I don't see the need for
6 > portage to dig through use.*desc when euse already works and equery
7 > can pretty easily be made to.
8
9 If this "special" USE descriptions (the one in use.local.desc when the
10 flag is also global) are allowed, then it's in "emerge -pv" output
11 that displaying them is the most useful. Nobody wants to manually call
12 euses for each package he's about to emerge/update just in case one of
13 the well known flags they use has a special description. That's
14 something that should simply come to his attention when it's the case,
15 it's much easier this way.
16
17 IIRC, the behavior of my patch was that when the "--use-desc-special"
18 option was used, and some packages/flags in the list had special
19 descriptions, the relevant informations were displayed at the end of
20 the usual output:
21
22 % emerge -puvD --use-desc-special world
23 ...
24 [ebuild U ] net-ftp/pure-ftpd-1.0.20-r2 -caps -ldap mysql pam
25 -postgres ssl -vchroot
26 [ebuild U ] ...
27 ...
28 These USE flags have a package-specific description:
29 pure-ftpd:mysql - Allow storing accounts infos in a MySQL DB
30 ...
31
32 Note that this patch doesn't makes portage diging through use.*desc when
33 this option is not used.
34
35 As for the two other patches (repoman and equery), it was just some code
36 cleanup (remove their own duplicate implementation of use*.desc parsers,
37 to replace it with some shared code).
38
39 > Anyways I just like anything that makes use.desc more useful than
40 >
41 > foo - adds support for foo
42
43 In many cases, you just can't give a better description for a global
44 flag, because it has two much different purposes depending on the
45 context (the package using it).
46
47 Take the "mysql" flag, i think it's a typical example of global flag
48 with different meanings: many users will enable it thinking of the PHP
49 bindings, whereas they don't care about using a MySQL DB to store
50 their FTP accounts or their music collection metadatas.
51
52 Or even take some less widely used flags, like "sqlite3"; on just six
53 packages using it, it can be:
54 - add sqlite support (which happens to be v3 only)
55 - add support for sqlite3 (may be in addition to the v2 controlled by
56 the "sqlite" flag)
57 - use sqlite3 for backend (but v2 has priority if "sqlite" is enabled)
58 - use sqlite3 for backend (and die if "sqlite" is enabled too)
59 Again, the global description ("Adds support for sqlite3") is vague
60 enough to seem ~correct in all cases, but actually gives no clue about
61 what turning on the flag means.
62
63 --
64 TGL.
65 --
66 gentoo-dev@g.o mailing list