[bitbake-devel] Richard Purdie : cooker.py: Add missing BB_WORKERCONTEXT conditionals

Submitted by git@git.openembedded.org on Jan. 5, 2012, 1:11 p.m.


Message ID 20120105131153.0FFD610335@opal
State Accepted
Commit bc954f74620959703a0e921fcac3a6892675fe0d
Headers show

Commit Message

git@git.openembedded.org Jan. 5, 2012, 1:11 p.m.
Module: bitbake.git
Branch: master
Commit: bc954f74620959703a0e921fcac3a6892675fe0d
URL:    http://git.openembedded.org/?p=bitbake.git&a=commit;h=bc954f74620959703a0e921fcac3a6892675fe0d

Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Thu Jan  5 13:01:36 2012 +0000

cooker.py: Add missing BB_WORKERCONTEXT conditionals

Its desireable to run be able to execute bitbake tasks directly, only
loading as much of the cooker is as necessary to do this. This use case
can be identified by the BB_WORKERCONTEXT variable. There were a couple
of places cooker code needed to be conditional on this but wasn't. This
brings in the missing conditionals from poky where those code paths
are used more heavily completing the support in master.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>


 lib/bb/cooker.py |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

Patch hide | download patch | download mbox

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 27abca0..15243f2 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -170,6 +170,9 @@  class BBCooker:
     def loadConfigurationData(self):
         self.configuration.data = bb.data.init()
+        if not self.server_registration_cb:
+            self.configuration.data.setVar("BB_WORKERCONTEXT", "1")
         filtered_keys = bb.utils.approved_variables()
         bb.data.inheritFromOS(self.configuration.data, self.savedenv, filtered_keys)
@@ -827,7 +830,8 @@  class BBCooker:
         for var in data.getVar('__BBHANDLERS') or []:
             bb.event.register(var, data.getVar(var))
-        bb.fetch.fetcher_init(data)
+        if data.getVar("BB_WORKERCONTEXT", False) is None:
+            bb.fetch.fetcher_init(data)
         bb.event.fire(bb.event.ConfigParsed(), data)