summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/data.py
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2011-08-12 17:58:11 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-15 09:49:37 +0100
commit61d83c6d6b23ea0fa3f99dfb53bf47c727c5a1c6 (patch)
treecbddb0ea6bd9505fc99eb8500b27980d65b9bd59 /bitbake/lib/bb/data.py
parenta6c48298b17e6a5844b3638b422fe226e3b67b89 (diff)
downloadpoky-61d83c6d6b23ea0fa3f99dfb53bf47c727c5a1c6.tar.gz
Ensure only the filtered environment variables are inherited from the OS
The recent change which modified inheritFromOS to use the intial environment, rather than the current environment, introduced a bug such that variables which had been cleaned from the environment where still set in the data store. This patch changes things such that a list of approved environment variables is saved after the environment is cleaned and only the variables in this list are inherited in inheritFromOS. CC: James Limbouris <james.limbouris@gmail.com> CC: Chris Larson <clarson@kergoth.com> (Bitbake rev: cb6c07054e8baf94614713ec257c643b22266d75) Signed-off-by: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/data.py')
-rw-r--r--bitbake/lib/bb/data.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index 65144bfe52..ac0d8809cc 100644
--- a/bitbake/lib/bb/data.py
+++ b/bitbake/lib/bb/data.py
@@ -159,16 +159,17 @@ def expandKeys(alterdata, readdata = None):
159 ekey = todolist[key] 159 ekey = todolist[key]
160 renameVar(key, ekey, alterdata) 160 renameVar(key, ekey, alterdata)
161 161
162def inheritFromOS(d, savedenv): 162def inheritFromOS(d, savedenv, permitted):
163 """Inherit variables from the initial environment.""" 163 """Inherit variables from the initial environment."""
164 exportlist = bb.utils.preserved_envvars_exported() 164 exportlist = bb.utils.preserved_envvars_exported()
165 for s in savedenv.keys(): 165 for s in savedenv.keys():
166 try: 166 if s in permitted:
167 setVar(s, getVar(s, savedenv, True), d) 167 try:
168 if s in exportlist: 168 setVar(s, getVar(s, savedenv, True), d)
169 setVarFlag(s, "export", True, d) 169 if s in exportlist:
170 except TypeError: 170 setVarFlag(s, "export", True, d)
171 pass 171 except TypeError:
172 pass
172 173
173def emit_var(var, o=sys.__stdout__, d = init(), all=False): 174def emit_var(var, o=sys.__stdout__, d = init(), all=False):
174 """Emit a variable to be sourced by a shell.""" 175 """Emit a variable to be sourced by a shell."""