bitbake: main/runqueue: Add --setscene-only option to bitbake

Its turning out that we really need a way to have bitbake just run
the setscene tasks but not any real tasks, particularly for SDK
operations.

Add an option for this since its pretty straight forward. This allows
various nasty workarounds in OE-Core to be removed.

(Bitbake rev: e4a2aafa1650a227a04d92a8a0b31efaed2c310e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2016-01-08 18:25:55 +00:00
parent 34f8db9b44
commit 46731daa5f
3 changed files with 10 additions and 3 deletions

View File

@ -137,6 +137,7 @@ class CookerConfiguration(object):
self.force = False
self.profile = False
self.nosetscene = False
self.setsceneonly = False
self.invalidate_stamp = False
self.dump_signatures = []
self.dry_run = False

View File

@ -219,6 +219,9 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
parser.add_option("", "--no-setscene", help = "Do not run any setscene tasks. sstate will be ignored and everything needed, built.",
action = "store_true", dest = "nosetscene", default = False)
parser.add_option("", "--setscene-only", help = "Only run setscene tasks, don't run any real tasks.",
action = "store_true", dest = "setsceneonly", default = False)
parser.add_option("", "--remote-server", help = "Connect to the specified server.",
action = "store", dest = "remote_server", default = False)

View File

@ -1077,9 +1077,12 @@ class RunQueue:
retval = self.rqexe.execute()
if self.state is runQueueRunInit:
logger.info("Executing RunQueue Tasks")
self.rqexe = RunQueueExecuteTasks(self)
self.state = runQueueRunning
if self.cooker.configuration.setsceneonly:
self.state = runQueueComplete
else:
logger.info("Executing RunQueue Tasks")
self.rqexe = RunQueueExecuteTasks(self)
self.state = runQueueRunning
if self.state is runQueueRunning:
retval = self.rqexe.execute()