1 |
Bruno <bonbons67 <at> internet.lu> writes: |
2 |
|
3 |
> |
4 |
> On Monday 10 October 2005 14:53, Chris Gianelloni wrote: |
5 |
> > |
6 |
> > Here's my question... use.local.desc is already package-specific, so why |
7 |
> > would we need yet *another* place to put package-specific definitions? |
8 |
> > Would it not be enough to have use.local.desc overlay on use.desc? If |
9 |
> > package foo uses global USE flag bar in a way different from the |
10 |
> > description in use.desc, then it should list the USE flag in |
11 |
> > use.local.desc with the correct description for that package. |
12 |
> > |
13 |
> The additionnal info about USE flags should not be what is this or that USE |
14 |
> flag used differently for, but rather what *exactly* does the use-flag |
15 |
> influence. What exact features of the program are enabled/disabled/changed by |
16 |
> the given USE flag. |
17 |
> Some USE flags are used to either compile against a lib that's shipped with a |
18 |
> package or with the system version of that lib. Would be useful to know. |
19 |
> |
20 |
> Then there are USE flags like static which are very unprecise. Do they mean |
21 |
> that the program is 100% stand-alone (e.g. does not link against any lib) or |
22 |
> does it have to do with *.a, *.la files being installed, or just reduce the |
23 |
> count of libs linked against... |
24 |
> |
25 |
> In addition, providing the info in the package metadata is cleaner as |
26 |
> information about a given package is in one place, and there is not one file |
27 |
> with 1k lines with many USE flags and their use for each and every package. |
28 |
> |
29 |
> The aim is to allow to know what happens without reading the ebuild AND the |
30 |
> configure script and makefiles of a package. |
31 |
> |
32 |
> Bruno |
33 |
> |
34 |
|
35 |
I agree with the people who say that a USE flag should do the same thing no |
36 |
matter which package it is associated with. But it is true there are instances |
37 |
where a USE flag does something different. Just look at the example about the |
38 |
perl flag on mysql that is noted above. That tells me that maybe that flag on |
39 |
mysql shouldn't be the perl flag, but some other flag pertaining to what those |
40 |
scripts do, not what they are written in. So step one is to make it so a flag |
41 |
always does the same thing no matter what ebuild it is associated with. |
42 |
|
43 |
However, there is a problem that many USE flags are undocumented or difficult to |
44 |
find documentation on. There are lots of flags that are seriously great |
45 |
mysteries to me. Especially with packages like mplayer which has a zillion |
46 |
flags. Also, even though I might know generally what a flag does I wont know |
47 |
specifically how that effects this package. So what I propose is that each flag |
48 |
has a general description in use.desc as they do now. But for each individual |
49 |
ebuild there will be detailed descriptions of each flag the maintainer can put |
50 |
in if they want. So the one sentence summaries of what a flag does will be |
51 |
there, but you can easily access a multi-sentence, detailed, e-build specific |
52 |
description when you are lost. |
53 |
|
54 |
Let's do an example. xscreensaver, mplayer and gdm all respect the xinerama use |
55 |
flag. And it is fair to say that on all of these the flag adds support for |
56 |
xinerama to the package, so changing the use flag is unecessary. However, on |
57 |
mlpayer and on gdm you could be more precise and say that flag adds support for |
58 |
selecting which xinerama screen the program displays on. Whereas with |
59 |
xscreensaver the flag allows you to display multiple instances of the |
60 |
screensaver, one per xinerama screen, as opposed to one instance that spans the |
61 |
entire full screen. |
62 |
|
63 |
I think it's pretty obvious how that more specific information can be helpful to |
64 |
users. I actually know a few people that have xinerama but purposefully don't |
65 |
apply the xinerama flag to xscreensaver because they prefer a single instance of |
66 |
the screensaver stretched out. That sort of documentation is very useful and |
67 |
desperately needed in portage. |
68 |
|
69 |
-- |
70 |
gentoo-dev@g.o mailing list |