runqemu: ensure that bitbake environment is either returned, or an exception is raised

This eliminates the other remaining code path where environment getter
returns 'nothing'. This and the previous patch were tested in a-full,
and no errors occurred [1], which means the code paths that make
use of the function returning nothing are never actually executed
and can be cleaned up (in the following patch).

The rationale is that if environment getter cannot obtain the environment,
it should report that and not sweep the issue under the carpet;
it's up to the caller to handle that situation, or make pre-emptive
checks that avoid calling the environment getter when it is bound to fail.

[1] https://lists.openembedded.org/g/openembedded-core/message/223651

(From OE-Core rev: 8197be4dd336be2f8a646916223922da61c5b9b1)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2025-10-07 14:46:51 +02:00
committed by Richard Purdie
parent 8bd63e170c
commit cb2567ad96

View File

@@ -1744,11 +1744,7 @@ to your build configuration.
cmd = 'MACHINE=%s bitbake -e %s %s' % (mach, multiconfig, target)
else:
cmd = 'bitbake -e %s %s' % (multiconfig, target)
try:
return subprocess.check_output(cmd, shell=True).decode('utf-8')
except subprocess.CalledProcessError as err:
logger.warning("Couldn't run '%s' to gather environment information, giving up with 'bitbake -e':\n%s" % (cmd, err.output.decode('utf-8')))
return ''
return subprocess.check_output(cmd, shell=True).decode('utf-8')
def load_bitbake_env(self, mach=None, target=None):