diff options
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/command.py | 38 | ||||
-rw-r--r-- | bitbake/lib/bb/cooker.py | 31 | ||||
-rwxr-xr-x | bitbake/lib/bb/ui/crumbs/builder.py | 1 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 17 |
4 files changed, 34 insertions, 53 deletions
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py index a2795ce0b7..e30d21d379 100644 --- a/bitbake/lib/bb/command.py +++ b/bitbake/lib/bb/command.py | |||
@@ -196,18 +196,11 @@ class CommandsSync: | |||
196 | """ | 196 | """ |
197 | command.cooker.disableDataTracking() | 197 | command.cooker.disableDataTracking() |
198 | 198 | ||
199 | def initCooker(self, command, params): | 199 | def setPrePostConfFiles(self, command, params): |
200 | """ | 200 | prefiles = params[0].split() |
201 | Init the cooker to initial state with nothing parsed | 201 | postfiles = params[1].split() |
202 | """ | 202 | command.cooker.configuration.prefile = prefiles |
203 | command.cooker.initialize() | 203 | command.cooker.configuration.postfile = postfiles |
204 | |||
205 | def resetCooker(self, command, params): | ||
206 | """ | ||
207 | Reset the cooker to its initial state, thus forcing a reparse for | ||
208 | any async command that has the needcache property set to True | ||
209 | """ | ||
210 | command.cooker.reset() | ||
211 | 204 | ||
212 | def getCpuCount(self, command, params): | 205 | def getCpuCount(self, command, params): |
213 | """ | 206 | """ |
@@ -420,18 +413,6 @@ class CommandsAsync: | |||
420 | command.finishAsyncCommand() | 413 | command.finishAsyncCommand() |
421 | compareRevisions.needcache = True | 414 | compareRevisions.needcache = True |
422 | 415 | ||
423 | def parseConfigurationFiles(self, command, params): | ||
424 | """ | ||
425 | Parse the configuration files | ||
426 | """ | ||
427 | prefiles = params[0].split() | ||
428 | postfiles = params[1].split() | ||
429 | command.cooker.configuration.prefile = prefiles | ||
430 | command.cooker.configuration.postfile = postfiles | ||
431 | command.cooker.loadConfigurationData() | ||
432 | command.finishAsyncCommand() | ||
433 | parseConfigurationFiles.needcache = False | ||
434 | |||
435 | def triggerEvent(self, command, params): | 416 | def triggerEvent(self, command, params): |
436 | """ | 417 | """ |
437 | Trigger a certain event | 418 | Trigger a certain event |
@@ -441,3 +422,12 @@ class CommandsAsync: | |||
441 | command.currentAsyncCommand = None | 422 | command.currentAsyncCommand = None |
442 | triggerEvent.needcache = False | 423 | triggerEvent.needcache = False |
443 | 424 | ||
425 | def resetCooker(self, command, params): | ||
426 | """ | ||
427 | Reset the cooker to its initial state, thus forcing a reparse for | ||
428 | any async command that has the needcache property set to True | ||
429 | """ | ||
430 | command.cooker.reset() | ||
431 | command.finishAsyncCommand() | ||
432 | resetCooker.needcache = False | ||
433 | |||
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 7b10f80680..fcf8db5c11 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -117,7 +117,7 @@ class BBCooker: | |||
117 | 117 | ||
118 | self.configuration = configuration | 118 | self.configuration = configuration |
119 | 119 | ||
120 | self.loadConfigurationData() | 120 | self.initConfigurationData() |
121 | 121 | ||
122 | # Take a lock so only one copy of bitbake can run against a given build | 122 | # Take a lock so only one copy of bitbake can run against a given build |
123 | # directory at a time | 123 | # directory at a time |
@@ -152,9 +152,11 @@ class BBCooker: | |||
152 | def initConfigurationData(self): | 152 | def initConfigurationData(self): |
153 | 153 | ||
154 | self.state = state.initial | 154 | self.state = state.initial |
155 | |||
156 | self.caches_array = [] | 155 | self.caches_array = [] |
157 | 156 | ||
157 | if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset: | ||
158 | self.enableDataTracking() | ||
159 | |||
158 | all_extra_cache_names = [] | 160 | all_extra_cache_names = [] |
159 | # We hardcode all known cache types in a single place, here. | 161 | # We hardcode all known cache types in a single place, here. |
160 | if CookerFeatures.HOB_EXTRA_CACHES in self.featureset: | 162 | if CookerFeatures.HOB_EXTRA_CACHES in self.featureset: |
@@ -176,19 +178,6 @@ class BBCooker: | |||
176 | self.databuilder = bb.cookerdata.CookerDataBuilder(self.configuration, False) | 178 | self.databuilder = bb.cookerdata.CookerDataBuilder(self.configuration, False) |
177 | self.data = self.databuilder.data | 179 | self.data = self.databuilder.data |
178 | 180 | ||
179 | def enableDataTracking(self): | ||
180 | self.configuration.tracking = True | ||
181 | self.data.enableTracking() | ||
182 | |||
183 | def disableDataTracking(self): | ||
184 | self.configuration.tracking = False | ||
185 | self.data.disableTracking() | ||
186 | |||
187 | def loadConfigurationData(self): | ||
188 | if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset: | ||
189 | self.enableDataTracking() | ||
190 | |||
191 | self.initConfigurationData() | ||
192 | self.databuilder.parseBaseConfiguration() | 181 | self.databuilder.parseBaseConfiguration() |
193 | self.data = self.databuilder.data | 182 | self.data = self.databuilder.data |
194 | self.data_hash = self.databuilder.data_hash | 183 | self.data_hash = self.databuilder.data_hash |
@@ -203,6 +192,13 @@ class BBCooker: | |||
203 | if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset: | 192 | if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset: |
204 | self.disableDataTracking() | 193 | self.disableDataTracking() |
205 | 194 | ||
195 | def enableDataTracking(self): | ||
196 | self.configuration.tracking = True | ||
197 | self.data.enableTracking() | ||
198 | |||
199 | def disableDataTracking(self): | ||
200 | self.configuration.tracking = False | ||
201 | self.data.disableTracking() | ||
206 | 202 | ||
207 | def modifyConfigurationVar(self, var, val, default_file, op): | 203 | def modifyConfigurationVar(self, var, val, default_file, op): |
208 | if op == "append": | 204 | if op == "append": |
@@ -1333,11 +1329,8 @@ class BBCooker: | |||
1333 | def finishcommand(self): | 1329 | def finishcommand(self): |
1334 | self.state = state.initial | 1330 | self.state = state.initial |
1335 | 1331 | ||
1336 | def initialize(self): | ||
1337 | self.initConfigurationData() | ||
1338 | |||
1339 | def reset(self): | 1332 | def reset(self): |
1340 | self.loadConfigurationData() | 1333 | self.initConfigurationData() |
1341 | 1334 | ||
1342 | def server_main(cooker, func, *args): | 1335 | def server_main(cooker, func, *args): |
1343 | cooker.pre_serve() | 1336 | cooker.pre_serve() |
diff --git a/bitbake/lib/bb/ui/crumbs/builder.py b/bitbake/lib/bb/ui/crumbs/builder.py index 1ace5cf714..e0fc0d1114 100755 --- a/bitbake/lib/bb/ui/crumbs/builder.py +++ b/bitbake/lib/bb/ui/crumbs/builder.py | |||
@@ -704,7 +704,6 @@ class Builder(gtk.Window): | |||
704 | self.set_user_config_proxies() | 704 | self.set_user_config_proxies() |
705 | 705 | ||
706 | def set_user_config(self): | 706 | def set_user_config(self): |
707 | self.handler.reset_cooker() | ||
708 | # set bb layers | 707 | # set bb layers |
709 | self.handler.set_bblayers(self.configuration.layers) | 708 | self.handler.set_bblayers(self.configuration.layers) |
710 | # set local configuration | 709 | # set local configuration |
diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index 06a05b67f4..ce8584df4c 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py | |||
@@ -149,9 +149,7 @@ class HobHandler(gobject.GObject): | |||
149 | elif next_command == self.SUB_MATCH_CLASS: | 149 | elif next_command == self.SUB_MATCH_CLASS: |
150 | self.runCommand(["findFilesMatchingInDir", "rootfs_", "classes"]) | 150 | self.runCommand(["findFilesMatchingInDir", "rootfs_", "classes"]) |
151 | elif next_command == self.SUB_PARSE_CONFIG: | 151 | elif next_command == self.SUB_PARSE_CONFIG: |
152 | self.runCommand(["enableDataTracking"]) | 152 | self.runCommand(["resetCooker"]) |
153 | self.runCommand(["parseConfigurationFiles", "conf/.hob.conf", ""]) | ||
154 | self.runCommand(["disableDataTracking"]) | ||
155 | elif next_command == self.SUB_GNERATE_TGTS: | 153 | elif next_command == self.SUB_GNERATE_TGTS: |
156 | self.runCommand(["generateTargetsTree", "classes/image.bbclass", []]) | 154 | self.runCommand(["generateTargetsTree", "classes/image.bbclass", []]) |
157 | elif next_command == self.SUB_GENERATE_PKGINFO: | 155 | elif next_command == self.SUB_GENERATE_PKGINFO: |
@@ -206,7 +204,8 @@ class HobHandler(gobject.GObject): | |||
206 | reparse = self.runCommand(["getVariable", "BB_INVALIDCONF"]) or None | 204 | reparse = self.runCommand(["getVariable", "BB_INVALIDCONF"]) or None |
207 | if reparse is True: | 205 | if reparse is True: |
208 | self.set_var_in_file("BB_INVALIDCONF", False, "local.conf") | 206 | self.set_var_in_file("BB_INVALIDCONF", False, "local.conf") |
209 | self.runCommand(["parseConfigurationFiles", "conf/.hob.conf", ""]) | 207 | self.runCommand(["setPrePostConfFiles", "conf/.hob.conf", ""]) |
208 | self.commands_async.prepend(self.SUB_PARSE_CONFIG) | ||
210 | self.run_next_command() | 209 | self.run_next_command() |
211 | 210 | ||
212 | elif isinstance(event, bb.event.SanityCheckFailed): | 211 | elif isinstance(event, bb.event.SanityCheckFailed): |
@@ -304,12 +303,8 @@ class HobHandler(gobject.GObject): | |||
304 | return | 303 | return |
305 | 304 | ||
306 | def init_cooker(self): | 305 | def init_cooker(self): |
307 | self.runCommand(["initCooker"]) | ||
308 | self.runCommand(["createConfigFile", ".hob.conf"]) | 306 | self.runCommand(["createConfigFile", ".hob.conf"]) |
309 | 307 | ||
310 | def reset_cooker(self): | ||
311 | self.runCommand(["resetCooker"]) | ||
312 | |||
313 | def set_extra_inherit(self, bbclass): | 308 | def set_extra_inherit(self, bbclass): |
314 | inherits = self.runCommand(["getVariable", "INHERIT"]) or "" | 309 | inherits = self.runCommand(["getVariable", "INHERIT"]) or "" |
315 | inherits = inherits + " " + bbclass | 310 | inherits = inherits + " " + bbclass |
@@ -409,15 +404,17 @@ class HobHandler(gobject.GObject): | |||
409 | self.run_next_command(self.NETWORK_TEST) | 404 | self.run_next_command(self.NETWORK_TEST) |
410 | 405 | ||
411 | def generate_configuration(self): | 406 | def generate_configuration(self): |
412 | self.commands_async.append(self.SUB_PARSE_CONFIG) | 407 | self.runCommand(["setPrePostConfFiles", "conf/.hob.conf", ""]) |
413 | self.commands_async.append(self.SUB_PATH_LAYERS) | 408 | self.commands_async.append(self.SUB_PATH_LAYERS) |
414 | self.commands_async.append(self.SUB_FILES_DISTRO) | 409 | self.commands_async.append(self.SUB_FILES_DISTRO) |
415 | self.commands_async.append(self.SUB_FILES_MACH) | 410 | self.commands_async.append(self.SUB_FILES_MACH) |
416 | self.commands_async.append(self.SUB_FILES_SDKMACH) | 411 | self.commands_async.append(self.SUB_FILES_SDKMACH) |
417 | self.commands_async.append(self.SUB_MATCH_CLASS) | 412 | self.commands_async.append(self.SUB_MATCH_CLASS) |
413 | self.commands_async.append(self.SUB_PARSE_CONFIG) | ||
418 | self.run_next_command(self.GENERATE_CONFIGURATION) | 414 | self.run_next_command(self.GENERATE_CONFIGURATION) |
419 | 415 | ||
420 | def generate_recipes(self): | 416 | def generate_recipes(self): |
417 | self.runCommand(["setPrePostConfFiles", "conf/.hob.conf", ""]) | ||
421 | self.commands_async.append(self.SUB_PARSE_CONFIG) | 418 | self.commands_async.append(self.SUB_PARSE_CONFIG) |
422 | self.commands_async.append(self.SUB_GNERATE_TGTS) | 419 | self.commands_async.append(self.SUB_GNERATE_TGTS) |
423 | self.run_next_command(self.GENERATE_RECIPES) | 420 | self.run_next_command(self.GENERATE_RECIPES) |
@@ -427,6 +424,7 @@ class HobHandler(gobject.GObject): | |||
427 | targets.extend(tgts) | 424 | targets.extend(tgts) |
428 | self.recipe_queue = targets | 425 | self.recipe_queue = targets |
429 | self.default_task = default_task | 426 | self.default_task = default_task |
427 | self.runCommand(["setPrePostConfFiles", "conf/.hob.conf", ""]) | ||
430 | self.commands_async.append(self.SUB_PARSE_CONFIG) | 428 | self.commands_async.append(self.SUB_PARSE_CONFIG) |
431 | self.commands_async.append(self.SUB_BUILD_RECIPES) | 429 | self.commands_async.append(self.SUB_BUILD_RECIPES) |
432 | self.run_next_command(self.GENERATE_PACKAGES) | 430 | self.run_next_command(self.GENERATE_PACKAGES) |
@@ -438,6 +436,7 @@ class HobHandler(gobject.GObject): | |||
438 | self.package_queue = image_packages | 436 | self.package_queue = image_packages |
439 | self.toolchain_packages = toolchain_packages | 437 | self.toolchain_packages = toolchain_packages |
440 | self.default_task = default_task | 438 | self.default_task = default_task |
439 | self.runCommand(["setPrePostConfFiles", "conf/.hob.conf", ""]) | ||
441 | self.commands_async.append(self.SUB_PARSE_CONFIG) | 440 | self.commands_async.append(self.SUB_PARSE_CONFIG) |
442 | self.commands_async.append(self.SUB_BUILD_IMAGE) | 441 | self.commands_async.append(self.SUB_BUILD_IMAGE) |
443 | self.run_next_command(self.GENERATE_IMAGE) | 442 | self.run_next_command(self.GENERATE_IMAGE) |