This patch allows multiple tasks to be passed to bitbake -c. E.g. $ bitbake foo -c clean,compile
It removes the need to parse all bb files twice as would occur with $ bitbake foo -c clean; bitbake foo -c compile Signed-off-by: Graham Gower <[email protected]> --- lib/bb/cooker.py | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index ea97c64..0fa449b 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -89,6 +89,7 @@ class BBCooker: if not self.configuration.cmd: self.configuration.cmd = bb.data.getVar("BB_DEFAULT_TASK", self.configuration.data, True) or "build" + self.configuration.cmd = self.configuration.cmd.split(",") bbpkgs = bb.data.getVar('BBPKGS', self.configuration.data, True) if bbpkgs and len(self.configuration.pkgs_to_build) == 0: @@ -272,7 +273,8 @@ class BBCooker: runlist = [] for k in pkgs_to_build: taskdata.add_provider(localdata, self.status, k) - runlist.append([k, "do_%s" % task]) + for t in task: + runlist.append([k, "do_%s" % t]) taskdata.add_unresolved(localdata, self.status) rq = bb.runqueue.RunQueue(self, self.configuration.data, self.status, taskdata, runlist) @@ -654,8 +656,9 @@ class BBCooker: # Remove stamp for target if force mode active if self.configuration.force: - logger.verbose("Remove stamp %s, %s", task, fn) - bb.build.del_stamp('do_%s' % task, self.status, fn) + for t in task: + logger.verbose("Remove stamp %s, %s", t, fn) + bb.build.del_stamp('do_%s' % t, self.status, fn) # Setup taskdata structure taskdata = bb.taskdata.TaskData(self.configuration.abort) @@ -665,7 +668,9 @@ class BBCooker: bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.configuration.event_data) # Execute the runqueue - runlist = [[item, "do_%s" % task]] + runlist = [] + for t in task: + runlist.append([item, "do_%s" % t]) rq = bb.runqueue.RunQueue(self, self.configuration.data, self.status, taskdata, runlist) @@ -735,7 +740,8 @@ class BBCooker: runlist = [] for k in targets: taskdata.add_provider(localdata, self.status, k) - runlist.append([k, "do_%s" % task]) + for t in task: + runlist.append([k, "do_%s" % t]) taskdata.add_unresolved(localdata, self.status) rq = bb.runqueue.RunQueue(self, self.configuration.data, self.status, taskdata, runlist) -- 1.7.1 _______________________________________________ Bitbake-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/bitbake-dev
