Hi,
 
I found out (using the source & inserting log statements :-) that my
peculiar format of
make.conf was the culprit.
For reasons too silly to explain here :-) I built up my USE variable in
more than one line:
USE="<....some flags>"
USE="$USE <more flags>"
(basically to make a use flag comparison somewhat easier). This is
totally deadly for update-eix
b/c of the way USE flags are read. In update-eix there is a "VarsReader"
class reading in variables - basically
a parser. The VarsReader may read more than one file (for example when
reading the profiles) and has the option to append
the new value of a variable to the old value. This is done for "USE".
Unfortunately there is no provision to switch
from this "append" behaviour to "overwrite old value as long as we are
in the same file".
Result: Each 
USE="$USE <line n>"
line first expands the last value of $USE, appends <line n> it and
APPENDS THIS WHOLE LINE TO THE OLD VALUE - i.e. the USE values already
here get appended AGAIN. This gives you a verrry nice demonstration of
exponential growth :-)

Now just imagine writing more than 10 such "USE=..." lines, and you get
a string growing for a factor of 2^10=1024.
Voila :-)

Cheers,
Wolfgang

-- 
gentoo-user@gentoo.org mailing list

Reply via email to