[oe-commits] [bitbake] branch master-next updated: bitbake: Add --skip-setscene option

git at git.openembedded.org git at git.openembedded.org
Tue Jul 2 23:05:45 UTC 2019


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository bitbake.

The following commit(s) were added to refs/heads/master-next by this push:
     new 813ba5b  bitbake: Add --skip-setscene option
813ba5b is described below

commit 813ba5b7c13b573a0b813b628a819bdbf0627540
Author: Joshua Watt <jpewhacker at gmail.com>
AuthorDate: Mon Jul 1 13:22:23 2019 -0500

    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
    
    Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/cookerdata.py | 1 +
 lib/bb/main.py       | 5 +++++
 lib/bb/runqueue.py   | 5 +++++
 3 files changed, 11 insertions(+)

diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py
index e64c6c5..144e803 100644
--- a/lib/bb/cookerdata.py
+++ b/lib/bb/cookerdata.py
@@ -121,6 +121,7 @@ class CookerConfiguration(object):
         self.profile = False
         self.nosetscene = False
         self.setsceneonly = False
+        self.skipsetscene = 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 3071141..af2880f 100755
--- a/lib/bb/main.py
+++ b/lib/bb/main.py
@@ -254,6 +254,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
                           help="Do not run any setscene tasks. sstate will be ignored and "
                                "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",
                           dest="setsceneonly", default=False,
                           help="Only run setscene tasks, don't run any real tasks.")
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 58707db..704e309 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -2488,6 +2488,11 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
                 self.task_skip(task)
                 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)
             bb.event.fire(startevent, self.cfgData)
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list