mirror of
https://git.yoctoproject.org/poky
synced 2026-09-19 09:49:33 +02:00
bitbake: bitbake: Add --skip-setscene option
Adds an option to skip _setscene only if they would normally be executed, without ignoring sstate completely. Previously, '--no-setscene' would allow a build that completely ignored sstate and _setscene tasks, and '--setscene-only' would allow a build that only ran _setscene tasks, but there was no option do a build that would respect tasks previously restored from sstate and build everything else. Now one can run: bitbake --setscene-only IMAGE; bitbake --skip-setscene IMAGE which is functionally equivalent to: bitbake IMAGE The indented use is to allow a build to complete successfully in the presence of _setscene task failures by splitting apart the two phases e.g.: (bitbake -k --setscene-only IMAGE || true) && bitbake --skip-setscene IMAGE (Bitbake rev: 813ba5b7c13b573a0b813b628a819bdbf0627540) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
97e19bf73b
commit
4fd9ee4670
@@ -121,6 +121,7 @@ class CookerConfiguration(object):
|
|||||||
self.profile = False
|
self.profile = False
|
||||||
self.nosetscene = False
|
self.nosetscene = False
|
||||||
self.setsceneonly = False
|
self.setsceneonly = False
|
||||||
|
self.skipsetscene = False
|
||||||
self.invalidate_stamp = False
|
self.invalidate_stamp = False
|
||||||
self.dump_signatures = []
|
self.dump_signatures = []
|
||||||
self.dry_run = False
|
self.dry_run = False
|
||||||
|
|||||||
@@ -254,6 +254,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
|
|||||||
help="Do not run any setscene tasks. sstate will be ignored and "
|
help="Do not run any setscene tasks. sstate will be ignored and "
|
||||||
"everything needed, built.")
|
"everything needed, built.")
|
||||||
|
|
||||||
|
parser.add_option("", "--skip-setscene", action="store_true",
|
||||||
|
dest="skipsetscene", default=False,
|
||||||
|
help="Skip setscene tasks if they would be executed. Tasks previously "
|
||||||
|
"restored from sstate will be kept, unlike --no-setscene")
|
||||||
|
|
||||||
parser.add_option("", "--setscene-only", action="store_true",
|
parser.add_option("", "--setscene-only", action="store_true",
|
||||||
dest="setsceneonly", default=False,
|
dest="setsceneonly", default=False,
|
||||||
help="Only run setscene tasks, don't run any real tasks.")
|
help="Only run setscene tasks, don't run any real tasks.")
|
||||||
|
|||||||
@@ -2488,6 +2488,11 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
|
|||||||
self.task_skip(task)
|
self.task_skip(task)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
if self.cooker.configuration.skipsetscene:
|
||||||
|
logger.debug(2, 'No setscene tasks should be executed. Skipping %s', task)
|
||||||
|
self.task_failoutright(task)
|
||||||
|
return True
|
||||||
|
|
||||||
startevent = sceneQueueTaskStarted(task, self.stats, self.rq)
|
startevent = sceneQueueTaskStarted(task, self.stats, self.rq)
|
||||||
bb.event.fire(startevent, self.cfgData)
|
bb.event.fire(startevent, self.cfgData)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user