diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-12-09 00:30:46 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-12-09 00:30:46 +0000 |
commit | e4bd03ae54359072a26e767aa68a9a37d7a65488 (patch) | |
tree | d05cf083d6dbc921b998d9c38c6b4b6a007fadc3 /bin/ebuild.sh | |
parent | 3a3f1b1f3b61bda1591706d67e17daa5ca5f8d1a (diff) | |
download | portage-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-x | bin/ebuild.sh | 6 |
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 |