Bug #211949 - Make filter_readonly_variables() remove any variables
authorZac Medico <zmedico@gentoo.org>
Sat, 1 Mar 2008 08:31:39 +0000 (08:31 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 1 Mar 2008 08:31:39 +0000 (08:31 -0000)
with names containing a hyphen since bash does not allow them.
(trunk r9402)

svn path=/main/branches/2.1.2/; revision=9403

bin/ebuild.sh

index 61f6e18fe44a2a7e5753bbcee89b920cb4ff1ffa..9d0c42a5582bc85e2e241fd7b6edf3016e6cf18e 100755 (executable)
@@ -1384,8 +1384,12 @@ PORTAGE_MUTABLE_FILTERED_VARS="AA HOSTNAME"
 
 # @FUNCTION: filter_readonly_variables
 # @DESCRIPTION: [--filter-sandbox] [--allow-extra-vars]
-# Read an environment from stdin and echo to stdout while filtering readonly
-# variables.
+# Read an environment from stdin and echo to stdout while filtering variables
+# with names that are known to cause interference:
+#
+#   * some specific variables for which bash does not allow assignment
+#   * any variables with names containing a hyphen (not allowed by bash)
+#   * some specific variables that affect portage or sandbox behavior
 #
 # --filter-sandbox causes all SANDBOX_* variables to be filtered, which
 # is only desired in certain cases, such as during preprocessing or when
@@ -1414,7 +1418,7 @@ filter_readonly_variables() {
                SANDBOX_DEBUG_LOG SANDBOX_DISABLED SANDBOX_LIB
                SANDBOX_LOG SANDBOX_ON"
        filtered_vars="${readonly_bash_vars} ${READONLY_PORTAGE_VARS}
-               BASH_[_[:alnum:]]* PATH"
+               BASH_[_[:alnum:]]* PATH [-_[:alnum:]]*-[-_[:alnum:]]*"
        if hasq --filter-sandbox $* ; then
                filtered_vars="${filtered_vars} SANDBOX_[_[:alnum:]]*"
        else