1 |
On Mon, 14 Feb 2011 14:33:52 +0100 |
2 |
Pacho Ramos <pacho@g.o> wrote: |
3 |
> > You should be able to -* them out... -* is fine (assuming Portage |
4 |
> > handles it) since we know what the null set is; it's just * that's |
5 |
> > the problem. |
6 |
> |
7 |
> Yeah, portage handles it, but thought -* also had the same problem, |
8 |
> thanks for clarifying, anyway, latest approach on only enable ptp2 by |
9 |
> default looks fine for me |
10 |
|
11 |
No, -* is fine, so long as Portage doesn't pass it through literally. |
12 |
|
13 |
The problem, specifically, is that things like this are totally legal |
14 |
and are done by some packages: |
15 |
|
16 |
IUSE="linguas_en linguas_fr" |
17 |
|
18 |
if use linguas_de ; then |
19 |
|
20 |
if has linguas_de $LINGUAS ; then |
21 |
|
22 |
if has linguas_de $USE ; then |
23 |
|
24 |
So if you were to set LINGUAS="*", there would have to be some magic |
25 |
way for the package mangler to know that linguas_de exists, even if |
26 |
there's no mention of it anywhere in any user config files or in IUSE |
27 |
(and no, the desc files aren't a complete list either). |
28 |
|
29 |
The reason for this, historically, was that IUSE was used purely for |
30 |
display purposes by Portage, whilst USE was worked out from everything |
31 |
in config files, regardless of whether or not the ebuild claimed to use |
32 |
it. That meant there was absolutely nothing stopping you from making |
33 |
IUSE incomplete... |
34 |
|
35 |
-- |
36 |
Ciaran McCreesh |