summaryrefslogtreecommitdiffstats
path: root/bin/ebuild.sh
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-11-24 04:23:24 +0000
committerZac Medico <zmedico@gentoo.org>2007-11-24 04:23:24 +0000
commitfb5fd2d5277952f138ec5e1a3101583598b2fad0 (patch)
tree7031ff9ae001ab0c711f9f6a40bf8fa155060f83 /bin/ebuild.sh
parent095c8684c6dc5c4e91aa6251a04a3fc852bbe975 (diff)
downloadportage-fb5fd2d5277952f138ec5e1a3101583598b2fad0.tar.gz
portage-fb5fd2d5277952f138ec5e1a3101583598b2fad0.tar.bz2
portage-fb5fd2d5277952f138ec5e1a3101583598b2fad0.zip
Unconditionally filter some of the SANDBOX_* variables from the
environment in order to avoid potential interference problems. For example, having an invalid value for SANDBOX_LOG prevents the sandbox from killing the ebuild when a violation occurs. (trunk r8636) svn path=/main/branches/2.1.2/; revision=8637
Diffstat (limited to 'bin/ebuild.sh')
-rwxr-xr-xbin/ebuild.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 6d38e57b4..ab663d028 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1384,10 +1384,16 @@ filter_readonly_variables() {
local x filtered_vars var_grep
local readonly_bash_vars="DIRSTACK EUID FUNCNAME GROUPS
PIPESTATUS PPID SHELLOPTS UID"
+ local filtered_sandbox_vars="SANDBOX_ACTIVE SANDBOX_BASHRC
+ SANDBOX_DEBUG_LOG SANDBOX_DISABLED SANDBOX_LIB
+ SANDBOX_LOG"
filtered_vars="${readonly_bash_vars} ${READONLY_PORTAGE_VARS}
BASH_[_[:alnum:]]*"
- hasq --filter-sandbox $* && \
+ if hasq --filter-sandbox $* ; then
filtered_vars="${filtered_vars} SANDBOX_[_[:alnum:]]*"
+ else
+ filtered_vars="${filtered_vars} ${filtered_sandbox_vars}"
+ fi
set -f
for x in ${filtered_vars} ; do
var_grep="${var_grep}|${x}"