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

login
register
mail settings
Submitter git@git.openembedded.org
Date Jan. 5, 2012, 1:11 p.m.
Message ID <20120105131153.0FFD610335@opal>
Download mbox | patch
Permalink /patch/18433/
State Accepted
Commit bc954f74620959703a0e921fcac3a6892675fe0d
Headers show

Comments

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

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.codeparser.parser_cache_init(data)
         bb.parse.init_parser(data)
         bb.event.fire(bb.event.ConfigParsed(), data)