summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/ebuild.sh6
-rwxr-xr-xbin/isolated-functions.sh2
-rw-r--r--pym/portage/__init__.py5
3 files changed, 12 insertions, 1 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
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index a557d9fd9..4f1ad1c63 100755
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -564,7 +564,7 @@ save_ebuild_env() {
PROFILE_PATHS PWORKDIR QA_INTERCEPTORS \
RC_DEFAULT_INDENT RC_DOT_PATTERN RC_ENDCOL \
RC_INDENTATION READONLY_EBUILD_METADATA READONLY_PORTAGE_VARS \
- ROOT ROOTPATH RPMDIR STARTDIR TMP TMPDIR USE_EXPAND \
+ ROOT ROOTPATH RPMDIR STARTDIR TEMP TMP TMPDIR USE_EXPAND \
WARN XARGS _RC_GET_KV_CACHE
# user config variables
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 45e5407f8..7b892a652 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -1432,6 +1432,11 @@ class config(object):
"TERM", "TERMCAP", "USER",
]
+ # tempdir settings
+ _environ_whitelist += [
+ "TMPDIR", "TEMP", "TMP",
+ ]
+
# other variables inherited from the calling environment
_environ_whitelist += [
"CVS_RSH", "ECHANGELOG_USER",