diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-02-17 15:28:32 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-02-20 16:45:06 +0000 |
commit | ae4ce4c21998bb2a12a1e1f0b8e0af8d218b87e2 (patch) | |
tree | bc60678976cc3728bc524c9365c762b28ba7e34c /lib/bb/utils.py | |
parent | c885e5542dcf760b8fc5881e385abb4a10020874 (diff) | |
download | bitbake-ae4ce4c21998bb2a12a1e1f0b8e0af8d218b87e2.tar.gz |
utils: Fix environment decorator logic error
File "/home/pokybuild/yocto-worker/qemuarm/build/build/tmp/work/qemuarm-poky-linux-gnueabi/core-image-sato/1.0-r0/testsdkext/layers/build/bitbake/lib/bb/fetch2/wget.py", line 328, in checkstatus
with bb.utils.environment(**newenv):
File "/home/pokybuild/yocto-worker/qemuarm/build/build/tmp/work/qemuarm-poky-linux-gnueabi/core-image-sato/1.0-r0/testsdkext/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.10/contextlib.py", line 142, in __exit__
next(self.gen)
File "/home/pokybuild/yocto-worker/qemuarm/build/build/tmp/work/qemuarm-poky-linux-gnueabi/core-image-sato/1.0-r0/testsdkext/layers/build/bitbake/lib/bb/utils.py", line 1737, in environment
del os.environ[var]
File "/home/pokybuild/yocto-worker/qemuarm/build/build/tmp/work/qemuarm-poky-linux-gnueabi/core-image-sato/1.0-r0/testsdkext/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.10/os.py", line 695, in __delitem__
raise KeyError(key) from None
It is possible the wrapped function might change the environment which can lead
to KeyError issues like this. The key may no longer be in the original environment
so handle that case correctly and avoid the tracebacks.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/utils.py')
-rw-r--r-- | lib/bb/utils.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/bb/utils.py b/lib/bb/utils.py index 128b3ab57..8d614fe23 100644 --- a/lib/bb/utils.py +++ b/lib/bb/utils.py @@ -1733,7 +1733,7 @@ def environment(**envvars): for var in envvars: if var in backup: os.environ[var] = backup[var] - else: + elif var in os.environ: del os.environ[var] def is_local_uid(uid=''): |