[bitbake-devel] [PATCH] cooker: Add option of specifying indvidual tasks for targets
Richard Purdie
richard.purdie at linuxfoundation.org
Mon Jan 27 14:37:04 UTC 2014
Currently its near enough impossible to tell bitbake to run target X,
task Y and target A, task B. We could hack various parts of the API
around but it would mean incompatibilities.
An alternative is to accept the syntax "<target>:do_<task>" as a target
name. The default task would be used where the task is unspecified.
This has the advantage that its neat/clean code and works from all
current APIs including the commandline.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index db4cb51..cc7d84e 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -449,9 +449,14 @@ class BBCooker:
current = 0
runlist = []
for k in fulltargetlist:
+ ktask = task
+ if ":do_" in k:
+ k2 = k.split(":do_")
+ k = k2[0]
+ ktask = k2[1]
taskdata.add_provider(localdata, self.recipecache, k)
current += 1
- runlist.append([k, "do_%s" % task])
+ runlist.append([k, "do_%s" % ktask])
bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(fulltargetlist)), self.data)
taskdata.add_unresolved(localdata, self.recipecache)
bb.event.fire(bb.event.TreeDataPreparationCompleted(len(fulltargetlist)), self.data)
More information about the bitbake-devel
mailing list