diff options
author | Dongxiao Xu <dongxiao.xu@intel.com> | 2012-04-12 23:46:26 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-04-13 12:04:19 +0100 |
commit | 9c1dcdceb235c53b92a64e741f5a5491b1e489bd (patch) | |
tree | c1f2111a2c7c947c3fd00f7542e104c03d49cf1a /bitbake/lib/bb/ui/crumbs/builder.py | |
parent | 302f2cc8ce756ab61042f1d904df4d18071a976a (diff) | |
download | poky-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-x | bitbake/lib/bb/ui/crumbs/builder.py | 26 |
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 | ||
213 | def 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 | |||
213 | class Builder(gtk.Window): | 237 | class 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): |