mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
scripts/runqemu: raise an error when bitbake was not found
Running 'scrupts/runqemu' without bitbake in PATH causes the
following error:
```
Traceback (most recent call last):
File "/home/rg/temp_stuff/oe_2/./scripts/runqemu", line 1807, in main
config.check_args()
~~~~~~~~~~~~~~~~~^^
File "/home/rg/temp_stuff/oe_2/./scripts/runqemu", line 624, in check_args
s = re.search('^DEPLOY_DIR_IMAGE="(.*)"', self.bitbake_e, re.M)
File "/usr/lib/python3.13/re/__init__.py", line 177, in search
return _compile(pattern, flags).search(string)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
TypeError: expected string or bytes-like object, got 'NoneType'
```
This patch adds a more helpful error message to inform the user that
bitbake was not found, e.g. because oe-init-build-env was not sourced.
This is an example of the new error message after the patch:
```
runqemu - ERROR - In order for this script to dynamically infer paths
kernels or filesystem images, you either need bitbake in your PATH
or to source oe-init-build-env before running this script.
Dynamic path inference can be avoided by passing a *.qemuboot.conf to
runqemu, i.e. `runqemu /path/to/my-image-name.qemuboot.conf`
Bitbake is needed to run 'bitbake -e', but it is not found in PATH. Please source the bitbake build environment.
```
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
CC: Alexander Kanavin <alex.kanavin@gmail.com>
(From OE-Core rev: 0c10a78796fbdfaa5be4a824c0c9f5cb97c88046)
Signed-off-by: Richard Grünert <r.gruenert@pironex.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
21466040c3
commit
57d97d5970
@@ -1692,9 +1692,6 @@ to your build configuration.
|
||||
self.cleaned = True
|
||||
|
||||
def run_bitbake_env(self, mach=None, target=''):
|
||||
bitbake = shutil.which('bitbake')
|
||||
if not bitbake:
|
||||
return
|
||||
|
||||
if not mach:
|
||||
mach = self.get('MACHINE')
|
||||
@@ -1711,6 +1708,10 @@ to your build configuration.
|
||||
else:
|
||||
cmd = 'bitbake -e %s %s' % (multiconfig, target)
|
||||
|
||||
bitbake = shutil.which('bitbake')
|
||||
if not bitbake:
|
||||
raise OEPathError("Bitbake is needed to run '%s', but it is not found in PATH. Please source the bitbake build environment." % cmd.strip())
|
||||
|
||||
logger.info('Running %s...' % cmd)
|
||||
try:
|
||||
return subprocess.check_output(cmd, shell=True).decode('utf-8')
|
||||
|
||||
Reference in New Issue
Block a user