summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-12-01 22:29:33 +0000
committerZac Medico <zmedico@gentoo.org>2007-12-01 22:29:33 +0000
commite3c2575f92a3e55359cc7cb316ff78f78462ef8a (patch)
treef4bae2b808812d6c1a91dea3a7e725a5a761d14b
parentfe044b4c170d1a7163084fba46e2481a22c28f3c (diff)
downloadportage-e3c2575f92a3e55359cc7cb316ff78f78462ef8a.tar.gz
portage-e3c2575f92a3e55359cc7cb316ff78f78462ef8a.tar.bz2
portage-e3c2575f92a3e55359cc7cb316ff78f78462ef8a.zip
* whitelist some misc variables from the calling environment
* blacklist the same variables in save_ebuild_env() so that the latest values from the calling environment always override those from the ebuild environment (trunk r8796) svn path=/main/branches/2.1.2/; revision=8797
-rw-r--r--bin/isolated-functions.sh4
-rw-r--r--pym/portage.py13
2 files changed, 13 insertions, 4 deletions
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index 0147a0b16..fc832a51f 100644
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -405,6 +405,10 @@ save_ebuild_env() {
unset COLORTERM DISPLAY EDITOR LESS LESSOPEN LOGNAME LS_COLORS PAGER \
TERM TERMCAP USER
+ # other variables inherited from the calling environment
+ unset CVS_RSH ECHANGELOG_USER GPG_AGENT_INFO \
+ SSH_AGENT_PID SSH_AUTH_SOCK STY WINDOW XAUTHORITY
+
# 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 601c12f37..63858e5e6 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -1018,6 +1018,14 @@ class config:
"TERM", "TERMCAP", "USER",
]
+ # other variables inherited from the calling environment
+ _environ_whitelist += [
+ "CVS_RSH", "ECHANGELOG_USER",
+ "GPG_AGENT_INFO",
+ "SSH_AGENT_PID", "SSH_AUTH_SOCK",
+ "STY", "WINDOW", "XAUTHORITY",
+ ]
+
_environ_whitelist = frozenset(_environ_whitelist)
# Filter selected variables in the config.environ() method so that
@@ -1026,10 +1034,7 @@ class config:
# misc variables inherited from the calling environment
_environ_filter += [
- "CVS_RSH", "ECHANGELOG_USER",
- "GPG_AGENT_INFO", "INFOPATH", "MANPATH",
- "SSH_AGENT_PID", "SSH_AUTH_SOCK",
- "STY", "WINDOW", "XAUTHORITY",
+ "INFOPATH", "MANPATH",
]
# portage config variables and variables set directly by portage