summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-07 17:57:03 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-07 17:57:03 -0700
commitb7e91fab9e107c69729298f21e137c22713f8527 (patch)
treed038fbb1db5dec7dc50ab63dca497cc42bb37e47
parentcd37e2494214e3823b29c7f3e89c3d41fe8a62b0 (diff)
downloadportage-b7e91fab9e107c69729298f21e137c22713f8527.tar.gz
portage-b7e91fab9e107c69729298f21e137c22713f8527.tar.bz2
portage-b7e91fab9e107c69729298f21e137c22713f8527.zip
Filter the FEATURES variable out of the environment between phases,
so that it always matches the latest value from the config class and it can never be stale. With the ability to use package.env for per-package FEATURES settings, there's no need for bashrc to make persistent modifications to the FEATURES variable.
-rwxr-xr-xbin/ebuild.sh5
1 files changed, 3 insertions, 2 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 171b9c6f4..cc3b4a142 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1833,7 +1833,7 @@ preprocess_ebuild_env() {
) > "${T}/environment.filtered"
local retval
if [ -e "${T}/environment.success" ] ; then
- filter_readonly_variables < \
+ filter_readonly_variables --filter-features < \
"${T}/environment.filtered" > "${T}/environment"
retval=$?
else
@@ -2314,7 +2314,8 @@ elif [[ -n $EBUILD_SH_ARGS ]] ; then
# Save the env only for relevant phases.
if ! hasq "$EBUILD_SH_ARGS" clean help info nofetch ; then
umask 002
- save_ebuild_env | filter_readonly_variables > "$T/environment"
+ save_ebuild_env | filter_readonly_variables \
+ --filter-features > "$T/environment"
assert "save_ebuild_env failed"
chown portage:portage "$T/environment" &>/dev/null
chmod g+w "$T/environment" &>/dev/null