summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-11-19 00:02:34 +0000
committerZac Medico <zmedico@gentoo.org>2007-11-19 00:02:34 +0000
commit7fa6df01d53bba3c05d6c6f12eca652c0f954edc (patch)
tree34aabdddeccadb0740fcb9c3bb846973607c9b6d /pym
parentd9b10deaa03ce174d5ccc3b59c477549ad87e884 (diff)
downloadportage-7fa6df01d53bba3c05d6c6f12eca652c0f954edc.tar.gz
portage-7fa6df01d53bba3c05d6c6f12eca652c0f954edc.tar.bz2
portage-7fa6df01d53bba3c05d6c6f12eca652c0f954edc.zip
Fix PROFILE_ONLY_VARIABLES handling in the config constructor
so that variables are appropriately filtered from "backupenv", since otherwise they can leak in from there. svn path=/main/trunk/; revision=8524
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/__init__.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 57ba5ce0a..487dd6ba9 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -969,9 +969,6 @@ class config(object):
self._use_wildcards = copy.deepcopy(clone._use_wildcards)
else:
- # backupenv is for calculated incremental variables.
- self.backupenv = os.environ.copy()
-
def check_var_directory(varname, var):
if not os.path.isdir(var):
writemsg(("!!! Error: %s='%s' is not a directory. " + \
@@ -1224,15 +1221,16 @@ class config(object):
self.configlist.append({})
self.configdict["auto"]=self.configlist[-1]
+ # backupenv is used for calculating incremental variables.
+ self.backupenv = os.environ.copy()
self.configlist.append(self.backupenv) # XXX Why though?
self.configdict["backupenv"]=self.configlist[-1]
- myenv = os.environ.copy()
# Don't allow the user to override certain variables in the env
for k in profile_only_variables:
- myenv.pop(k, None)
+ self.backupenv.pop(k, None)
- self.configlist.append(myenv)
+ self.configlist.append(self.backupenv.copy())
self.configdict["env"]=self.configlist[-1]
# make lookuplist for loading package.*