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 | |
parent | ccc1d9ac0c7a0e1768fdfc043da106d144029f3c (diff) | |
download | poky-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>
-rw-r--r-- | bitbake/lib/bb/cooker.py | 12 | ||||
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 4 |
2 files changed, 12 insertions, 4 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: | |||
663 | ktask = k2[1] | 663 | ktask = k2[1] |
664 | taskdata.add_provider(localdata, self.recipecache, k) | 664 | taskdata.add_provider(localdata, self.recipecache, k) |
665 | current += 1 | 665 | current += 1 |
666 | runlist.append([k, "do_%s" % ktask]) | 666 | if not ktask.startswith("do_"): |
667 | ktask = "do_%s" % ktask | ||
668 | runlist.append([k, ktask]) | ||
667 | bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(fulltargetlist)), self.data) | 669 | bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(fulltargetlist)), self.data) |
668 | taskdata.add_unresolved(localdata, self.recipecache) | 670 | taskdata.add_unresolved(localdata, self.recipecache) |
669 | bb.event.fire(bb.event.TreeDataPreparationCompleted(len(fulltargetlist)), self.data) | 671 | bb.event.fire(bb.event.TreeDataPreparationCompleted(len(fulltargetlist)), self.data) |
@@ -1302,7 +1304,9 @@ class BBCooker: | |||
1302 | # Invalidate task for target if force mode active | 1304 | # Invalidate task for target if force mode active |
1303 | if self.configuration.force: | 1305 | if self.configuration.force: |
1304 | logger.verbose("Invalidate task %s, %s", task, fn) | 1306 | logger.verbose("Invalidate task %s, %s", task, fn) |
1305 | bb.parse.siggen.invalidate_task('do_%s' % task, self.recipecache, fn) | 1307 | if not task.startswith("do_"): |
1308 | task = "do_%s" % task | ||
1309 | bb.parse.siggen.invalidate_task(task, self.recipecache, fn) | ||
1306 | 1310 | ||
1307 | # Setup taskdata structure | 1311 | # Setup taskdata structure |
1308 | taskdata = bb.taskdata.TaskData(self.configuration.abort) | 1312 | taskdata = bb.taskdata.TaskData(self.configuration.abort) |
@@ -1312,7 +1316,9 @@ class BBCooker: | |||
1312 | bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.expanded_data) | 1316 | bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.expanded_data) |
1313 | 1317 | ||
1314 | # Execute the runqueue | 1318 | # Execute the runqueue |
1315 | runlist = [[item, "do_%s" % task]] | 1319 | if not task.startswith("do_"): |
1320 | task = "do_%s" % task | ||
1321 | runlist = [[item, task]] | ||
1316 | 1322 | ||
1317 | rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist) | 1323 | rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist) |
1318 | 1324 | ||
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 0f99e5ab8e..2b71eed06e 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -793,7 +793,9 @@ class RunQueueData: | |||
793 | if self.cooker.configuration.invalidate_stamp: | 793 | if self.cooker.configuration.invalidate_stamp: |
794 | for (fn, target) in self.target_pairs: | 794 | for (fn, target) in self.target_pairs: |
795 | for st in self.cooker.configuration.invalidate_stamp.split(','): | 795 | for st in self.cooker.configuration.invalidate_stamp.split(','): |
796 | invalidate_task(fn, "do_%s" % st, True) | 796 | if not st.startswith("do_"): |
797 | st = "do_%s" % st | ||
798 | invalidate_task(fn, st, True) | ||
797 | 799 | ||
798 | # Iterate over the task list and call into the siggen code | 800 | # Iterate over the task list and call into the siggen code |
799 | dealtwith = set() | 801 | dealtwith = set() |