diff options
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 146 |
1 files changed, 73 insertions, 73 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 2edfa9faeb..77273dcb29 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -108,13 +108,13 @@ class BBCooker: | |||
108 | logger.critical("Unable to import extra RecipeInfo '%s' from '%s': %s" % (cache_name, module_name, exc)) | 108 | logger.critical("Unable to import extra RecipeInfo '%s' from '%s': %s" % (cache_name, module_name, exc)) |
109 | sys.exit("FATAL: Failed to import extra cache class '%s'." % cache_name) | 109 | sys.exit("FATAL: Failed to import extra cache class '%s'." % cache_name) |
110 | 110 | ||
111 | self.configuration.data = None | 111 | self.data = None |
112 | self.initConfigurationData() | 112 | self.initConfigurationData() |
113 | self.loadConfigurationData() | 113 | self.loadConfigurationData() |
114 | 114 | ||
115 | # Take a lock so only one copy of bitbake can run against a given build | 115 | # Take a lock so only one copy of bitbake can run against a given build |
116 | # directory at a time | 116 | # directory at a time |
117 | lockfile = self.configuration.data.expand("${TOPDIR}/bitbake.lock") | 117 | lockfile = self.data.expand("${TOPDIR}/bitbake.lock") |
118 | self.lock = bb.utils.lockfile(lockfile, False, False) | 118 | self.lock = bb.utils.lockfile(lockfile, False, False) |
119 | if not self.lock: | 119 | if not self.lock: |
120 | bb.fatal("Only one copy of bitbake should be run against a build directory") | 120 | bb.fatal("Only one copy of bitbake should be run against a build directory") |
@@ -122,9 +122,9 @@ class BBCooker: | |||
122 | # | 122 | # |
123 | # Special updated configuration we use for firing events | 123 | # Special updated configuration we use for firing events |
124 | # | 124 | # |
125 | self.configuration.event_data = bb.data.createCopy(self.configuration.data) | 125 | self.event_data = bb.data.createCopy(self.data) |
126 | bb.data.update_data(self.configuration.event_data) | 126 | bb.data.update_data(self.event_data) |
127 | bb.parse.init_parser(self.configuration.event_data) | 127 | bb.parse.init_parser(self.event_data) |
128 | 128 | ||
129 | # TOSTOP must not be set or our children will hang when they output | 129 | # TOSTOP must not be set or our children will hang when they output |
130 | fd = sys.stdout.fileno() | 130 | fd = sys.stdout.fileno() |
@@ -147,27 +147,27 @@ class BBCooker: | |||
147 | worker = True | 147 | worker = True |
148 | 148 | ||
149 | self.databuilder = bb.cookerdata.CookerDataBuilder(self.configuration, worker) | 149 | self.databuilder = bb.cookerdata.CookerDataBuilder(self.configuration, worker) |
150 | self.configuration.data = self.databuilder.data | 150 | self.data = self.databuilder.data |
151 | 151 | ||
152 | def enableDataTracking(self): | 152 | def enableDataTracking(self): |
153 | self.configuration.data.enableTracking() | 153 | self.data.enableTracking() |
154 | 154 | ||
155 | def disableDataTracking(self): | 155 | def disableDataTracking(self): |
156 | self.configuration.data.disableTracking() | 156 | self.data.disableTracking() |
157 | 157 | ||
158 | def loadConfigurationData(self): | 158 | def loadConfigurationData(self): |
159 | self.databuilder.parseBaseConfiguration() | 159 | self.databuilder.parseBaseConfiguration() |
160 | self.configuration.data = self.databuilder.data | 160 | self.data = self.databuilder.data |
161 | self.configuration.data_hash = self.databuilder.data_hash | 161 | self.data_hash = self.databuilder.data_hash |
162 | 162 | ||
163 | def saveConfigurationVar(self, var, val, default_file): | 163 | def saveConfigurationVar(self, var, val, default_file): |
164 | 164 | ||
165 | replaced = False | 165 | replaced = False |
166 | #do not save if nothing changed | 166 | #do not save if nothing changed |
167 | if str(val) == self.configuration.data.getVar(var): | 167 | if str(val) == self.data.getVar(var): |
168 | return | 168 | return |
169 | 169 | ||
170 | conf_files = self.configuration.data.varhistory.get_variable_files(var) | 170 | conf_files = self.data.varhistory.get_variable_files(var) |
171 | 171 | ||
172 | #format the value when it is a list | 172 | #format the value when it is a list |
173 | if isinstance(val, list): | 173 | if isinstance(val, list): |
@@ -176,7 +176,7 @@ class BBCooker: | |||
176 | listval += "%s " % value | 176 | listval += "%s " % value |
177 | val = listval | 177 | val = listval |
178 | 178 | ||
179 | topdir = self.configuration.data.getVar("TOPDIR") | 179 | topdir = self.data.getVar("TOPDIR") |
180 | 180 | ||
181 | #comment or replace operations made on var | 181 | #comment or replace operations made on var |
182 | for conf_file in conf_files: | 182 | for conf_file in conf_files: |
@@ -185,7 +185,7 @@ class BBCooker: | |||
185 | contents = f.readlines() | 185 | contents = f.readlines() |
186 | f.close() | 186 | f.close() |
187 | 187 | ||
188 | lines = self.configuration.data.varhistory.get_variable_lines(var, conf_file) | 188 | lines = self.data.varhistory.get_variable_lines(var, conf_file) |
189 | for line in lines: | 189 | for line in lines: |
190 | total = "" | 190 | total = "" |
191 | i = 0 | 191 | i = 0 |
@@ -218,7 +218,7 @@ class BBCooker: | |||
218 | 218 | ||
219 | if replaced == False: | 219 | if replaced == False: |
220 | #remove var from history | 220 | #remove var from history |
221 | self.configuration.data.varhistory.del_var_history(var) | 221 | self.data.varhistory.del_var_history(var) |
222 | 222 | ||
223 | #add var to the end of default_file | 223 | #add var to the end of default_file |
224 | default_file = bb.cookerdata.findConfigFile(default_file) | 224 | default_file = bb.cookerdata.findConfigFile(default_file) |
@@ -241,17 +241,17 @@ class BBCooker: | |||
241 | 241 | ||
242 | #add to history | 242 | #add to history |
243 | loginfo = {"op":set, "file":default_file, "line":total.count("\n")} | 243 | loginfo = {"op":set, "file":default_file, "line":total.count("\n")} |
244 | self.configuration.data.setVar(var, val, **loginfo) | 244 | self.data.setVar(var, val, **loginfo) |
245 | 245 | ||
246 | def parseConfiguration(self): | 246 | def parseConfiguration(self): |
247 | 247 | ||
248 | # Set log file verbosity | 248 | # Set log file verbosity |
249 | verboselogs = bb.utils.to_boolean(self.configuration.data.getVar("BB_VERBOSE_LOGS", "0")) | 249 | verboselogs = bb.utils.to_boolean(self.data.getVar("BB_VERBOSE_LOGS", "0")) |
250 | if verboselogs: | 250 | if verboselogs: |
251 | bb.msg.loggerVerboseLogs = True | 251 | bb.msg.loggerVerboseLogs = True |
252 | 252 | ||
253 | # Change nice level if we're asked to | 253 | # Change nice level if we're asked to |
254 | nice = self.configuration.data.getVar("BB_NICE_LEVEL", True) | 254 | nice = self.data.getVar("BB_NICE_LEVEL", True) |
255 | if nice: | 255 | if nice: |
256 | curnice = os.nice(0) | 256 | curnice = os.nice(0) |
257 | nice = int(nice) - curnice | 257 | nice = int(nice) - curnice |
@@ -261,7 +261,7 @@ class BBCooker: | |||
261 | del self.recipecache | 261 | del self.recipecache |
262 | self.recipecache = bb.cache.CacheData(self.caches_array) | 262 | self.recipecache = bb.cache.CacheData(self.caches_array) |
263 | 263 | ||
264 | self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", True) ) | 264 | self.handleCollections( self.data.getVar("BBFILE_COLLECTIONS", True) ) |
265 | 265 | ||
266 | def runCommands(self, server, data, abort): | 266 | def runCommands(self, server, data, abort): |
267 | """ | 267 | """ |
@@ -275,7 +275,7 @@ class BBCooker: | |||
275 | def showVersions(self): | 275 | def showVersions(self): |
276 | 276 | ||
277 | pkg_pn = self.recipecache.pkg_pn | 277 | pkg_pn = self.recipecache.pkg_pn |
278 | (latest_versions, preferred_versions) = bb.providers.findProviders(self.configuration.data, self.recipecache, pkg_pn) | 278 | (latest_versions, preferred_versions) = bb.providers.findProviders(self.data, self.recipecache, pkg_pn) |
279 | 279 | ||
280 | logger.plain("%-35s %25s %25s", "Recipe Name", "Latest Version", "Preferred Version") | 280 | logger.plain("%-35s %25s %25s", "Recipe Name", "Latest Version", "Preferred Version") |
281 | logger.plain("%-35s %25s %25s\n", "===========", "==============", "=================") | 281 | logger.plain("%-35s %25s %25s\n", "===========", "==============", "=================") |
@@ -308,11 +308,11 @@ class BBCooker: | |||
308 | fn = self.matchFile(fn) | 308 | fn = self.matchFile(fn) |
309 | fn = bb.cache.Cache.realfn2virtual(fn, cls) | 309 | fn = bb.cache.Cache.realfn2virtual(fn, cls) |
310 | elif len(pkgs_to_build) == 1: | 310 | elif len(pkgs_to_build) == 1: |
311 | ignore = self.configuration.data.getVar("ASSUME_PROVIDED", True) or "" | 311 | ignore = self.data.getVar("ASSUME_PROVIDED", True) or "" |
312 | if pkgs_to_build[0] in set(ignore.split()): | 312 | if pkgs_to_build[0] in set(ignore.split()): |
313 | bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0]) | 313 | bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0]) |
314 | 314 | ||
315 | localdata = data.createCopy(self.configuration.data) | 315 | localdata = data.createCopy(self.data) |
316 | bb.data.update_data(localdata) | 316 | bb.data.update_data(localdata) |
317 | bb.data.expandKeys(localdata) | 317 | bb.data.expandKeys(localdata) |
318 | 318 | ||
@@ -324,18 +324,18 @@ class BBCooker: | |||
324 | fnid = taskdata.build_targets[targetid][0] | 324 | fnid = taskdata.build_targets[targetid][0] |
325 | fn = taskdata.fn_index[fnid] | 325 | fn = taskdata.fn_index[fnid] |
326 | else: | 326 | else: |
327 | envdata = self.configuration.data | 327 | envdata = self.data |
328 | 328 | ||
329 | if fn: | 329 | if fn: |
330 | try: | 330 | try: |
331 | envdata = bb.cache.Cache.loadDataFull(fn, self.collection.get_file_appends(fn), self.configuration.data) | 331 | envdata = bb.cache.Cache.loadDataFull(fn, self.collection.get_file_appends(fn), self.data) |
332 | except Exception as e: | 332 | except Exception as e: |
333 | parselog.exception("Unable to read %s", fn) | 333 | parselog.exception("Unable to read %s", fn) |
334 | raise | 334 | raise |
335 | 335 | ||
336 | # Display history | 336 | # Display history |
337 | with closing(StringIO()) as env: | 337 | with closing(StringIO()) as env: |
338 | self.configuration.data.inchistory.emit(env) | 338 | self.data.inchistory.emit(env) |
339 | logger.plain(env.getvalue()) | 339 | logger.plain(env.getvalue()) |
340 | 340 | ||
341 | # emit variables and shell functions | 341 | # emit variables and shell functions |
@@ -354,7 +354,7 @@ class BBCooker: | |||
354 | """ | 354 | """ |
355 | Prepare a runqueue and taskdata object for iteration over pkgs_to_build | 355 | Prepare a runqueue and taskdata object for iteration over pkgs_to_build |
356 | """ | 356 | """ |
357 | bb.event.fire(bb.event.TreeDataPreparationStarted(), self.configuration.data) | 357 | bb.event.fire(bb.event.TreeDataPreparationStarted(), self.data) |
358 | 358 | ||
359 | # If we are told to do the None task then query the default task | 359 | # If we are told to do the None task then query the default task |
360 | if (task == None): | 360 | if (task == None): |
@@ -362,7 +362,7 @@ class BBCooker: | |||
362 | 362 | ||
363 | pkgs_to_build = self.checkPackages(pkgs_to_build) | 363 | pkgs_to_build = self.checkPackages(pkgs_to_build) |
364 | 364 | ||
365 | localdata = data.createCopy(self.configuration.data) | 365 | localdata = data.createCopy(self.data) |
366 | bb.data.update_data(localdata) | 366 | bb.data.update_data(localdata) |
367 | bb.data.expandKeys(localdata) | 367 | bb.data.expandKeys(localdata) |
368 | # We set abort to False here to prevent unbuildable targets raising | 368 | # We set abort to False here to prevent unbuildable targets raising |
@@ -375,9 +375,9 @@ class BBCooker: | |||
375 | taskdata.add_provider(localdata, self.recipecache, k) | 375 | taskdata.add_provider(localdata, self.recipecache, k) |
376 | runlist.append([k, "do_%s" % task]) | 376 | runlist.append([k, "do_%s" % task]) |
377 | current += 1 | 377 | current += 1 |
378 | bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(pkgs_to_build)), self.configuration.data) | 378 | bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(pkgs_to_build)), self.data) |
379 | taskdata.add_unresolved(localdata, self.recipecache) | 379 | taskdata.add_unresolved(localdata, self.recipecache) |
380 | bb.event.fire(bb.event.TreeDataPreparationCompleted(len(pkgs_to_build)), self.configuration.data) | 380 | bb.event.fire(bb.event.TreeDataPreparationCompleted(len(pkgs_to_build)), self.data) |
381 | return runlist, taskdata | 381 | return runlist, taskdata |
382 | 382 | ||
383 | ######## WARNING : this function requires cache_extra to be enabled ######## | 383 | ######## WARNING : this function requires cache_extra to be enabled ######## |
@@ -388,7 +388,7 @@ class BBCooker: | |||
388 | information. | 388 | information. |
389 | """ | 389 | """ |
390 | runlist, taskdata = self.prepareTreeData(pkgs_to_build, task) | 390 | runlist, taskdata = self.prepareTreeData(pkgs_to_build, task) |
391 | rq = bb.runqueue.RunQueue(self, self.configuration.data, self.recipecache, taskdata, runlist) | 391 | rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist) |
392 | rq.rqdata.prepare() | 392 | rq.rqdata.prepare() |
393 | 393 | ||
394 | seen_fnids = [] | 394 | seen_fnids = [] |
@@ -543,7 +543,7 @@ class BBCooker: | |||
543 | Generate an event with the result | 543 | Generate an event with the result |
544 | """ | 544 | """ |
545 | depgraph = self.generateTaskDepTreeData(pkgs_to_build, task) | 545 | depgraph = self.generateTaskDepTreeData(pkgs_to_build, task) |
546 | bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.configuration.data) | 546 | bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.data) |
547 | 547 | ||
548 | def generateDotGraphFiles(self, pkgs_to_build, task): | 548 | def generateDotGraphFiles(self, pkgs_to_build, task): |
549 | """ | 549 | """ |
@@ -621,7 +621,7 @@ class BBCooker: | |||
621 | for append in appends) | 621 | for append in appends) |
622 | msg = 'No recipes available for:\n%s' % '\n'.join(appendlines) | 622 | msg = 'No recipes available for:\n%s' % '\n'.join(appendlines) |
623 | warn_only = data.getVar("BB_DANGLINGAPPENDS_WARNONLY", \ | 623 | warn_only = data.getVar("BB_DANGLINGAPPENDS_WARNONLY", \ |
624 | self.configuration.data, False) or "no" | 624 | self.data, False) or "no" |
625 | if warn_only.lower() in ("1", "yes", "true"): | 625 | if warn_only.lower() in ("1", "yes", "true"): |
626 | bb.warn(msg) | 626 | bb.warn(msg) |
627 | else: | 627 | else: |
@@ -629,7 +629,7 @@ class BBCooker: | |||
629 | 629 | ||
630 | def handlePrefProviders(self): | 630 | def handlePrefProviders(self): |
631 | 631 | ||
632 | localdata = data.createCopy(self.configuration.data) | 632 | localdata = data.createCopy(self.data) |
633 | bb.data.update_data(localdata) | 633 | bb.data.update_data(localdata) |
634 | bb.data.expandKeys(localdata) | 634 | bb.data.expandKeys(localdata) |
635 | 635 | ||
@@ -645,7 +645,7 @@ class BBCooker: | |||
645 | self.recipecache.preferred[providee] = provider | 645 | self.recipecache.preferred[providee] = provider |
646 | 646 | ||
647 | def findCoreBaseFiles(self, subdir, configfile): | 647 | def findCoreBaseFiles(self, subdir, configfile): |
648 | corebase = self.configuration.data.getVar('COREBASE', True) or "" | 648 | corebase = self.data.getVar('COREBASE', True) or "" |
649 | paths = [] | 649 | paths = [] |
650 | for root, dirs, files in os.walk(corebase + '/' + subdir): | 650 | for root, dirs, files in os.walk(corebase + '/' + subdir): |
651 | for d in dirs: | 651 | for d in dirs: |
@@ -654,7 +654,7 @@ class BBCooker: | |||
654 | paths.append(os.path.join(root, d)) | 654 | paths.append(os.path.join(root, d)) |
655 | 655 | ||
656 | if paths: | 656 | if paths: |
657 | bb.event.fire(bb.event.CoreBaseFilesFound(paths), self.configuration.data) | 657 | bb.event.fire(bb.event.CoreBaseFilesFound(paths), self.data) |
658 | 658 | ||
659 | def findConfigFilePath(self, configfile): | 659 | def findConfigFilePath(self, configfile): |
660 | """ | 660 | """ |
@@ -668,8 +668,8 @@ class BBCooker: | |||
668 | # Generate a list of parsed configuration files by searching the files | 668 | # Generate a list of parsed configuration files by searching the files |
669 | # listed in the __depends and __base_depends variables with a .conf suffix. | 669 | # listed in the __depends and __base_depends variables with a .conf suffix. |
670 | conffiles = [] | 670 | conffiles = [] |
671 | dep_files = self.configuration.data.getVar('__base_depends') or [] | 671 | dep_files = self.data.getVar('__base_depends') or [] |
672 | dep_files = dep_files + (self.configuration.data.getVar('__depends') or []) | 672 | dep_files = dep_files + (self.data.getVar('__depends') or []) |
673 | 673 | ||
674 | for f in dep_files: | 674 | for f in dep_files: |
675 | if f[0].endswith(".conf"): | 675 | if f[0].endswith(".conf"): |
@@ -682,7 +682,7 @@ class BBCooker: | |||
682 | for cfg in conffiles: | 682 | for cfg in conffiles: |
683 | if cfg.endswith(match): | 683 | if cfg.endswith(match): |
684 | bb.event.fire(bb.event.ConfigFilePathFound(path), | 684 | bb.event.fire(bb.event.ConfigFilePathFound(path), |
685 | self.configuration.data) | 685 | self.data) |
686 | break | 686 | break |
687 | 687 | ||
688 | def findFilesMatchingInDir(self, filepattern, directory): | 688 | def findFilesMatchingInDir(self, filepattern, directory): |
@@ -697,7 +697,7 @@ class BBCooker: | |||
697 | 697 | ||
698 | matches = [] | 698 | matches = [] |
699 | p = re.compile(re.escape(filepattern)) | 699 | p = re.compile(re.escape(filepattern)) |
700 | bbpaths = self.configuration.data.getVar('BBPATH', True).split(':') | 700 | bbpaths = self.data.getVar('BBPATH', True).split(':') |
701 | for path in bbpaths: | 701 | for path in bbpaths: |
702 | dirpath = os.path.join(path, directory) | 702 | dirpath = os.path.join(path, directory) |
703 | if os.path.exists(dirpath): | 703 | if os.path.exists(dirpath): |
@@ -707,7 +707,7 @@ class BBCooker: | |||
707 | matches.append(f) | 707 | matches.append(f) |
708 | 708 | ||
709 | if matches: | 709 | if matches: |
710 | bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.configuration.data) | 710 | bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.data) |
711 | 711 | ||
712 | def findConfigFiles(self, varname): | 712 | def findConfigFiles(self, varname): |
713 | """ | 713 | """ |
@@ -717,7 +717,7 @@ class BBCooker: | |||
717 | possible = [] | 717 | possible = [] |
718 | var = varname.lower() | 718 | var = varname.lower() |
719 | 719 | ||
720 | data = self.configuration.data | 720 | data = self.data |
721 | # iterate configs | 721 | # iterate configs |
722 | bbpaths = data.getVar('BBPATH', True).split(':') | 722 | bbpaths = data.getVar('BBPATH', True).split(':') |
723 | for path in bbpaths: | 723 | for path in bbpaths: |
@@ -731,7 +731,7 @@ class BBCooker: | |||
731 | possible.append(val) | 731 | possible.append(val) |
732 | 732 | ||
733 | if possible: | 733 | if possible: |
734 | bb.event.fire(bb.event.ConfigFilesFound(var, possible), self.configuration.data) | 734 | bb.event.fire(bb.event.ConfigFilesFound(var, possible), self.data) |
735 | 735 | ||
736 | def findInheritsClass(self, klass): | 736 | def findInheritsClass(self, klass): |
737 | """ | 737 | """ |
@@ -762,7 +762,7 @@ class BBCooker: | |||
762 | 762 | ||
763 | # generate a dependency tree for all our packages | 763 | # generate a dependency tree for all our packages |
764 | tree = self.generatePkgDepTreeData(pkgs, 'build') | 764 | tree = self.generatePkgDepTreeData(pkgs, 'build') |
765 | bb.event.fire(bb.event.TargetsTreeGenerated(tree), self.configuration.data) | 765 | bb.event.fire(bb.event.TargetsTreeGenerated(tree), self.data) |
766 | 766 | ||
767 | def buildWorldTargetList(self): | 767 | def buildWorldTargetList(self): |
768 | """ | 768 | """ |
@@ -808,7 +808,7 @@ class BBCooker: | |||
808 | min_prio = 0 | 808 | min_prio = 0 |
809 | for c in collection_list: | 809 | for c in collection_list: |
810 | # Get collection priority if defined explicitly | 810 | # Get collection priority if defined explicitly |
811 | priority = self.configuration.data.getVar("BBFILE_PRIORITY_%s" % c, True) | 811 | priority = self.data.getVar("BBFILE_PRIORITY_%s" % c, True) |
812 | if priority: | 812 | if priority: |
813 | try: | 813 | try: |
814 | prio = int(priority) | 814 | prio = int(priority) |
@@ -822,7 +822,7 @@ class BBCooker: | |||
822 | collection_priorities[c] = None | 822 | collection_priorities[c] = None |
823 | 823 | ||
824 | # Check dependencies and store information for priority calculation | 824 | # Check dependencies and store information for priority calculation |
825 | deps = self.configuration.data.getVar("LAYERDEPENDS_%s" % c, True) | 825 | deps = self.data.getVar("LAYERDEPENDS_%s" % c, True) |
826 | if deps: | 826 | if deps: |
827 | depnamelist = [] | 827 | depnamelist = [] |
828 | deplist = deps.split() | 828 | deplist = deps.split() |
@@ -842,7 +842,7 @@ class BBCooker: | |||
842 | 842 | ||
843 | if dep in collection_list: | 843 | if dep in collection_list: |
844 | if depver: | 844 | if depver: |
845 | layerver = self.configuration.data.getVar("LAYERVERSION_%s" % dep, True) | 845 | layerver = self.data.getVar("LAYERVERSION_%s" % dep, True) |
846 | if layerver: | 846 | if layerver: |
847 | try: | 847 | try: |
848 | lver = int(layerver) | 848 | lver = int(layerver) |
@@ -879,7 +879,7 @@ class BBCooker: | |||
879 | # Calculate all layer priorities using calc_layer_priority and store in bbfile_config_priorities | 879 | # Calculate all layer priorities using calc_layer_priority and store in bbfile_config_priorities |
880 | for c in collection_list: | 880 | for c in collection_list: |
881 | calc_layer_priority(c) | 881 | calc_layer_priority(c) |
882 | regex = self.configuration.data.getVar("BBFILE_PATTERN_%s" % c, True) | 882 | regex = self.data.getVar("BBFILE_PATTERN_%s" % c, True) |
883 | if regex == None: | 883 | if regex == None: |
884 | parselog.error("BBFILE_PATTERN_%s not defined" % c) | 884 | parselog.error("BBFILE_PATTERN_%s not defined" % c) |
885 | errors = True | 885 | errors = True |
@@ -899,9 +899,9 @@ class BBCooker: | |||
899 | """ | 899 | """ |
900 | Setup any variables needed before starting a build | 900 | Setup any variables needed before starting a build |
901 | """ | 901 | """ |
902 | if not self.configuration.data.getVar("BUILDNAME"): | 902 | if not self.data.getVar("BUILDNAME"): |
903 | self.configuration.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M')) | 903 | self.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M')) |
904 | self.configuration.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime())) | 904 | self.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime())) |
905 | 905 | ||
906 | def matchFiles(self, bf): | 906 | def matchFiles(self, bf): |
907 | """ | 907 | """ |
@@ -911,7 +911,7 @@ class BBCooker: | |||
911 | bf = os.path.abspath(bf) | 911 | bf = os.path.abspath(bf) |
912 | 912 | ||
913 | self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities) | 913 | self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities) |
914 | filelist, masked = self.collection.collect_bbfiles(self.configuration.data, self.configuration.event_data) | 914 | filelist, masked = self.collection.collect_bbfiles(self.data, self.event_data) |
915 | try: | 915 | try: |
916 | os.stat(bf) | 916 | os.stat(bf) |
917 | bf = os.path.abspath(bf) | 917 | bf = os.path.abspath(bf) |
@@ -966,7 +966,7 @@ class BBCooker: | |||
966 | 966 | ||
967 | self.recipecache = bb.cache.CacheData(self.caches_array) | 967 | self.recipecache = bb.cache.CacheData(self.caches_array) |
968 | infos = bb.cache.Cache.parse(fn, self.collection.get_file_appends(fn), \ | 968 | infos = bb.cache.Cache.parse(fn, self.collection.get_file_appends(fn), \ |
969 | self.configuration.data, | 969 | self.data, |
970 | self.caches_array) | 970 | self.caches_array) |
971 | infos = dict(infos) | 971 | infos = dict(infos) |
972 | 972 | ||
@@ -999,15 +999,15 @@ class BBCooker: | |||
999 | 999 | ||
1000 | # Setup taskdata structure | 1000 | # Setup taskdata structure |
1001 | taskdata = bb.taskdata.TaskData(self.configuration.abort) | 1001 | taskdata = bb.taskdata.TaskData(self.configuration.abort) |
1002 | taskdata.add_provider(self.configuration.data, self.recipecache, item) | 1002 | taskdata.add_provider(self.data, self.recipecache, item) |
1003 | 1003 | ||
1004 | buildname = self.configuration.data.getVar("BUILDNAME") | 1004 | buildname = self.data.getVar("BUILDNAME") |
1005 | bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.configuration.event_data) | 1005 | bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.event_data) |
1006 | 1006 | ||
1007 | # Execute the runqueue | 1007 | # Execute the runqueue |
1008 | runlist = [[item, "do_%s" % task]] | 1008 | runlist = [[item, "do_%s" % task]] |
1009 | 1009 | ||
1010 | rq = bb.runqueue.RunQueue(self, self.configuration.data, self.recipecache, taskdata, runlist) | 1010 | rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist) |
1011 | 1011 | ||
1012 | def buildFileIdle(server, rq, abort): | 1012 | def buildFileIdle(server, rq, abort): |
1013 | 1013 | ||
@@ -1026,7 +1026,7 @@ class BBCooker: | |||
1026 | return False | 1026 | return False |
1027 | 1027 | ||
1028 | if not retval: | 1028 | if not retval: |
1029 | bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, item, failures), self.configuration.event_data) | 1029 | bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, item, failures), self.event_data) |
1030 | self.command.finishAsyncCommand() | 1030 | self.command.finishAsyncCommand() |
1031 | return False | 1031 | return False |
1032 | if retval is True: | 1032 | if retval is True: |
@@ -1063,7 +1063,7 @@ class BBCooker: | |||
1063 | return False | 1063 | return False |
1064 | 1064 | ||
1065 | if not retval: | 1065 | if not retval: |
1066 | bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, targets, failures), self.configuration.data) | 1066 | bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, targets, failures), self.data) |
1067 | self.command.finishAsyncCommand() | 1067 | self.command.finishAsyncCommand() |
1068 | return False | 1068 | return False |
1069 | if retval is True: | 1069 | if retval is True: |
@@ -1072,10 +1072,10 @@ class BBCooker: | |||
1072 | 1072 | ||
1073 | self.buildSetVars() | 1073 | self.buildSetVars() |
1074 | 1074 | ||
1075 | buildname = self.configuration.data.getVar("BUILDNAME") | 1075 | buildname = self.data.getVar("BUILDNAME") |
1076 | bb.event.fire(bb.event.BuildStarted(buildname, targets), self.configuration.data) | 1076 | bb.event.fire(bb.event.BuildStarted(buildname, targets), self.data) |
1077 | 1077 | ||
1078 | localdata = data.createCopy(self.configuration.data) | 1078 | localdata = data.createCopy(self.data) |
1079 | bb.data.update_data(localdata) | 1079 | bb.data.update_data(localdata) |
1080 | bb.data.expandKeys(localdata) | 1080 | bb.data.expandKeys(localdata) |
1081 | 1081 | ||
@@ -1087,7 +1087,7 @@ class BBCooker: | |||
1087 | runlist.append([k, "do_%s" % task]) | 1087 | runlist.append([k, "do_%s" % task]) |
1088 | taskdata.add_unresolved(localdata, self.recipecache) | 1088 | taskdata.add_unresolved(localdata, self.recipecache) |
1089 | 1089 | ||
1090 | rq = bb.runqueue.RunQueue(self, self.configuration.data, self.recipecache, taskdata, runlist) | 1090 | rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist) |
1091 | if universe: | 1091 | if universe: |
1092 | rq.rqdata.warn_multi_bb = True | 1092 | rq.rqdata.warn_multi_bb = True |
1093 | 1093 | ||
@@ -1123,16 +1123,16 @@ class BBCooker: | |||
1123 | if self.state != state.parsing: | 1123 | if self.state != state.parsing: |
1124 | self.parseConfiguration () | 1124 | self.parseConfiguration () |
1125 | 1125 | ||
1126 | ignore = self.configuration.data.getVar("ASSUME_PROVIDED", True) or "" | 1126 | ignore = self.data.getVar("ASSUME_PROVIDED", True) or "" |
1127 | self.recipecache.ignored_dependencies = set(ignore.split()) | 1127 | self.recipecache.ignored_dependencies = set(ignore.split()) |
1128 | 1128 | ||
1129 | for dep in self.configuration.extra_assume_provided: | 1129 | for dep in self.configuration.extra_assume_provided: |
1130 | self.recipecache.ignored_dependencies.add(dep) | 1130 | self.recipecache.ignored_dependencies.add(dep) |
1131 | 1131 | ||
1132 | self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities) | 1132 | self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities) |
1133 | (filelist, masked) = self.collection.collect_bbfiles(self.configuration.data, self.configuration.event_data) | 1133 | (filelist, masked) = self.collection.collect_bbfiles(self.data, self.event_data) |
1134 | 1134 | ||
1135 | self.configuration.data.renameVar("__depends", "__base_depends") | 1135 | self.data.renameVar("__depends", "__base_depends") |
1136 | 1136 | ||
1137 | self.parser = CookerParser(self, filelist, masked) | 1137 | self.parser = CookerParser(self, filelist, masked) |
1138 | self.state = state.parsing | 1138 | self.state = state.parsing |
@@ -1177,14 +1177,14 @@ class BBCooker: | |||
1177 | # necessary from the data store. | 1177 | # necessary from the data store. |
1178 | #bb.utils.empty_environment() | 1178 | #bb.utils.empty_environment() |
1179 | try: | 1179 | try: |
1180 | prserv.serv.auto_start(self.configuration.data) | 1180 | prserv.serv.auto_start(self.data) |
1181 | except prserv.serv.PRServiceConfigError: | 1181 | except prserv.serv.PRServiceConfigError: |
1182 | bb.event.fire(CookerExit(), self.configuration.event_data) | 1182 | bb.event.fire(CookerExit(), self.event_data) |
1183 | return | 1183 | return |
1184 | 1184 | ||
1185 | def post_serve(self): | 1185 | def post_serve(self): |
1186 | prserv.serv.auto_shutdown(self.configuration.data) | 1186 | prserv.serv.auto_shutdown(self.data) |
1187 | bb.event.fire(CookerExit(), self.configuration.event_data) | 1187 | bb.event.fire(CookerExit(), self.event_data) |
1188 | 1188 | ||
1189 | def shutdown(self): | 1189 | def shutdown(self): |
1190 | self.state = state.shutdown | 1190 | self.state = state.shutdown |
@@ -1490,8 +1490,8 @@ class CookerParser(object): | |||
1490 | def __init__(self, cooker, filelist, masked): | 1490 | def __init__(self, cooker, filelist, masked): |
1491 | self.filelist = filelist | 1491 | self.filelist = filelist |
1492 | self.cooker = cooker | 1492 | self.cooker = cooker |
1493 | self.cfgdata = cooker.configuration.data | 1493 | self.cfgdata = cooker.data |
1494 | self.cfghash = cooker.configuration.data_hash | 1494 | self.cfghash = cooker.data_hash |
1495 | 1495 | ||
1496 | # Accounting statistics | 1496 | # Accounting statistics |
1497 | self.parsed = 0 | 1497 | self.parsed = 0 |
@@ -1582,8 +1582,8 @@ class CookerParser(object): | |||
1582 | sync = threading.Thread(target=self.bb_cache.sync) | 1582 | sync = threading.Thread(target=self.bb_cache.sync) |
1583 | sync.start() | 1583 | sync.start() |
1584 | multiprocessing.util.Finalize(None, sync.join, exitpriority=-100) | 1584 | multiprocessing.util.Finalize(None, sync.join, exitpriority=-100) |
1585 | bb.codeparser.parser_cache_savemerge(self.cooker.configuration.data) | 1585 | bb.codeparser.parser_cache_savemerge(self.cooker.data) |
1586 | bb.fetch.fetcher_parse_done(self.cooker.configuration.data) | 1586 | bb.fetch.fetcher_parse_done(self.cooker.data) |
1587 | 1587 | ||
1588 | def load_cached(self): | 1588 | def load_cached(self): |
1589 | for filename, appends in self.fromcache: | 1589 | for filename, appends in self.fromcache: |