diff options
author | Alex Franco <alejandro.franco@linux.intel.com> | 2015-09-02 15:11:30 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-04 16:23:58 +0100 |
commit | 7ef2f951d690df0939a8349ac024352b2a144249 (patch) | |
tree | dfd639b2a75c8295f4665b8346d7e6e6db7e8df0 /bitbake/lib/bb/cooker.py | |
parent | ccc1d9ac0c7a0e1768fdfc043da106d144029f3c (diff) | |
download | openembedded-core-contrib-7ef2f951d690df0939a8349ac024352b2a144249.tar.gz |
bitbake: cooker/runqueue: Allow bitbake commands starting with do_
The output of "bitbake, -c listtasks pkg" lists tasks with their real names
(starting with "do_"), but then "bitbake -c do_task" fails, as "do_" always
gets unconditionally prepended to task names. This patch handles this error
by checking whether a task starts with "do_" prior to prepending it with it
when the task runlist is being constructed (and a few other corner cases).
[YOCTO #7818]
(Bitbake rev: dd3050ceef37ac556546e940aa596ce96ef6c8df)
Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 99c47859d9..a0d7d59eaa 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -663,7 +663,9 @@ class BBCooker: ktask = k2[1] taskdata.add_provider(localdata, self.recipecache, k) current += 1 - runlist.append([k, "do_%s" % ktask]) + if not ktask.startswith("do_"): + ktask = "do_%s" % ktask + runlist.append([k, 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) @@ -1302,7 +1304,9 @@ class BBCooker: # Invalidate task for target if force mode active if self.configuration.force: logger.verbose("Invalidate task %s, %s", task, fn) - bb.parse.siggen.invalidate_task('do_%s' % task, self.recipecache, fn) + if not task.startswith("do_"): + task = "do_%s" % task + bb.parse.siggen.invalidate_task(task, self.recipecache, fn) # Setup taskdata structure taskdata = bb.taskdata.TaskData(self.configuration.abort) @@ -1312,7 +1316,9 @@ class BBCooker: bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.expanded_data) # Execute the runqueue - runlist = [[item, "do_%s" % task]] + if not task.startswith("do_"): + task = "do_%s" % task + runlist = [[item, task]] rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist) |