summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/crumbs/builder.py
diff options
context:
space:
mode:
authorDongxiao Xu <dongxiao.xu@intel.com>2012-04-12 23:46:26 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-04-13 12:04:19 +0100
commit9c1dcdceb235c53b92a64e741f5a5491b1e489bd (patch)
treec1f2111a2c7c947c3fd00f7542e104c03d49cf1a /bitbake/lib/bb/ui/crumbs/builder.py
parent302f2cc8ce756ab61042f1d904df4d18071a976a (diff)
downloadpoky-9c1dcdceb235c53b92a64e741f5a5491b1e489bd.tar.gz
Hob: Implement Hob config parse hook
To make Hob's specific variable settings take effect, we add a Hob config hook at the end of parsing for each configuration file, and in the hook function, Hob will set its own variables to the data store. This fixes: [YOCTO #2210] [YOCTO #2254] (Bitbake rev: 0ec7d1bbfd2e09ae60f99e6134b20ffd1d9145b1) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui/crumbs/builder.py')
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/builder.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py
index 10b9a77032..410ff5fa85 100755
--- a/bitbake/lib/bb/ui/crumbs/builder.py
+++ b/bitbake/lib/bb/ui/crumbs/builder.py
@@ -210,6 +210,30 @@ class Parameters:
210 self.tmpdir = params["tmpdir"] 210 self.tmpdir = params["tmpdir"]
211 self.enable_proxy = False 211 self.enable_proxy = False
212 212
213def hob_conf_filter(fn, data):
214 if fn.endswith("/local.conf"):
215 distro = data.getVar("DISTRO_HOB")
216 if distro:
217 if distro != "defaultsetup":
218 data.setVar("DISTRO", distro)
219 else:
220 data.delVar("DISTRO")
221
222 keys = ["MACHINE_HOB", "SDKMACHINE_HOB", "PACKAGE_CLASSES_HOB", \
223 "BB_NUMBER_THREADS_HOB", "PARALLEL_MAKE_HOB", "DL_DIR_HOB", \
224 "SSTATE_DIR_HOB", "SSTATE_MIRROR_HOB", "INCOMPATIBLE_LICENSE_HOB"]
225 for key in keys:
226 var_hob = data.getVar(key)
227 if var_hob:
228 data.setVar(key.split("_HOB")[0], var_hob)
229 return
230
231 if fn.endswith("/bblayers.conf"):
232 layers = data.getVar("BBLAYERS_HOB")
233 if layers:
234 data.setVar("BBLAYERS", layers)
235 return
236
213class Builder(gtk.Window): 237class Builder(gtk.Window):
214 238
215 (MACHINE_SELECTION, 239 (MACHINE_SELECTION,
@@ -296,6 +320,8 @@ class Builder(gtk.Window):
296 self.handler.connect("command-succeeded", self.handler_command_succeeded_cb) 320 self.handler.connect("command-succeeded", self.handler_command_succeeded_cb)
297 self.handler.connect("command-failed", self.handler_command_failed_cb) 321 self.handler.connect("command-failed", self.handler_command_failed_cb)
298 322
323 self.handler.set_config_filter(hob_conf_filter)
324
299 self.initiate_new_build_async() 325 self.initiate_new_build_async()
300 326
301 def create_visual_elements(self): 327 def create_visual_elements(self):