bitbake: bitbake-worker: Fix bug where umask 0 was not being applied to a task

* In the current implementation, "umask" variable is initially set to
  None and overwritten with user-specified value. However, in the worker
  implementation, a faulty if clause would only check whether the
  variable contains a value that evaluates to True, and not whether
  the variable is defined, so the value of 0 would lead to umask not
  being changed.
  This bug makes it impossible to have a task set its umask to value 0,
  for any possible reason it may want to.
  Fix this bug by extending the condition checked in the worker
  implementation.

(Bitbake rev: 19f9df6c750c592316a0fa18165b68636281fe3e)

Signed-off-by: Sava Jakovljev <sjakovljev@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Sava Jakovljev
2024-03-18 14:52:06 +01:00
committed by Richard Purdie
parent 98d09d41fa
commit 0acdb81ca6

View File

@@ -241,7 +241,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, extraconfigdata, runtask):
newsi = os.open(os.devnull, os.O_RDWR)
os.dup2(newsi, sys.stdin.fileno())
if umask:
if umask is not None:
os.umask(umask)
try: