1 |
So folks seem to want things both ways. |
2 |
|
3 |
Some people believe that USE_EXPAND'd variables are private: |
4 |
|
5 |
|| I have yet to be enlightened on any merit of USE_EXPAND is so perhaps |
6 |
|| you could explain as to why there should be |
7 |
|| user-configured-yet-undocumented options for ebuilds? More precisely, |
8 |
|| how should they be documented if not via use.desc? |
9 |
| |
10 |
|1. Because for things like LINGUAS, there are arbitrarily many legal |
11 |
|values, and documenting them all and keeping the list up to date would |
12 |
|be extremely difficult. |
13 |
| |
14 |
|2. Because USE_EXPAND is used for special USE things like arch and |
15 |
|userland, and because we undocumented the special arch USE flags |
16 |
|because they're not user settable. |
17 |
|
18 |
That leaves a couple of things, first off, how do users figure out that |
19 |
a particular setting affects an ebuild. If I have no VIDEO_CARDS set, |
20 |
for example, how do I as a user figure out that that the new modular X |
21 |
ebuilds actually use VIDEO_CARDS? |
22 |
|
23 |
Secondly, some USE_EXPAND'd things are user-settable, and some are not. |
24 |
Arguably, some may belong in IUSE, others are just not appropriate ( |
25 |
VIDEO_CARDS and LINGUAS both being rather large and difficult to maintain. |
26 |
|
27 |
The current state of things is that: |
28 |
|
29 |
1. Repoman complains to developers when they use USE_EXPAND in IUSE and |
30 |
there are not entries in use.desc This check for USE_EXPAND'd variables |
31 |
can be turned off, if the community feels that USE_EXPAND should remain |
32 |
undocumented. Or we can commit Diego's patch that reads USE_EXPAND |
33 |
descriptions from $PORTDIR/profiles/desc/USE_EXPAND.desc |
34 |
|
35 |
2. Portage complains about USE_EXPAND flags not in IUSE when they are |
36 |
used, because they are not user settable. This ties into the above, |
37 |
either USE_EXPAND flags modify ebuilds publically (IUSE) or they modify |
38 |
it privately ( no IUSE ). I don't really want to see it both ways, as |
39 |
we then need a constant list of USE_EXPAND flags that are supposed to |
40 |
set off warnings versus those that don't. Or we just kill the warnings |
41 |
for any USE_EXPAND variable, which I hope the QA team will comment on. |
42 |
|
43 |
3. Jason Stubbs has commited code in portage 2.1 to show USE_EXPAND |
44 |
flags in output. I'm not sure who likes or dislikes this, but depending |
45 |
on that outcome of this discussion, that code may need to be modified. |
46 |
|
47 |
|
48 |
Conclusion: |
49 |
|
50 |
Either USE_EXPAND always goes in IUSE, or USE_EXPAND never goes in IUSE. |
51 |
|
52 |
If you want USE_EXPAND that sometimes goes in IUSE and sometimes doesn't |
53 |
you better have a good plan for keeping those lists of proper USE_EXPAND |
54 |
flags and improper flags in sync. I mean I'd love to do it that way, |
55 |
but I'll bet those lists get old and nasty and we will have people |
56 |
complaining about QA warnings that they thought were fixed or that there |
57 |
were no QA warnings when there should have been...etc.. |
58 |
|
59 |
-Other ideas are always welcome; I'd prefer to get this solved soon. |
60 |
|
61 |
-Alec Warner |