The manpage of make.conf(5) does not mention the "source" keyword, which may be used to include other files into /etc/make.conf. After some trial and error trying to understand the pseudo-sh syntax used for make.conf, I found out that Python's shlex module is used. The shlex.source keyword is set so "source", but it's undocumented. Some layman howtos mention it, but it would be great to have it in man make.conf(5). Thanks. Reproducible: Always Steps to Reproduce:
We should also mention that variable substitution is supported.
The description in make.conf(5) says only that the file contains "various variables". It's not obvious that make.conf isn't a shell script if a new user has only read the handbook. The manpage should say something along the lines of: "make.conf contains a newline-delimited list of <key>=<value> pairs which are accessible from the environment of ebuilds, /etc/portage/bashrc, etc, and supports a simple shell-like expansion of the form var="${var}", but doesn't support Bashisms like arrays or special parameter expansions."
Also maybe direct them to the Python shlex docs for more details. It mentions for instance that comments can be processed by shlex.split()
Created attachment 355718 [details, diff] [PATCH] Fixes the bug
(In reply to Alexander Berntsen from comment #4) > Created attachment 355718 [details, diff] [details, diff] > [PATCH] Fixes the bug Thanks, this is in git: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ff54f5db6658c0bfecc7fe365d383c5879f20221
This is fixed in 2.2.0.