(bash-completion portage is installed on the system) ~$ echo "# lame addon" >>/etc/bash_completion ~$ grep "# lame addon" /etc/bash_completion # lame addon ~$ export CONFIG_PROTECT="" ~$ emerge bash-completion <... lots of emerge output ...> ~$ grep "# lame addon" /etc/bash_completion # lame addon ~$ So even with CONFIG_PROTECT="" it does *not* overwrite the file in /etc The only thing i've seen is an "o" flag on the install part: <...> --- /etc/ -o- /etc/bash_completion --- /etc/bash_completion.d/ <...> It does not matter if the env variable or a line in make.conf is used to define CONFIG_PROTECT="". In either way the file bash_completion in /etc does not get overwritten. With a disabled protection it should overwrite everything i think. The option CONFIG_PROTECT="" seems not complettly ignored, because the "._cfg"-files are not being created (that's the correct thing).
CONFIG_PROTECT="-*" --- does what you want. CONFIG_PROTECT is an incremental variable, and isn't cleared by CONFIG_PROTECT="" --- That only affects entries attained from /etc/env.d Working on fixing the docs to be more explicit about this one.