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

Submitted by Jason Wessel on Nov. 25, 2013, 9:21 p.m.

Details

Message ID 1385414489-2901-2-git-send-email-jason.wessel@windriver.com
State New
Headers show

Commit Message

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 hide | download patch | download mbox

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)