[oe-commits] [bitbake] 04/08: cooker: add BB_CMDLINE to enable access to UI command line with memres

git at git.openembedded.org git at git.openembedded.org
Fri Jun 9 16:28:35 UTC 2017


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

rpurdie pushed a commit to branch master
in repository bitbake.

commit 8ad31a3eff5cfcb7b1c462578a582dafcbc426d4
Author: Paul Eggleton <paul.eggleton at linux.intel.com>
AuthorDate: Fri Jun 9 15:34:46 2017 +0200

    cooker: add BB_CMDLINE to enable access to UI command line with memres
    
    In OpenEmbedded's buildhistory class we want access to the bitbake
    command line that launched the build, and up to now we were simply using
    sys.argv from within the event handler to get that. Unfortunately that
    doesn't work in memory resident mode, since the event handler is
    naturally executing within the server and thus will give you the command
    that launched the bitbake server which is much less interesting. Add a
    dynamic variable BB_CMDLINE to provide access to this, set from sys.argv
    within the UI process in updateToServer().
    
    (Note that BB_CMDLINE isn't currently passed through to the worker, so
    this is only really readable from event handlers plus any explicit
    getVariable calls - in theory an observe-only UI could read it for
    example.)
    
    Part of the fix for [YOCTO #11634].
    
    Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/command.py    | 3 ++-
 lib/bb/cooker.py     | 7 ++++++-
 lib/bb/cookerdata.py | 2 +-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/bb/command.py b/lib/bb/command.py
index ab51d8e..a919f58 100644
--- a/lib/bb/command.py
+++ b/lib/bb/command.py
@@ -310,7 +310,8 @@ class CommandsSync:
     def updateConfig(self, command, params):
         options = params[0]
         environment = params[1]
-        command.cooker.updateConfigOpts(options, environment)
+        cmdline = params[2]
+        command.cooker.updateConfigOpts(options, environment, cmdline)
     updateConfig.needconfig = False
 
     def parseConfiguration(self, command, params):
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 1283136..45b5a61 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -192,6 +192,8 @@ class BBCooker:
         bb.parse.__mtime_cache = {}
         bb.parse.BBHandler.cached_statements = {}
 
+        self.ui_cmdline = None
+
         self.initConfigurationData()
 
         # we log all events to a file if so directed
@@ -360,6 +362,8 @@ class BBCooker:
         if consolelog:
             self.data.setVar("BB_CONSOLELOG", consolelog)
 
+        self.data.setVar('BB_CMDLINE', self.ui_cmdline)
+
         #
         # Copy of the data store which has been expanded.
         # Used for firing events and accessing variables where expansion needs to be accounted for
@@ -539,7 +543,8 @@ class BBCooker:
 
         self.handleCollections(self.data.getVar("BBFILE_COLLECTIONS"))
 
-    def updateConfigOpts(self, options, environment):
+    def updateConfigOpts(self, options, environment, cmdline):
+        self.ui_cmdline = cmdline
         clean = True
         for o in options:
             if o in ['prefile', 'postfile']:
diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py
index 524a2cd..3d3f133 100644
--- a/lib/bb/cookerdata.py
+++ b/lib/bb/cookerdata.py
@@ -79,7 +79,7 @@ class ConfigParameters(object):
                   "prefile", "postfile", "tracking"]:
             options[o] = getattr(self.options, o)
 
-        ret, error = server.runCommand(["updateConfig", options, environment])
+        ret, error = server.runCommand(["updateConfig", options, environment, sys.argv])
         if error:
                 raise Exception("Unable to update the server configuration with local parameters: %s" % error)
 

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


More information about the Openembedded-commits mailing list