diff options
-rw-r--r-- | bitbake/lib/bb/utils.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index 1a5a0aae6c..34fa0b7a67 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py | |||
@@ -969,6 +969,17 @@ def which(path, item, direction = 0, history = False, executable=False): | |||
969 | return "", hist | 969 | return "", hist |
970 | return "" | 970 | return "" |
971 | 971 | ||
972 | @contextmanager | ||
973 | def umask(new_mask): | ||
974 | """ | ||
975 | Context manager to set the umask to a specific mask, and restore it afterwards. | ||
976 | """ | ||
977 | current_mask = os.umask(new_mask) | ||
978 | try: | ||
979 | yield | ||
980 | finally: | ||
981 | os.umask(current_mask) | ||
982 | |||
972 | def to_boolean(string, default=None): | 983 | def to_boolean(string, default=None): |
973 | if not string: | 984 | if not string: |
974 | return default | 985 | return default |