summaryrefslogtreecommitdiffstats
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-11 23:26:32 +0000
commit46731daa5f74a61dc6c48d9109b4ad4efb835705 (patch)
tree86f7e221be89ed7a5bae377676f0b6cd4ecac9c4
parent34f8db9b44fb65e0770886276377cba55af8756c (diff)
downloadopenembedded-core-contrib-46731daa5f74a61dc6c48d9109b4ad4efb835705.tar.gz
openembedded-core-contrib-46731daa5f74a61dc6c48d9109b4ad4efb835705.tar.bz2
openembedded-core-contrib-46731daa5f74a61dc6c48d9109b4ad4efb835705.zip
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>
-rw-r--r--bitbake/lib/bb/cookerdata.py1
-rwxr-xr-xbitbake/lib/bb/main.py3
-rw-r--r--bitbake/lib/bb/runqueue.py9
3 files changed, 10 insertions, 3 deletions
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index b47e7f3230..9f4067404a 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/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/bitbake/lib/bb/main.py b/bitbake/lib/bb/main.py
index c0ae38ab6d..bf59793db5 100755
--- a/bitbake/lib/bb/main.py
+++ b/bitbake/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/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index ee06f0e71e..da7059b17f 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/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()