diff options
author | Matthew McClintock <msm-oss@mcclintock.net> | 2017-03-08 14:24:38 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-13 09:43:40 +0000 |
commit | 404f2aef94f8db6e46101e4ec9a6aa7e85b97880 (patch) | |
tree | fa823091470404e215c3f6d496121e2b063c1388 /bitbake/lib/bb/runqueue.py | |
parent | 3e5f3cfe812dd5787c7420cdbfe47e1b257f567d (diff) | |
download | poky-404f2aef94f8db6e46101e4ec9a6aa7e85b97880.tar.gz |
bitbake: runqueue: add option to run all tasks in specific build target
For example:
$ bitbake core-image-minimal --runall unpack
...
NOTE: Tasks Summary: Attempted 326 tasks of which 88 didn't need to be rerun and all succeeded.
$ bitbake core-image-minimal --runall patch
NOTE: Tasks Summary: Attempted 453 tasks of which 332 didn't need to be rerun and all succeeded.
This can replace fetchall as well:
$ bitbake core-image-minimal --runall fetch
NOTE: Tasks Summary: Attempted 135 tasks of which 119 didn't need to be rerun and all succeeded.
(Bitbake rev: 7c0fa6ba66cdb956b37d94055307cde857633df9)
Signed-off-by: Matthew McClintock <msm-oss@mcclintock.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index a3b451ad6f..38304d16d3 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -803,6 +803,23 @@ class RunQueueData: | |||
803 | 803 | ||
804 | self.init_progress_reporter.next_stage() | 804 | self.init_progress_reporter.next_stage() |
805 | 805 | ||
806 | if self.cooker.configuration.runall is not None: | ||
807 | runall = "do_%s" % self.cooker.configuration.runall | ||
808 | runall_tids = { k: v for k, v in self.runtaskentries.items() if taskname_from_tid(k) == runall } | ||
809 | |||
810 | # re-run the mark_active and then drop unused tasks from new list | ||
811 | runq_build = {} | ||
812 | for tid in list(runall_tids): | ||
813 | mark_active(tid,1) | ||
814 | |||
815 | for tid in list(self.runtaskentries.keys()): | ||
816 | if tid not in runq_build: | ||
817 | del self.runtaskentries[tid] | ||
818 | delcount += 1 | ||
819 | |||
820 | if len(self.runtaskentries) == 0: | ||
821 | bb.msg.fatal("RunQueue", "No remaining tasks to run run for build target %s with runall %s" % (target, runall)) | ||
822 | |||
806 | # | 823 | # |
807 | # Step D - Sanity checks and computation | 824 | # Step D - Sanity checks and computation |
808 | # | 825 | # |