1 |
Joel Konkle-Parker wrote: |
2 |
> |
3 |
>> My suggestion is that the USE flags be overhauled to put some order |
4 |
>> into it. Ideally, this would be done along the lines of Luke-Jr's |
5 |
>> post. Hence, the above should be split into mysql-dev and mysql-user |
6 |
>> or some such. The same could be done with the java USE flag. |
7 |
|
8 |
This reminds me of the Redhat/Mandrake/etc. way of doing things, where |
9 |
you have mysql-dev.rpm, mysql-client.rpm, mysql-server.rpm, |
10 |
mysql-docs.rpm, etc. Does anyone else think exploding the use flags |
11 |
into 5 times as many use flags is going to be a hassle? Sure, it'd be |
12 |
nice when looking at individual cases, as mentioned, but when it comes |
13 |
right down to it my USE "line" in make.conf is already 4 lines long. |
14 |
|
15 |
> I whole-heartedly agree with the premise of "putting some order into |
16 |
> it". I still think part of that needs to be some sort of clear |
17 |
> documentation. 'mozilla +java' is pretty clear, but 'xfree +xml2' just |
18 |
> says to me "why does xfree need xml2, what does it do for it, and what |
19 |
> would happen if I didn't include it?". There needs to be some sort of |
20 |
> clear descriptions (optimally per-package) that allow people to make |
21 |
> informed decisions about which flags to include and which they can |
22 |
> safely discard. |
23 |
|
24 |
It seems to me that a far better approach is the idea of per-package use |
25 |
flags, with some documentation in the package - so that something like |
26 |
``emerge -pvv packagename'' would show me not only which use flags are |
27 |
in effect, but what they do to the package. |
28 |
|
29 |
So, yes to better (i.e. per-package) documentation, but no to exploding |
30 |
use flags 5 or 6 ways each. |
31 |
|
32 |
For documentation, I suggest something like the following: |
33 |
|
34 |
Inside abc-xyz/packagename-1.2.3-r4.ebuild: |
35 |
... |
36 |
IUSE="aaa bbb ccc" |
37 |
|
38 |
WHYIUSE="aaa - gives you aaa client support |
39 |
bbb - gives you bbb server support |
40 |
ccc - makes <package> do strange and unusual things with ccc" |
41 |
... |
42 |
|
43 |
Then, when I, Gentoo User, run: |
44 |
|
45 |
# emerge -pv packagename otherpackage |
46 |
|
47 |
I'll see (nothing new): |
48 |
|
49 |
These are the packages that I would merge, in order: |
50 |
|
51 |
Calculating dependencies ...done! |
52 |
[ebuild N ] abc-xyz/packagename-1.2.3-r4 +aaa -bbb -ccc |
53 |
[ebuild N ] abc-xyz/otherpackage-4.3.2-r1 +gnome -curses +cgi |
54 |
|
55 |
"Ah, that's interesting," I think to myself "I wonder what the cgi use |
56 |
flag does for 'otherpackage'?" So I run: |
57 |
|
58 |
# emerge -pvv packagename otherpackage |
59 |
|
60 |
and I see: |
61 |
|
62 |
These are the packages that I would merge, in order: |
63 |
|
64 |
Calculating dependencies ...done! |
65 |
[ebuild N ] abc-xyz/packagename-1.2.3-r4 +aaa -bbb -ccc |
66 |
aaa - gives you aaa client support |
67 |
bbb - gives you bbb server support |
68 |
ccc - makes packagename do strange and unusual things with ccc" |
69 |
[ebuild N ] abc-xyz/otherpackage-4.3.2-r1 +gnome -curses +cgi |
70 |
gnome - adds gnome control center support |
71 |
curses - adds curses management support |
72 |
cgi - gives you management support via an installed CGI script |
73 |
|
74 |
|
75 |
I think the above would be a VERY useful thing, at least once use flags |
76 |
are sorted out - but the sorting out that needs to happen is making use |
77 |
flags per-package, not to go in the direction of giving every package |
78 |
its own set of use flags. |
79 |
|
80 |
-- |
81 |
|
82 |
-- Jason Rhinelander |
83 |
-- Gossamer Threads, Inc. |
84 |
|
85 |
-- |
86 |
gentoo-dev@g.o mailing list |