filter_readonly_variables: refactor binpkg logic
authorZac Medico <zmedico@gentoo.org>
Thu, 22 Dec 2011 19:39:32 +0000 (11:39 -0800)
committerZac Medico <zmedico@gentoo.org>
Thu, 22 Dec 2011 19:39:32 +0000 (11:39 -0800)
bin/phase-functions.sh

index 7407aba9356e5225187bf39427425d37ef73d0dc..2167853dc202bead09309158491c40c6eaed8eac 100644 (file)
@@ -126,14 +126,15 @@ filter_readonly_variables() {
                        LC_CTYPE LC_MESSAGES LC_MONETARY
                        LC_NUMERIC LC_PAPER LC_TIME"
        fi
-       if [[ ${EMERGE_FROM} != binary ]] && ! has --allow-extra-vars $* ; then
-               filtered_vars="
-                       ${filtered_vars}
-                       ${PORTAGE_SAVED_READONLY_VARS}
-                       ${PORTAGE_MUTABLE_FILTERED_VARS}
-               "
-       elif ! has --allow-extra-vars $* ; then
-               filtered_vars+=" ${binpkg_untrusted_vars}"
+       if ! has --allow-extra-vars $* ; then
+               if [ "${EMERGE_FROM}" = binary ] ; then
+                       # preserve additional variables from build time,
+                       # while excluding untrusted variables
+                       filtered_vars+=" ${binpkg_untrusted_vars}"
+               else
+                       filtered_vars+=" ${PORTAGE_SAVED_READONLY_VARS}"
+                       filtered_vars+=" ${PORTAGE_MUTABLE_FILTERED_VARS}"
+               fi
        fi
 
        "${PORTAGE_PYTHON:-/usr/bin/python}" "${PORTAGE_BIN_PATH}"/filter-bash-environment.py "${filtered_vars}" || die "filter-bash-environment.py failed"