Filter the FEATURES variable out of the environment between phases,
authorZac Medico <zmedico@gentoo.org>
Wed, 8 Sep 2010 00:57:03 +0000 (17:57 -0700)
committerZac Medico <zmedico@gentoo.org>
Wed, 8 Sep 2010 00:57:03 +0000 (17:57 -0700)
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.

bin/ebuild.sh

index 171b9c6f46a7e528e3c7eb2bad3f7c23592f2b8a..cc3b4a1424b74e4c07a4ad4f7fa7bc70db35f420 100755 (executable)
@@ -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