summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/main.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-02-09 09:21:00 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-02-14 15:26:03 +0000
commitc75985f40a4fc9ff2217fd22d0f84c59f7cec82b (patch)
tree3be77ff397a1f6360dcfcfcc07f4f59ff86550b0 /bitbake/lib/bb/main.py
parent1a78cdaea68c4e682ef26ac8c773307977fb81bc (diff)
downloadpoky-c75985f40a4fc9ff2217fd22d0f84c59f7cec82b.tar.gz
bitbake: main/runqueue: Rework runall task and add runonly option
The runall commandline option was confusing people. There are in fact two different behaviours people may want. a) For a given target (or set of targets) look through the task graph and run task X only if its present and would have been built. b) For a given target (or set of targets) look through the task graph and run task X if any recipe in the taskgraph has such a target even if it wasn't in the original task graph. I've decided to interpret the existing "runall" option as b), even if right now if behaves like a). For a), which is a valid use case, this patch adds a "runonly" option. With both behaviours present, I'm hoping we can then kill off the "fetchall", "checkuriall" and other tasks from OE metadata and replace them with this option. This would significantly speed up task graph processing. (Deleting the checkuriall and fetchall tasks takes "bitbake core-image-sato -g" from 22s to 8s). (Bitbake rev: 546a662c877b2d3af35e3996950582ed2df41fe4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/main.py')
-rwxr-xr-xbitbake/lib/bb/main.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/bitbake/lib/bb/main.py b/bitbake/lib/bb/main.py
index 7711b290de..f4474e410f 100755
--- a/bitbake/lib/bb/main.py
+++ b/bitbake/lib/bb/main.py
@@ -292,8 +292,12 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
292 help="Writes the event log of the build to a bitbake event json file. " 292 help="Writes the event log of the build to a bitbake event json file. "
293 "Use '' (empty string) to assign the name automatically.") 293 "Use '' (empty string) to assign the name automatically.")
294 294
295 parser.add_option("", "--runall", action="store", dest="runall", 295 parser.add_option("", "--runall", action="append", dest="runall",
296 help="Run the specified task for all build targets and their dependencies.") 296 help="Run the specified task for any recipe in the taskgraph of the specified target (even if it wouldn't otherwise have run).")
297
298 parser.add_option("", "--runonly", action="append", dest="runonly",
299 help="Run only the specified task within the taskgraph of the specified targets (and any task dependencies those tasks may have).")
300
297 301
298 options, targets = parser.parse_args(argv) 302 options, targets = parser.parse_args(argv)
299 303