Patchwork [bitbake-devel,1/5] bitbake: Add --status-only option

login
register
mail settings
Submitter Jason Wessel
Date Nov. 25, 2013, 9:21 p.m.
Message ID <1385414489-2901-2-git-send-email-jason.wessel@windriver.com>
Download mbox | patch
Permalink /patch/62323/
State New
Headers show

Comments

Jason Wessel - Nov. 25, 2013, 9:21 p.m.
The --status-only option is purely to check the health of the server.
The idea is to use it from the oe environment script so as to know if
the server needs to be started or not.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
 bin/bitbake |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

Patch

diff --git a/bin/bitbake b/bin/bitbake
index 50971a8..cca2b8d 100755
--- a/bin/bitbake
+++ b/bin/bitbake
@@ -190,6 +190,9 @@  class BitBakeConfigParameters(cookerdata.ConfigParameters):
         parser.add_option("", "--observe-only", help = "Connect to a server as an observing-only client.",
                    action = "store_true", dest = "observe_only", default = False)
 
+        parser.add_option("", "--status-only", help = "Check the status of the remote bitbake server.",
+                   action = "store_true", dest = "status_only", default = False)
+
         options, targets = parser.parse_args(sys.argv)
 
         # some environmental variables set also configuration options
@@ -284,7 +287,9 @@  def main():
 
     # Ensure logging messages get sent to the UI as events
     handler = bb.event.LogHandler()
-    logger.addHandler(handler)
+    if not configParams.status_only:
+        # In status only mode there are no logs and no UI
+        logger.addHandler(handler)
 
     # Clear away any spurious environment variables while we stoke up the cooker
     cleanedvars = bb.utils.clean_environment()
@@ -302,6 +307,14 @@  def main():
         # Collect the feature set for the UI
         featureset = getattr(ui_module, "featureSet", [])
 
+        if configParams.status_only:
+            try:
+                server_connection = server.establishConnection(featureset)
+            except:
+                sys.exit(1)
+            server_connection.terminate()
+            sys.exit(0)
+
         # Setup a connection to the server (cooker)
         server_connection = server.establishConnection(featureset)