From: Fabian Groffen Date: Mon, 3 Dec 2007 17:52:42 +0000 (-0000) Subject: Merged from trunk 8815:8818 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=9dae7387c3c84ca05475134f81ab58737b49cc78;p=portage.git Merged from trunk 8815:8818 | 8816 | For compatibility with cvs.eclass, do not unset CVS_RSH in | | zmedico | save_ebuild_env() since that variable may be initialized in | | | global scope. | | 8818 | * whitelist CCACHE_* and DISTCC_* variables in | | zmedico | config.environ() * unset CCACHE_* and DISTCC_* variables in | | | save_ebuild_env() | svn path=/main/branches/prefix/; revision=8820 --- diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh index 2d2280516..4c94bbb80 100755 --- a/bin/isolated-functions.sh +++ b/bin/isolated-functions.sh @@ -408,9 +408,12 @@ save_ebuild_env() { TERM TERMCAP USER # other variables inherited from the calling environment - unset CVS_RSH ECHANGELOG_USER GPG_AGENT_INFO \ + 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/__init__.py b/pym/portage/__init__.py index 93bf7a328..7b68e085d 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -895,6 +895,8 @@ class config(object): _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 = [] @@ -2587,7 +2589,8 @@ class config(object): (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