From 477f823c824b36dbd618406d0898d1d0b01796ae Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 3 Dec 2007 06:23:45 +0000 Subject: * 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 --- bin/isolated-functions.sh | 3 +++ pym/portage.py | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3-1-g7c22