1 |
Can't come up with a more descriptive title for this one. The issue is this: |
2 |
|
3 |
There are some global USE flags that allow users to pick alternative |
4 |
methods of implementing the same thing. For example, packages that offer |
5 |
a GUI might do so through the "qt" or "gtk" USE flag. Or audio support, |
6 |
where you can choose "alsa" or "pulseaudio". |
7 |
|
8 |
Now, if I wanted to, for example, always choose PulseAudio support |
9 |
instead of ALSA and a Qt GUI instead of a Gtk+ one, one would think that |
10 |
I could just do: |
11 |
|
12 |
USE="pulseaudio qt -alsa -gtk" |
13 |
|
14 |
in my make.conf. But, that doesn't work. That's because some packages |
15 |
don't offer an alternative at all. Some package might only support ALSA |
16 |
for audio, and disabling that would lead to the package not offering any |
17 |
audio output at all. Or it might only offer a Gtk+ GUI, not a Qt one, |
18 |
and disabling the "gtk" flag will make the package not building its GUI |
19 |
component at all. |
20 |
|
21 |
So what's needed here, is a way to tell Portage to only disable a global |
22 |
USE flag for packages that also offer another one, specified by the |
23 |
user. Like this pseudo make.conf syntax: |
24 |
|
25 |
USE="pulseaudio pulseaudio?(-alsa) qt qt?(-gtk)" |
26 |
|
27 |
Is something like this already possible? Right now, the only way to |
28 |
painstakingly go through every single package that comes up on an |
29 |
'USE=use_flags_here emerge -pDN @world' and insert them individually |
30 |
into package.use. |
31 |
|
32 |
There should be a proper way of doing this. |