diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-11-24 02:24:08 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-11-24 02:24:08 +0000 |
commit | 9792466c8d6825e57038e97959b132d77237a397 (patch) | |
tree | c8a3bf6f5c4ba195754c2ee1ea3f8c5b6118ae71 | |
parent | a2ceab940a51d0f32385b1b5b157b29e3e9be5d6 (diff) | |
download | portage-9792466c8d6825e57038e97959b132d77237a397.tar.gz portage-9792466c8d6825e57038e97959b132d77237a397.tar.bz2 portage-9792466c8d6825e57038e97959b132d77237a397.zip |
In the grep expression that's generated in filter_readonly_variables(),
condense redundant identical expressions into a single one.
svn path=/main/trunk/; revision=8630
-rwxr-xr-x | bin/ebuild.sh | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh index 4c1c8402e..6bf3a192d 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -1381,18 +1381,20 @@ READONLY_PORTAGE_VARS="D EBUILD EBUILD_PHASE EBUILD_SH_ARGS FILESDIR \ # builtin command. To avoid this problem, this function filters those # variables out and discards them. See bug #190128. filter_readonly_variables() { - local var_prefixes="BASH" - hasq --filter-sandbox $* && var_prefixes="${var_prefixes} SANDBOX" - local x var_grep="" - for x in ${var_prefixes} ; do - var_grep="${var_grep}|(^|^declare[[:space:]]+-[^[:space:]]+[[:space:]]+)${x}_[_[:alnum:]]*=.*" - done + local x filtered_vars local readonly_bash_vars="DIRSTACK EUID FUNCNAME GROUPS PIPESTATUS PPID SHELLOPTS UID" - for x in ${readonly_bash_vars} ${READONLY_PORTAGE_VARS} ; do - var_grep="${var_grep}|(^|^declare[[:space:]]+-[^[:space:]]+[[:space:]]+)${x}=.*" + filtered_vars="${readonly_bash_vars} ${READONLY_PORTAGE_VARS} + BASH_[_[:alnum:]]*" + hasq --filter-sandbox $* && \ + filtered_vars="${filtered_vars} SANDBOX_[_[:alnum:]]*" + set -f + for x in ${filtered_vars} ; do + var_grep="${var_grep}|${x}" done + set +f var_grep=${var_grep:1} # strip the first | + var_grep="(^|^declare[[:space:]]+-[^[:space:]]+[[:space:]]+)(${var_grep})=.*" # The sed is to remove the readonly attribute from variables such as those # listed in READONLY_EBUILD_METADATA, since having any readonly attributes # persisting in the saved environment can be inconvenient when it |