summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-12-03 06:23:45 +0000
committerZac Medico <zmedico@gentoo.org>2007-12-03 06:23:45 +0000
commit477f823c824b36dbd618406d0898d1d0b01796ae (patch)
treef3d2be83410f548402c3f0a2ec47ff714fa4d074
parent0872b0648019a2597b0b77cec71526866467898a (diff)
downloadportage-477f823c824b36dbd618406d0898d1d0b01796ae.tar.gz
portage-477f823c824b36dbd618406d0898d1d0b01796ae.tar.bz2
portage-477f823c824b36dbd618406d0898d1d0b01796ae.zip
* whitelist CCACHE_* and DISTCC_* variables in config.environ()
* unset CCACHE_* and DISTCC_* variables in save_ebuild_env() (trunk r8818) svn path=/main/branches/2.1.2/; revision=8819
-rw-r--r--bin/isolated-functions.sh3
-rw-r--r--pym/portage.py5
2 files changed, 7 insertions, 1 deletions
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index f6ca22654..dfe4cfba7 100644
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -409,6 +409,9 @@ save_ebuild_env() {
unset ECHANGELOG_USER GPG_AGENT_INFO \
SSH_AGENT_PID SSH_AUTH_SOCK STY WINDOW XAUTHORITY
+ # CCACHE and DISTCC config
+ unset ${!CCACHE_*} ${!DISTCC_*}
+
# There's no need to bloat environment.bz2 with internally defined
# functions and variables, so filter them out if possible.
diff --git a/pym/portage.py b/pym/portage.py
index 7bb53cc56..015dad08f 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -1025,6 +1025,8 @@ class config:
_environ_whitelist = frozenset(_environ_whitelist)
+ _environ_whitelist_re = re.compile(r'^(CCACHE_|DISTCC_).*')
+
# Filter selected variables in the config.environ() method so that
# they don't needlessly propagate down into the ebuild environment.
_environ_filter = []
@@ -2551,7 +2553,8 @@ class config:
(x, myvalue), noiselevel=-1)
continue
if filter_calling_env and \
- x not in environ_whitelist:
+ x not in environ_whitelist and \
+ not self._environ_whitelist_re.match(x):
if myvalue == env_d.get(x) or \
myvalue == os.environ.get(x):
continue