From c471740f5ba023dccc992438c75f1534950d26af Mon Sep 17 00:00:00 2001 From: Elliot Smith Date: Mon, 11 Jul 2016 16:23:05 +0100 Subject: bitbake: cooker: add BuildInit event In situations where a bitbake run fails before the build properly starts and BuildStarted is fired, a UI has no way to get at the targets passed to the build. This makes it difficult for the UI to report on the targets which failed. Fire a BuildInit event before running buildTargets() or buildFile(). This enables a UI to capture targets passed to buildTargets(), even if the build fails (e.g. the targets themselves are invalid). [YOCTO #8440] (Bitbake rev: ac02fda870965bf7d44ff5688eda54d2d11ab9c7) Signed-off-by: Elliot Smith Signed-off-by: Richard Purdie --- bitbake/lib/bb/cooker.py | 4 ++++ bitbake/lib/bb/event.py | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index a73a55de96..d4dd23f09c 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -1235,6 +1235,7 @@ class BBCooker: """ Build the file matching regexp buildfile """ + bb.event.fire(bb.event.BuildInit(), self.expanded_data) # Too many people use -b because they think it's how you normally # specify a target to be built, so show a warning @@ -1377,6 +1378,9 @@ class BBCooker: if not task.startswith("do_"): task = "do_%s" % task + packages = ["%s:%s" % (target, task) for target in targets] + bb.event.fire(bb.event.BuildInit(packages), self.expanded_data) + taskdata, runlist, fulltargetlist = self.buildTaskData(targets, task, self.configuration.abort) buildname = self.data.getVar("BUILDNAME", False) diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index a5f026e151..1f3200e196 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py @@ -382,7 +382,11 @@ class BuildBase(Event): - +class BuildInit(BuildBase): + """buildFile or buildTargets was invoked""" + def __init__(self, p=[]): + name = None + BuildBase.__init__(self, name, p) class BuildStarted(BuildBase, OperationStarted): """bbmake build run started""" -- cgit v1.2.3-54-g00ecf