summaryrefslogtreecommitdiff
path: root/bitbake/lib/bb/utils.py
diff options
context:
space:
mode:
authorRobert Bradford <rob@openedhand.com>2008-10-17 09:46:35 +0000
committerRobert Bradford <rob@openedhand.com>2008-10-17 09:46:35 +0000
commit696d4f01d235b7309fd1b88bd12949927f19b5d6 (patch)
tree90c0a158e4c0f41ce8ef68989218df7a73f6d282 /bitbake/lib/bb/utils.py
parent9294b951744b5fc64dea7f10760bee0b1d8cd6f0 (diff)
downloadopenembedded-core-696d4f01d235b7309fd1b88bd12949927f19b5d6.tar.gz
openembedded-core-696d4f01d235b7309fd1b88bd12949927f19b5d6.tar.bz2
openembedded-core-696d4f01d235b7309fd1b88bd12949927f19b5d6.zip
bitbake: Refactor the environment variable handling
Refactor the environment variable handling so that it more closes matches the changes that have been made in bitbake-dev. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5527 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'bitbake/lib/bb/utils.py')
-rw-r--r--bitbake/lib/bb/utils.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index 18fc9f7252..0f402f6279 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/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 variables 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!