bitbake: cooker: Ensure generateTaskDepTreeData fails for NoProvider

If an invalid provider is requested, error out early rather than trying
to build partial runqueue data structures as the taskdep UI will have
exited after seeing the bad provider.

(Bitbake rev: a478087998cb794cc4e31189b3ce07973d3949bc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2024-05-17 11:53:22 +01:00
parent d0ea89b312
commit 4758e1c43a

View File

@ -680,14 +680,14 @@ class BBCooker:
bb.event.fire(bb.event.TreeDataPreparationCompleted(len(fulltargetlist)), self.data)
return taskdata, runlist
def prepareTreeData(self, pkgs_to_build, task):
def prepareTreeData(self, pkgs_to_build, task, halt=False):
"""
Prepare a runqueue and taskdata object for iteration over pkgs_to_build
"""
# We set halt to False here to prevent unbuildable targets raising
# an exception when we're just generating data
taskdata, runlist = self.buildTaskData(pkgs_to_build, task, False, allowincomplete=True)
taskdata, runlist = self.buildTaskData(pkgs_to_build, task, halt, allowincomplete=True)
return runlist, taskdata
@ -701,7 +701,7 @@ class BBCooker:
if not task.startswith("do_"):
task = "do_%s" % task
runlist, taskdata = self.prepareTreeData(pkgs_to_build, task)
runlist, taskdata = self.prepareTreeData(pkgs_to_build, task, halt=True)
rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist)
rq.rqdata.prepare()
return self.buildDependTree(rq, taskdata)