diff options
Diffstat (limited to 'bitbake/lib/bb/utils.py')
| -rw-r--r-- | bitbake/lib/bb/utils.py | 22 |
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): | |||
| 354 | 354 | ||
| 355 | return removed_vars | 355 | return removed_vars |
| 356 | 356 | ||
| 357 | def 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 | |||
| 371 | def empty_environment(): | ||
| 372 | """ | ||
| 373 | Remove all variables from the environment. | ||
| 374 | """ | ||
| 375 | for s in os.environ.keys(): | ||
| 376 | os.unsetenv(s) | ||
| 377 | del os.environ[s] | ||
| 378 | |||
| 357 | def prunedir(topdir): | 379 | def 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! |
