summaryrefslogtreecommitdiffstats
path: root/bin/ebuild.sh
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-12-09 00:30:46 +0000
committerZac Medico <zmedico@gentoo.org>2009-12-09 00:30:46 +0000
commite4bd03ae54359072a26e767aa68a9a37d7a65488 (patch)
treed05cf083d6dbc921b998d9c38c6b4b6a007fadc3 /bin/ebuild.sh
parent3a3f1b1f3b61bda1591706d67e17daa5ca5f8d1a (diff)
downloadportage-e4bd03ae54359072a26e767aa68a9a37d7a65488.tar.gz
portage-e4bd03ae54359072a26e767aa68a9a37d7a65488.tar.bz2
portage-e4bd03ae54359072a26e767aa68a9a37d7a65488.zip
Fix handling for TEMP, TMP, and TMPDIR variables:
* Add to whitelist so current values are always used. * Always filter them from the saved environment. * Always add thier values to SANDBOX_WRITE. svn path=/main/trunk/; revision=14973
Diffstat (limited to 'bin/ebuild.sh')
-rwxr-xr-xbin/ebuild.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index ef8dc2a0d..fd14314d6 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -11,6 +11,12 @@ PORTAGE_PYM_PATH="${PORTAGE_PYM_PATH:-/usr/lib/portage/pym}"
# environment by modifying our PATH.
unset BASH_ENV
+# Avoid sandbox violations in temporary directories.
+for x in TEMP TMP TMPDIR ; do
+ [[ -n ${!x} ]] && export SANDBOX_WRITE="${SANDBOX_WRITE:+${SANDBOX_WRITE}:}${!x}"
+done
+unset x
+
# sandbox's bashrc sources /etc/profile which unsets ROOTPATH,
# so we have to back it up and restore it.
if [ -n "${PORTAGE_ROOTPATH}" ] ; then