summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-08 18:25:55 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-08 23:03:04 +0000
commite4a2aafa1650a227a04d92a8a0b31efaed2c310e (patch)
tree47b7a786e159f12e8cf845cbbf982cd51e7ac495 /lib
parent4193e99adce8e88f12ac88d7578ad39575f7e346 (diff)
downloadbitbake-contrib-e4a2aafa1650a227a04d92a8a0b31efaed2c310e.tar.gz
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/bb/cookerdata.py1
-rwxr-xr-xlib/bb/main.py3
-rw-r--r--lib/bb/runqueue.py9
3 files changed, 10 insertions, 3 deletions
diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py
index b47e7f323..9f4067404 100644
--- a/lib/bb/cookerdata.py
+++ b/lib/bb/cookerdata.py
@@ -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
diff --git a/lib/bb/main.py b/lib/bb/main.py
index c0ae38ab6..bf59793db 100755
--- a/lib/bb/main.py
+++ b/lib/bb/main.py
@@ -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)
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index ee06f0e71..da7059b17 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -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()