1 |
Hi, |
2 |
|
3 |
I found out (using the source & inserting log statements :-) that my |
4 |
peculiar format of |
5 |
make.conf was the culprit. |
6 |
For reasons too silly to explain here :-) I built up my USE variable in |
7 |
more than one line: |
8 |
USE="<....some flags>" |
9 |
USE="$USE <more flags>" |
10 |
(basically to make a use flag comparison somewhat easier). This is |
11 |
totally deadly for update-eix |
12 |
b/c of the way USE flags are read. In update-eix there is a "VarsReader" |
13 |
class reading in variables - basically |
14 |
a parser. The VarsReader may read more than one file (for example when |
15 |
reading the profiles) and has the option to append |
16 |
the new value of a variable to the old value. This is done for "USE". |
17 |
Unfortunately there is no provision to switch |
18 |
from this "append" behaviour to "overwrite old value as long as we are |
19 |
in the same file". |
20 |
Result: Each |
21 |
USE="$USE <line n>" |
22 |
line first expands the last value of $USE, appends <line n> it and |
23 |
APPENDS THIS WHOLE LINE TO THE OLD VALUE - i.e. the USE values already |
24 |
here get appended AGAIN. This gives you a verrry nice demonstration of |
25 |
exponential growth :-) |
26 |
|
27 |
Now just imagine writing more than 10 such "USE=..." lines, and you get |
28 |
a string growing for a factor of 2^10=1024. |
29 |
Voila :-) |
30 |
|
31 |
Cheers, |
32 |
Wolfgang |
33 |
|
34 |
-- |
35 |
gentoo-user@g.o mailing list |