From 9294b951744b5fc64dea7f10760bee0b1d8cd6f0 Mon Sep 17 00:00:00 2001 From: Robert Bradford Date: Fri, 17 Oct 2008 09:46:23 +0000 Subject: bitbake-dev: Refactor the environment variable handling. Do not clear the environment when saving the environment to the data store. Instead clear this once the cooker has forked. This ensures that the UI operates in a filtered (but not empty) environment. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5526 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- bitbake-dev/lib/bb/utils.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'bitbake-dev/lib/bb/utils.py') 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): return removed_vars +def clean_environment(): + """ + Clean up any spurious environment variables. This will remove any + variables the user hasn't chose to preserve. + """ + if 'BB_PRESERVE_ENV' not in os.environ: + if 'BB_ENV_WHITELIST' in os.environ: + good_vars = os.environ['BB_ENV_WHITELIST'].split() + else: + good_vars = preserved_envvars_list() + if 'BB_ENV_EXTRAWHITE' in os.environ: + good_vars.extend(os.environ['BB_ENV_EXTRAWHITE'].split()) + filter_environment(good_vars) + +def empty_environment(): + """ + Remove all variable from the environment. + """ + for s in os.environ.keys(): + os.unsetenv(s) + del os.environ[s] + def prunedir(topdir): # Delete everything reachable from the directory named in 'topdir'. # CAUTION: This is dangerous! -- cgit v1.2.3-54-g00ecf