summaryrefslogtreecommitdiffstats
path: root/bitbake-dev/lib/bb
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake-dev/lib/bb')
-rw-r--r--bitbake-dev/lib/bb/cooker.py4
-rw-r--r--bitbake-dev/lib/bb/data.py2
-rw-r--r--bitbake-dev/lib/bb/utils.py22
3 files changed, 26 insertions, 2 deletions
diff --git a/bitbake-dev/lib/bb/cooker.py b/bitbake-dev/lib/bb/cooker.py
index 8feb228faf..6d04d38080 100644
--- a/bitbake-dev/lib/bb/cooker.py
+++ b/bitbake-dev/lib/bb/cooker.py
@@ -907,6 +907,10 @@ class BBCooker:
907 907
908 def serve(self): 908 def serve(self):
909 909
910 # Empty the environment. The environment will be populated as
911 # necessary from the data store.
912 bb.utils.empty_environment()
913
910 if self.configuration.profile: 914 if self.configuration.profile:
911 try: 915 try:
912 import cProfile as profile 916 import cProfile as profile
diff --git a/bitbake-dev/lib/bb/data.py b/bitbake-dev/lib/bb/data.py
index 82eef44989..19e67dbc37 100644
--- a/bitbake-dev/lib/bb/data.py
+++ b/bitbake-dev/lib/bb/data.py
@@ -331,8 +331,6 @@ def inheritFromOS(d):
331 setVar(s, os.environ[s], d) 331 setVar(s, os.environ[s], d)
332 except TypeError: 332 except TypeError:
333 pass 333 pass
334 os.unsetenv(s)
335 del os.environ[s]
336 334
337def emit_var(var, o=sys.__stdout__, d = init(), all=False): 335def emit_var(var, o=sys.__stdout__, d = init(), all=False):
338 """Emit a variable to be sourced by a shell.""" 336 """Emit a variable to be sourced by a shell."""
diff --git a/bitbake-dev/lib/bb/utils.py b/bitbake-dev/lib/bb/utils.py
index 119f08582d..94bc62f7cf 100644
--- a/bitbake-dev/lib/bb/utils.py
+++ b/bitbake-dev/lib/bb/utils.py
@@ -354,6 +354,28 @@ def filter_environment(good_vars):
354 354
355 return removed_vars 355 return removed_vars
356 356
357def clean_environment():
358 """
359 Clean up any spurious environment variables. This will remove any
360 variables the user hasn't chose to preserve.
361 """
362 if 'BB_PRESERVE_ENV' not in os.environ:
363 if 'BB_ENV_WHITELIST' in os.environ:
364 good_vars = os.environ['BB_ENV_WHITELIST'].split()
365 else:
366 good_vars = preserved_envvars_list()
367 if 'BB_ENV_EXTRAWHITE' in os.environ:
368 good_vars.extend(os.environ['BB_ENV_EXTRAWHITE'].split())
369 filter_environment(good_vars)
370
371def empty_environment():
372 """
373 Remove all variable from the environment.
374 """
375 for s in os.environ.keys():
376 os.unsetenv(s)
377 del os.environ[s]
378
357def prunedir(topdir): 379def prunedir(topdir):
358 # Delete everything reachable from the directory named in 'topdir'. 380 # Delete everything reachable from the directory named in 'topdir'.
359 # CAUTION: This is dangerous! 381 # CAUTION: This is dangerous!