diff options
-rwxr-xr-x | bin/ebuild.sh | 13 | ||||
-rwxr-xr-x | bin/isolated-functions.sh | 5 |
2 files changed, 12 insertions, 6 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh index b3cb9ca9f..0485cd331 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -1632,6 +1632,12 @@ PORTAGE_MUTABLE_FILTERED_VARS="AA HOSTNAME" # phase. However, if FEATURES exist inside environment.bz2 then they # should be overridden by current settings. # +# --filter-locale causes locale related variables such as LANG and LC_* +# variables to be filtered. These variables should persist between phases, +# in case they are modified by the ebuild. However, the current user +# settings should be used when loading the environment from a binary or +# installed package. +# # ---allow-extra-vars causes some extra vars to be allowd through, such # as ${PORTAGE_SAVED_READONLY_VARS} and ${PORTAGE_MUTABLE_FILTERED_VARS}. # @@ -1671,6 +1677,11 @@ filter_readonly_variables() { if hasq --filter-features $* ; then filtered_vars="${filtered_vars} FEATURES" fi + if hasq --filter-locale $* ; then + filtered_vars+=" LANG LC_ALL LC_COLLATE + LC_CTYPE LC_MESSAGES LC_MONETARY + LC_NUMERIC LC_PAPER LC_TIME" + fi if ! hasq --allow-extra-vars $* ; then filtered_vars=" ${filtered_vars} @@ -1696,7 +1707,7 @@ preprocess_ebuild_env() { # environment may contain stale SANDBOX_{DENY,PREDICT,READ,WRITE} # and FEATURES variables that should be filtered out. Between # phases, these variables are normally preserved. - filter_opts="--filter-sandbox --filter-features ${filter_opts}" + filter_opts+=" --filter-sandbox --filter-features --filter-locale" fi filter_readonly_variables ${filter_opts} < "${T}"/environment \ > "${T}"/environment.filtered || return $? diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh index 294324889..893ce57ba 100755 --- a/bin/isolated-functions.sh +++ b/bin/isolated-functions.sh @@ -506,11 +506,6 @@ save_ebuild_env() { unset ECHANGELOG_USER GPG_AGENT_INFO \ SSH_AGENT_PID SSH_AUTH_SOCK STY WINDOW XAUTHORITY - # localization settings - unset LANG LC_COLLATE LC_CTYPE LC_MESSAGES \ - LC_MONETARY LC_NUMERIC LC_TIME LC_PAPER \ - LC_ALL - # CCACHE and DISTCC config unset ${!CCACHE_*} ${!DISTCC_*} |