[bitbake-devel] [PATCH] bitbake/cookerdata: Explicitly specify cooker configuration options

Richard Purdie richard.purdie at linuxfoundation.org
Mon May 20 22:01:48 UTC 2013


As the code stands today its hard to know which configuration variables
are used by which parts of the system. Some are used by the UIs, some
by bin/bitbake itself, some by cooker.

This patch changes the configuration to just contain the variables cooker
uses, and changes bin/bitbake to access the variables it needs directly
which hopefully lets us start to untangle this mess.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
index c87e5b3..ac35b94 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -193,8 +193,8 @@ def main():
 
     # Server type can be xmlrpc, process or none currently, if nothing is specified,
     # the default server is process
-    if configuration.servertype:
-        server_type = configuration.servertype
+    if configParams.servertype:
+        server_type = configParams.servertype
     else:
         server_type = 'process'
 
@@ -205,13 +205,13 @@ def main():
         sys.exit("FATAL: Invalid server type '%s' specified.\n"
                  "Valid interfaces: xmlrpc, process [default], none." % servertype)
 
-    if configuration.server_only:
-        if configuration.servertype != "xmlrpc":
+    if configParams.server_only:
+        if configParams.servertype != "xmlrpc":
             sys.exit("FATAL: If '--server-only' is defined, we must set the servertype as 'xmlrpc'.\n")
-        if not configuration.bind:
+        if not configParams.bind:
             sys.exit("FATAL: The '--server-only' option requires a name/address to bind to with the -B option.\n")
 
-    if configuration.bind and configuration.servertype != "xmlrpc":
+    if configParams.bind and configParams.servertype != "xmlrpc":
         sys.exit("FATAL: If '-B' or '--bind' is defined, we must set the servertype as 'xmlrpc'.\n")
 
     if "BBDEBUG" in os.environ:
@@ -219,7 +219,7 @@ def main():
         if level > configuration.debug:
             configuration.debug = level
 
-    bb.msg.init_msgconfig(configuration.verbose, configuration.debug,
+    bb.msg.init_msgconfig(configParams.verbose, configuration.debug,
                          configuration.debug_domains)
 
     # Ensure logging messages get sent to the UI as events
@@ -230,8 +230,8 @@ def main():
     cleanedvars = bb.utils.clean_environment()
 
     server = server.BitBakeServer()
-    if configuration.bind:
-        server.initServer((configuration.bind, 0))
+    if configParams.bind:
+        server.initServer((configParams.bind, 0))
     else:
         server.initServer()
 
@@ -262,7 +262,7 @@ def main():
 
     logger.removeHandler(handler)
 
-    if not configuration.server_only:
+    if not configParams.server_only:
         # Setup a connection to the server (cooker)
         server_connection = server.establishConnection()
 
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index 0b436b3..70e22b4 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/lib/bb/cookerdata.py
@@ -117,11 +117,20 @@ class CookerConfiguration(object):
         self.postfile = []
         self.debug = 0
         self.cmd = None
+        self.abort = True
+        self.force = False
+        self.ui = None
+        self.profile = False
+        self.nosetscene = False
+        self.invalidate_stamp = False
+        self.dump_signatures = False
+        self.dry_run = False
 
     def setConfigParameters(self, parameters):
         self.params = parameters
-        for key, val in parameters.options.__dict__.items():
-            setattr(self, key, val)
+        for key in self.__dict__.keys():
+            if key in parameters.options.__dict__:
+                setattr(self, key, parameters.options.__dict__[key])
 
     def setServerRegIdleCallback(self, srcb):
         self.server_register_idlecallback = srcb






More information about the bitbake-devel mailing list