mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 01:19:52 +00:00
bitbake: toasterui: ensure that the Build object is always available
Many of the methods in toasterui and buildinfohelper rely on the internal state of the buildinfohelper; in particular, they need a Build object to have been created on the buildinfohelper. If the creation of this Build object is tied to an event which may or may not occur, there's no guarantee that it will exist. This then causes assertion errors in those methods. To prevent this from happening, add an _ensure_build() method to buildinfohelper. This ensures that a minimal Build object is always available whenever it is needed, either by retrieving it from the BuildRequest or creating it; it also ensures that the Build object is up to date with whatever data is available on the bitbake server (DISTRO, MACHINE etc.). This method is then called by any other method which relies on a Build object being in the internal state, ensuring that the object is either available, or creating it. (Bitbake rev: 0990b4c73f194ec0be1762e4e48b1a525d8349fb) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
f17ab95c79
commit
f6261da9c0
@@ -237,14 +237,19 @@ def main(server, eventHandler, params):
|
||||
if not (build_log and build_log_file_path):
|
||||
build_log, build_log_file_path = _open_build_log(log_dir)
|
||||
|
||||
buildinfohelper.store_started_build(build_log_file_path)
|
||||
buildinfohelper.store_started_build()
|
||||
buildinfohelper.save_build_log_file_path(build_log_file_path)
|
||||
buildinfohelper.set_recipes_to_parse(event.total)
|
||||
continue
|
||||
|
||||
# create a build object in buildinfohelper from either BuildInit
|
||||
# (if available) or BuildStarted (for jethro and previous versions)
|
||||
if isinstance(event, (bb.event.BuildStarted, bb.event.BuildInit)):
|
||||
buildinfohelper.save_build_name_and_targets(event)
|
||||
if not (build_log and build_log_file_path):
|
||||
build_log, build_log_file_path = _open_build_log(log_dir)
|
||||
|
||||
buildinfohelper.save_build_targets(event)
|
||||
buildinfohelper.save_build_log_file_path(build_log_file_path)
|
||||
|
||||
# get additional data from BuildStarted
|
||||
if isinstance(event, bb.event.BuildStarted):
|
||||
|
||||
Reference in New Issue
Block a user