bitbake: cooker: Split data from configuration
The reasons for combining these objects is ancient history, it makes sense to clean things up and separate them out now. This follows on logically from the configuration cleansups and leads well into the bitbake-worker changes. (Bitbake rev: 89ffd62661ebcf2a97ce0c8dfd5e4d5bfbe27de7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
2b2b3e8c34
commit
3e9456322d
|
@ -116,11 +116,11 @@ class Command:
|
|||
|
||||
def finishAsyncCommand(self, msg=None, code=None):
|
||||
if msg:
|
||||
bb.event.fire(CommandFailed(msg), self.cooker.configuration.event_data)
|
||||
bb.event.fire(CommandFailed(msg), self.cooker.event_data)
|
||||
elif code:
|
||||
bb.event.fire(CommandExit(code), self.cooker.configuration.event_data)
|
||||
bb.event.fire(CommandExit(code), self.cooker.event_data)
|
||||
else:
|
||||
bb.event.fire(CommandCompleted(), self.cooker.configuration.event_data)
|
||||
bb.event.fire(CommandCompleted(), self.cooker.event_data)
|
||||
self.currentAsyncCommand = None
|
||||
|
||||
|
||||
|
@ -145,22 +145,22 @@ class CommandsSync:
|
|||
|
||||
def getVariable(self, command, params):
|
||||
"""
|
||||
Read the value of a variable from configuration.data
|
||||
Read the value of a variable from data
|
||||
"""
|
||||
varname = params[0]
|
||||
expand = True
|
||||
if len(params) > 1:
|
||||
expand = params[1]
|
||||
|
||||
return command.cooker.configuration.data.getVar(varname, expand)
|
||||
return command.cooker.data.getVar(varname, expand)
|
||||
|
||||
def setVariable(self, command, params):
|
||||
"""
|
||||
Set the value of variable in configuration.data
|
||||
Set the value of variable in data
|
||||
"""
|
||||
varname = params[0]
|
||||
value = str(params[1])
|
||||
command.cooker.configuration.data.setVar(varname, value)
|
||||
command.cooker.data.setVar(varname, value)
|
||||
|
||||
def setConfig(self, command, params):
|
||||
"""
|
||||
|
@ -375,7 +375,7 @@ class CommandsAsync:
|
|||
"""
|
||||
Parse the .bb files
|
||||
"""
|
||||
if bb.fetch.fetcher_compare_revisions(command.cooker.configuration.data):
|
||||
if bb.fetch.fetcher_compare_revisions(command.cooker.data):
|
||||
command.finishAsyncCommand(code=1)
|
||||
else:
|
||||
command.finishAsyncCommand()
|
||||
|
@ -398,7 +398,7 @@ class CommandsAsync:
|
|||
Trigger a certain event
|
||||
"""
|
||||
event = params[0]
|
||||
bb.event.fire(eval(event), command.cooker.configuration.data)
|
||||
bb.event.fire(eval(event), command.cooker.data)
|
||||
command.currentAsyncCommand = None
|
||||
triggerEvent.needcache = False
|
||||
|
||||
|
|
|
@ -108,13 +108,13 @@ class BBCooker:
|
|||
logger.critical("Unable to import extra RecipeInfo '%s' from '%s': %s" % (cache_name, module_name, exc))
|
||||
sys.exit("FATAL: Failed to import extra cache class '%s'." % cache_name)
|
||||
|
||||
self.configuration.data = None
|
||||
self.data = None
|
||||
self.initConfigurationData()
|
||||
self.loadConfigurationData()
|
||||
|
||||
# Take a lock so only one copy of bitbake can run against a given build
|
||||
# directory at a time
|
||||
lockfile = self.configuration.data.expand("${TOPDIR}/bitbake.lock")
|
||||
lockfile = self.data.expand("${TOPDIR}/bitbake.lock")
|
||||
self.lock = bb.utils.lockfile(lockfile, False, False)
|
||||
if not self.lock:
|
||||
bb.fatal("Only one copy of bitbake should be run against a build directory")
|
||||
|
@ -122,9 +122,9 @@ class BBCooker:
|
|||
#
|
||||
# Special updated configuration we use for firing events
|
||||
#
|
||||
self.configuration.event_data = bb.data.createCopy(self.configuration.data)
|
||||
bb.data.update_data(self.configuration.event_data)
|
||||
bb.parse.init_parser(self.configuration.event_data)
|
||||
self.event_data = bb.data.createCopy(self.data)
|
||||
bb.data.update_data(self.event_data)
|
||||
bb.parse.init_parser(self.event_data)
|
||||
|
||||
# TOSTOP must not be set or our children will hang when they output
|
||||
fd = sys.stdout.fileno()
|
||||
|
@ -147,27 +147,27 @@ class BBCooker:
|
|||
worker = True
|
||||
|
||||
self.databuilder = bb.cookerdata.CookerDataBuilder(self.configuration, worker)
|
||||
self.configuration.data = self.databuilder.data
|
||||
self.data = self.databuilder.data
|
||||
|
||||
def enableDataTracking(self):
|
||||
self.configuration.data.enableTracking()
|
||||
self.data.enableTracking()
|
||||
|
||||
def disableDataTracking(self):
|
||||
self.configuration.data.disableTracking()
|
||||
self.data.disableTracking()
|
||||
|
||||
def loadConfigurationData(self):
|
||||
self.databuilder.parseBaseConfiguration()
|
||||
self.configuration.data = self.databuilder.data
|
||||
self.configuration.data_hash = self.databuilder.data_hash
|
||||
self.data = self.databuilder.data
|
||||
self.data_hash = self.databuilder.data_hash
|
||||
|
||||
def saveConfigurationVar(self, var, val, default_file):
|
||||
|
||||
replaced = False
|
||||
#do not save if nothing changed
|
||||
if str(val) == self.configuration.data.getVar(var):
|
||||
if str(val) == self.data.getVar(var):
|
||||
return
|
||||
|
||||
conf_files = self.configuration.data.varhistory.get_variable_files(var)
|
||||
conf_files = self.data.varhistory.get_variable_files(var)
|
||||
|
||||
#format the value when it is a list
|
||||
if isinstance(val, list):
|
||||
|
@ -176,7 +176,7 @@ class BBCooker:
|
|||
listval += "%s " % value
|
||||
val = listval
|
||||
|
||||
topdir = self.configuration.data.getVar("TOPDIR")
|
||||
topdir = self.data.getVar("TOPDIR")
|
||||
|
||||
#comment or replace operations made on var
|
||||
for conf_file in conf_files:
|
||||
|
@ -185,7 +185,7 @@ class BBCooker:
|
|||
contents = f.readlines()
|
||||
f.close()
|
||||
|
||||
lines = self.configuration.data.varhistory.get_variable_lines(var, conf_file)
|
||||
lines = self.data.varhistory.get_variable_lines(var, conf_file)
|
||||
for line in lines:
|
||||
total = ""
|
||||
i = 0
|
||||
|
@ -218,7 +218,7 @@ class BBCooker:
|
|||
|
||||
if replaced == False:
|
||||
#remove var from history
|
||||
self.configuration.data.varhistory.del_var_history(var)
|
||||
self.data.varhistory.del_var_history(var)
|
||||
|
||||
#add var to the end of default_file
|
||||
default_file = bb.cookerdata.findConfigFile(default_file)
|
||||
|
@ -241,17 +241,17 @@ class BBCooker:
|
|||
|
||||
#add to history
|
||||
loginfo = {"op":set, "file":default_file, "line":total.count("\n")}
|
||||
self.configuration.data.setVar(var, val, **loginfo)
|
||||
self.data.setVar(var, val, **loginfo)
|
||||
|
||||
def parseConfiguration(self):
|
||||
|
||||
# Set log file verbosity
|
||||
verboselogs = bb.utils.to_boolean(self.configuration.data.getVar("BB_VERBOSE_LOGS", "0"))
|
||||
verboselogs = bb.utils.to_boolean(self.data.getVar("BB_VERBOSE_LOGS", "0"))
|
||||
if verboselogs:
|
||||
bb.msg.loggerVerboseLogs = True
|
||||
|
||||
# Change nice level if we're asked to
|
||||
nice = self.configuration.data.getVar("BB_NICE_LEVEL", True)
|
||||
nice = self.data.getVar("BB_NICE_LEVEL", True)
|
||||
if nice:
|
||||
curnice = os.nice(0)
|
||||
nice = int(nice) - curnice
|
||||
|
@ -261,7 +261,7 @@ class BBCooker:
|
|||
del self.recipecache
|
||||
self.recipecache = bb.cache.CacheData(self.caches_array)
|
||||
|
||||
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", True) )
|
||||
self.handleCollections( self.data.getVar("BBFILE_COLLECTIONS", True) )
|
||||
|
||||
def runCommands(self, server, data, abort):
|
||||
"""
|
||||
|
@ -275,7 +275,7 @@ class BBCooker:
|
|||
def showVersions(self):
|
||||
|
||||
pkg_pn = self.recipecache.pkg_pn
|
||||
(latest_versions, preferred_versions) = bb.providers.findProviders(self.configuration.data, self.recipecache, pkg_pn)
|
||||
(latest_versions, preferred_versions) = bb.providers.findProviders(self.data, self.recipecache, pkg_pn)
|
||||
|
||||
logger.plain("%-35s %25s %25s", "Recipe Name", "Latest Version", "Preferred Version")
|
||||
logger.plain("%-35s %25s %25s\n", "===========", "==============", "=================")
|
||||
|
@ -308,11 +308,11 @@ class BBCooker:
|
|||
fn = self.matchFile(fn)
|
||||
fn = bb.cache.Cache.realfn2virtual(fn, cls)
|
||||
elif len(pkgs_to_build) == 1:
|
||||
ignore = self.configuration.data.getVar("ASSUME_PROVIDED", True) or ""
|
||||
ignore = self.data.getVar("ASSUME_PROVIDED", True) or ""
|
||||
if pkgs_to_build[0] in set(ignore.split()):
|
||||
bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0])
|
||||
|
||||
localdata = data.createCopy(self.configuration.data)
|
||||
localdata = data.createCopy(self.data)
|
||||
bb.data.update_data(localdata)
|
||||
bb.data.expandKeys(localdata)
|
||||
|
||||
|
@ -324,18 +324,18 @@ class BBCooker:
|
|||
fnid = taskdata.build_targets[targetid][0]
|
||||
fn = taskdata.fn_index[fnid]
|
||||
else:
|
||||
envdata = self.configuration.data
|
||||
envdata = self.data
|
||||
|
||||
if fn:
|
||||
try:
|
||||
envdata = bb.cache.Cache.loadDataFull(fn, self.collection.get_file_appends(fn), self.configuration.data)
|
||||
envdata = bb.cache.Cache.loadDataFull(fn, self.collection.get_file_appends(fn), self.data)
|
||||
except Exception as e:
|
||||
parselog.exception("Unable to read %s", fn)
|
||||
raise
|
||||
|
||||
# Display history
|
||||
with closing(StringIO()) as env:
|
||||
self.configuration.data.inchistory.emit(env)
|
||||
self.data.inchistory.emit(env)
|
||||
logger.plain(env.getvalue())
|
||||
|
||||
# emit variables and shell functions
|
||||
|
@ -354,7 +354,7 @@ class BBCooker:
|
|||
"""
|
||||
Prepare a runqueue and taskdata object for iteration over pkgs_to_build
|
||||
"""
|
||||
bb.event.fire(bb.event.TreeDataPreparationStarted(), self.configuration.data)
|
||||
bb.event.fire(bb.event.TreeDataPreparationStarted(), self.data)
|
||||
|
||||
# If we are told to do the None task then query the default task
|
||||
if (task == None):
|
||||
|
@ -362,7 +362,7 @@ class BBCooker:
|
|||
|
||||
pkgs_to_build = self.checkPackages(pkgs_to_build)
|
||||
|
||||
localdata = data.createCopy(self.configuration.data)
|
||||
localdata = data.createCopy(self.data)
|
||||
bb.data.update_data(localdata)
|
||||
bb.data.expandKeys(localdata)
|
||||
# We set abort to False here to prevent unbuildable targets raising
|
||||
|
@ -375,9 +375,9 @@ class BBCooker:
|
|||
taskdata.add_provider(localdata, self.recipecache, k)
|
||||
runlist.append([k, "do_%s" % task])
|
||||
current += 1
|
||||
bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(pkgs_to_build)), self.configuration.data)
|
||||
bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(pkgs_to_build)), self.data)
|
||||
taskdata.add_unresolved(localdata, self.recipecache)
|
||||
bb.event.fire(bb.event.TreeDataPreparationCompleted(len(pkgs_to_build)), self.configuration.data)
|
||||
bb.event.fire(bb.event.TreeDataPreparationCompleted(len(pkgs_to_build)), self.data)
|
||||
return runlist, taskdata
|
||||
|
||||
######## WARNING : this function requires cache_extra to be enabled ########
|
||||
|
@ -388,7 +388,7 @@ class BBCooker:
|
|||
information.
|
||||
"""
|
||||
runlist, taskdata = self.prepareTreeData(pkgs_to_build, task)
|
||||
rq = bb.runqueue.RunQueue(self, self.configuration.data, self.recipecache, taskdata, runlist)
|
||||
rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist)
|
||||
rq.rqdata.prepare()
|
||||
|
||||
seen_fnids = []
|
||||
|
@ -543,7 +543,7 @@ class BBCooker:
|
|||
Generate an event with the result
|
||||
"""
|
||||
depgraph = self.generateTaskDepTreeData(pkgs_to_build, task)
|
||||
bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.configuration.data)
|
||||
bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.data)
|
||||
|
||||
def generateDotGraphFiles(self, pkgs_to_build, task):
|
||||
"""
|
||||
|
@ -621,7 +621,7 @@ class BBCooker:
|
|||
for append in appends)
|
||||
msg = 'No recipes available for:\n%s' % '\n'.join(appendlines)
|
||||
warn_only = data.getVar("BB_DANGLINGAPPENDS_WARNONLY", \
|
||||
self.configuration.data, False) or "no"
|
||||
self.data, False) or "no"
|
||||
if warn_only.lower() in ("1", "yes", "true"):
|
||||
bb.warn(msg)
|
||||
else:
|
||||
|
@ -629,7 +629,7 @@ class BBCooker:
|
|||
|
||||
def handlePrefProviders(self):
|
||||
|
||||
localdata = data.createCopy(self.configuration.data)
|
||||
localdata = data.createCopy(self.data)
|
||||
bb.data.update_data(localdata)
|
||||
bb.data.expandKeys(localdata)
|
||||
|
||||
|
@ -645,7 +645,7 @@ class BBCooker:
|
|||
self.recipecache.preferred[providee] = provider
|
||||
|
||||
def findCoreBaseFiles(self, subdir, configfile):
|
||||
corebase = self.configuration.data.getVar('COREBASE', True) or ""
|
||||
corebase = self.data.getVar('COREBASE', True) or ""
|
||||
paths = []
|
||||
for root, dirs, files in os.walk(corebase + '/' + subdir):
|
||||
for d in dirs:
|
||||
|
@ -654,7 +654,7 @@ class BBCooker:
|
|||
paths.append(os.path.join(root, d))
|
||||
|
||||
if paths:
|
||||
bb.event.fire(bb.event.CoreBaseFilesFound(paths), self.configuration.data)
|
||||
bb.event.fire(bb.event.CoreBaseFilesFound(paths), self.data)
|
||||
|
||||
def findConfigFilePath(self, configfile):
|
||||
"""
|
||||
|
@ -668,8 +668,8 @@ class BBCooker:
|
|||
# Generate a list of parsed configuration files by searching the files
|
||||
# listed in the __depends and __base_depends variables with a .conf suffix.
|
||||
conffiles = []
|
||||
dep_files = self.configuration.data.getVar('__base_depends') or []
|
||||
dep_files = dep_files + (self.configuration.data.getVar('__depends') or [])
|
||||
dep_files = self.data.getVar('__base_depends') or []
|
||||
dep_files = dep_files + (self.data.getVar('__depends') or [])
|
||||
|
||||
for f in dep_files:
|
||||
if f[0].endswith(".conf"):
|
||||
|
@ -682,7 +682,7 @@ class BBCooker:
|
|||
for cfg in conffiles:
|
||||
if cfg.endswith(match):
|
||||
bb.event.fire(bb.event.ConfigFilePathFound(path),
|
||||
self.configuration.data)
|
||||
self.data)
|
||||
break
|
||||
|
||||
def findFilesMatchingInDir(self, filepattern, directory):
|
||||
|
@ -697,7 +697,7 @@ class BBCooker:
|
|||
|
||||
matches = []
|
||||
p = re.compile(re.escape(filepattern))
|
||||
bbpaths = self.configuration.data.getVar('BBPATH', True).split(':')
|
||||
bbpaths = self.data.getVar('BBPATH', True).split(':')
|
||||
for path in bbpaths:
|
||||
dirpath = os.path.join(path, directory)
|
||||
if os.path.exists(dirpath):
|
||||
|
@ -707,7 +707,7 @@ class BBCooker:
|
|||
matches.append(f)
|
||||
|
||||
if matches:
|
||||
bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.configuration.data)
|
||||
bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.data)
|
||||
|
||||
def findConfigFiles(self, varname):
|
||||
"""
|
||||
|
@ -717,7 +717,7 @@ class BBCooker:
|
|||
possible = []
|
||||
var = varname.lower()
|
||||
|
||||
data = self.configuration.data
|
||||
data = self.data
|
||||
# iterate configs
|
||||
bbpaths = data.getVar('BBPATH', True).split(':')
|
||||
for path in bbpaths:
|
||||
|
@ -731,7 +731,7 @@ class BBCooker:
|
|||
possible.append(val)
|
||||
|
||||
if possible:
|
||||
bb.event.fire(bb.event.ConfigFilesFound(var, possible), self.configuration.data)
|
||||
bb.event.fire(bb.event.ConfigFilesFound(var, possible), self.data)
|
||||
|
||||
def findInheritsClass(self, klass):
|
||||
"""
|
||||
|
@ -762,7 +762,7 @@ class BBCooker:
|
|||
|
||||
# generate a dependency tree for all our packages
|
||||
tree = self.generatePkgDepTreeData(pkgs, 'build')
|
||||
bb.event.fire(bb.event.TargetsTreeGenerated(tree), self.configuration.data)
|
||||
bb.event.fire(bb.event.TargetsTreeGenerated(tree), self.data)
|
||||
|
||||
def buildWorldTargetList(self):
|
||||
"""
|
||||
|
@ -808,7 +808,7 @@ class BBCooker:
|
|||
min_prio = 0
|
||||
for c in collection_list:
|
||||
# Get collection priority if defined explicitly
|
||||
priority = self.configuration.data.getVar("BBFILE_PRIORITY_%s" % c, True)
|
||||
priority = self.data.getVar("BBFILE_PRIORITY_%s" % c, True)
|
||||
if priority:
|
||||
try:
|
||||
prio = int(priority)
|
||||
|
@ -822,7 +822,7 @@ class BBCooker:
|
|||
collection_priorities[c] = None
|
||||
|
||||
# Check dependencies and store information for priority calculation
|
||||
deps = self.configuration.data.getVar("LAYERDEPENDS_%s" % c, True)
|
||||
deps = self.data.getVar("LAYERDEPENDS_%s" % c, True)
|
||||
if deps:
|
||||
depnamelist = []
|
||||
deplist = deps.split()
|
||||
|
@ -842,7 +842,7 @@ class BBCooker:
|
|||
|
||||
if dep in collection_list:
|
||||
if depver:
|
||||
layerver = self.configuration.data.getVar("LAYERVERSION_%s" % dep, True)
|
||||
layerver = self.data.getVar("LAYERVERSION_%s" % dep, True)
|
||||
if layerver:
|
||||
try:
|
||||
lver = int(layerver)
|
||||
|
@ -879,7 +879,7 @@ class BBCooker:
|
|||
# Calculate all layer priorities using calc_layer_priority and store in bbfile_config_priorities
|
||||
for c in collection_list:
|
||||
calc_layer_priority(c)
|
||||
regex = self.configuration.data.getVar("BBFILE_PATTERN_%s" % c, True)
|
||||
regex = self.data.getVar("BBFILE_PATTERN_%s" % c, True)
|
||||
if regex == None:
|
||||
parselog.error("BBFILE_PATTERN_%s not defined" % c)
|
||||
errors = True
|
||||
|
@ -899,9 +899,9 @@ class BBCooker:
|
|||
"""
|
||||
Setup any variables needed before starting a build
|
||||
"""
|
||||
if not self.configuration.data.getVar("BUILDNAME"):
|
||||
self.configuration.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M'))
|
||||
self.configuration.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime()))
|
||||
if not self.data.getVar("BUILDNAME"):
|
||||
self.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M'))
|
||||
self.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime()))
|
||||
|
||||
def matchFiles(self, bf):
|
||||
"""
|
||||
|
@ -911,7 +911,7 @@ class BBCooker:
|
|||
bf = os.path.abspath(bf)
|
||||
|
||||
self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities)
|
||||
filelist, masked = self.collection.collect_bbfiles(self.configuration.data, self.configuration.event_data)
|
||||
filelist, masked = self.collection.collect_bbfiles(self.data, self.event_data)
|
||||
try:
|
||||
os.stat(bf)
|
||||
bf = os.path.abspath(bf)
|
||||
|
@ -966,7 +966,7 @@ class BBCooker:
|
|||
|
||||
self.recipecache = bb.cache.CacheData(self.caches_array)
|
||||
infos = bb.cache.Cache.parse(fn, self.collection.get_file_appends(fn), \
|
||||
self.configuration.data,
|
||||
self.data,
|
||||
self.caches_array)
|
||||
infos = dict(infos)
|
||||
|
||||
|
@ -999,15 +999,15 @@ class BBCooker:
|
|||
|
||||
# Setup taskdata structure
|
||||
taskdata = bb.taskdata.TaskData(self.configuration.abort)
|
||||
taskdata.add_provider(self.configuration.data, self.recipecache, item)
|
||||
taskdata.add_provider(self.data, self.recipecache, item)
|
||||
|
||||
buildname = self.configuration.data.getVar("BUILDNAME")
|
||||
bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.configuration.event_data)
|
||||
buildname = self.data.getVar("BUILDNAME")
|
||||
bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.event_data)
|
||||
|
||||
# Execute the runqueue
|
||||
runlist = [[item, "do_%s" % task]]
|
||||
|
||||
rq = bb.runqueue.RunQueue(self, self.configuration.data, self.recipecache, taskdata, runlist)
|
||||
rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist)
|
||||
|
||||
def buildFileIdle(server, rq, abort):
|
||||
|
||||
|
@ -1026,7 +1026,7 @@ class BBCooker:
|
|||
return False
|
||||
|
||||
if not retval:
|
||||
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, item, failures), self.configuration.event_data)
|
||||
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, item, failures), self.event_data)
|
||||
self.command.finishAsyncCommand()
|
||||
return False
|
||||
if retval is True:
|
||||
|
@ -1063,7 +1063,7 @@ class BBCooker:
|
|||
return False
|
||||
|
||||
if not retval:
|
||||
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, targets, failures), self.configuration.data)
|
||||
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, targets, failures), self.data)
|
||||
self.command.finishAsyncCommand()
|
||||
return False
|
||||
if retval is True:
|
||||
|
@ -1072,10 +1072,10 @@ class BBCooker:
|
|||
|
||||
self.buildSetVars()
|
||||
|
||||
buildname = self.configuration.data.getVar("BUILDNAME")
|
||||
bb.event.fire(bb.event.BuildStarted(buildname, targets), self.configuration.data)
|
||||
buildname = self.data.getVar("BUILDNAME")
|
||||
bb.event.fire(bb.event.BuildStarted(buildname, targets), self.data)
|
||||
|
||||
localdata = data.createCopy(self.configuration.data)
|
||||
localdata = data.createCopy(self.data)
|
||||
bb.data.update_data(localdata)
|
||||
bb.data.expandKeys(localdata)
|
||||
|
||||
|
@ -1087,7 +1087,7 @@ class BBCooker:
|
|||
runlist.append([k, "do_%s" % task])
|
||||
taskdata.add_unresolved(localdata, self.recipecache)
|
||||
|
||||
rq = bb.runqueue.RunQueue(self, self.configuration.data, self.recipecache, taskdata, runlist)
|
||||
rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist)
|
||||
if universe:
|
||||
rq.rqdata.warn_multi_bb = True
|
||||
|
||||
|
@ -1123,16 +1123,16 @@ class BBCooker:
|
|||
if self.state != state.parsing:
|
||||
self.parseConfiguration ()
|
||||
|
||||
ignore = self.configuration.data.getVar("ASSUME_PROVIDED", True) or ""
|
||||
ignore = self.data.getVar("ASSUME_PROVIDED", True) or ""
|
||||
self.recipecache.ignored_dependencies = set(ignore.split())
|
||||
|
||||
for dep in self.configuration.extra_assume_provided:
|
||||
self.recipecache.ignored_dependencies.add(dep)
|
||||
|
||||
self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities)
|
||||
(filelist, masked) = self.collection.collect_bbfiles(self.configuration.data, self.configuration.event_data)
|
||||
(filelist, masked) = self.collection.collect_bbfiles(self.data, self.event_data)
|
||||
|
||||
self.configuration.data.renameVar("__depends", "__base_depends")
|
||||
self.data.renameVar("__depends", "__base_depends")
|
||||
|
||||
self.parser = CookerParser(self, filelist, masked)
|
||||
self.state = state.parsing
|
||||
|
@ -1177,14 +1177,14 @@ class BBCooker:
|
|||
# necessary from the data store.
|
||||
#bb.utils.empty_environment()
|
||||
try:
|
||||
prserv.serv.auto_start(self.configuration.data)
|
||||
prserv.serv.auto_start(self.data)
|
||||
except prserv.serv.PRServiceConfigError:
|
||||
bb.event.fire(CookerExit(), self.configuration.event_data)
|
||||
bb.event.fire(CookerExit(), self.event_data)
|
||||
return
|
||||
|
||||
def post_serve(self):
|
||||
prserv.serv.auto_shutdown(self.configuration.data)
|
||||
bb.event.fire(CookerExit(), self.configuration.event_data)
|
||||
prserv.serv.auto_shutdown(self.data)
|
||||
bb.event.fire(CookerExit(), self.event_data)
|
||||
|
||||
def shutdown(self):
|
||||
self.state = state.shutdown
|
||||
|
@ -1490,8 +1490,8 @@ class CookerParser(object):
|
|||
def __init__(self, cooker, filelist, masked):
|
||||
self.filelist = filelist
|
||||
self.cooker = cooker
|
||||
self.cfgdata = cooker.configuration.data
|
||||
self.cfghash = cooker.configuration.data_hash
|
||||
self.cfgdata = cooker.data
|
||||
self.cfghash = cooker.data_hash
|
||||
|
||||
# Accounting statistics
|
||||
self.parsed = 0
|
||||
|
@ -1582,8 +1582,8 @@ class CookerParser(object):
|
|||
sync = threading.Thread(target=self.bb_cache.sync)
|
||||
sync.start()
|
||||
multiprocessing.util.Finalize(None, sync.join, exitpriority=-100)
|
||||
bb.codeparser.parser_cache_savemerge(self.cooker.configuration.data)
|
||||
bb.fetch.fetcher_parse_done(self.cooker.configuration.data)
|
||||
bb.codeparser.parser_cache_savemerge(self.cooker.data)
|
||||
bb.fetch.fetcher_parse_done(self.cooker.data)
|
||||
|
||||
def load_cached(self):
|
||||
for filename, appends in self.fromcache:
|
||||
|
|
|
@ -957,7 +957,7 @@ class RunQueue:
|
|||
for task in range(len(self.rqdata.runq_fnid)):
|
||||
if self.rqdata.runq_fnid[task] not in done:
|
||||
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
|
||||
the_data = bb.cache.Cache.loadDataFull(fn, self.cooker.collection.get_file_appends(fn), self.cooker.configuration.data)
|
||||
the_data = bb.cache.Cache.loadDataFull(fn, self.cooker.collection.get_file_appends(fn), self.cooker.data)
|
||||
done.add(self.rqdata.runq_fnid[task])
|
||||
|
||||
bb.parse.siggen.dump_sigs(self.rqdata.dataCache)
|
||||
|
@ -1119,11 +1119,11 @@ class RunQueueExecute:
|
|||
if umask:
|
||||
os.umask(umask)
|
||||
|
||||
self.cooker.configuration.data.setVar("BB_WORKERCONTEXT", "1")
|
||||
self.cooker.data.setVar("BB_WORKERCONTEXT", "1")
|
||||
bb.parse.siggen.set_taskdata(self.rqdata.hashes, self.rqdata.hash_deps)
|
||||
ret = 0
|
||||
try:
|
||||
the_data = bb.cache.Cache.loadDataFull(fn, self.cooker.collection.get_file_appends(fn), self.cooker.configuration.data)
|
||||
the_data = bb.cache.Cache.loadDataFull(fn, self.cooker.collection.get_file_appends(fn), self.cooker.data)
|
||||
the_data.setVar('BB_TASKHASH', self.rqdata.runq_hash[task])
|
||||
for h in self.rqdata.hashes:
|
||||
the_data.setVar("BBHASH_%s" % h, self.rqdata.hashes[h])
|
||||
|
@ -1180,7 +1180,7 @@ class RunQueueExecute:
|
|||
taskname = self.rqdata.runq_task[depid]
|
||||
taskdata[dep] = [pn, taskname, fn]
|
||||
call = self.rq.depvalidate + "(task, taskdata, notneeded, d)"
|
||||
locs = { "task" : task, "taskdata" : taskdata, "notneeded" : self.scenequeue_notneeded, "d" : self.cooker.configuration.data }
|
||||
locs = { "task" : task, "taskdata" : taskdata, "notneeded" : self.scenequeue_notneeded, "d" : self.cooker.data }
|
||||
valid = bb.utils.better_eval(call, locs)
|
||||
return valid
|
||||
|
||||
|
@ -1247,7 +1247,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
|
|||
|
||||
call = self.rq.setsceneverify + "(covered, tasknames, fnids, fns, d, invalidtasks=invalidtasks)"
|
||||
call2 = self.rq.setsceneverify + "(covered, tasknames, fnids, fns, d)"
|
||||
locs = { "covered" : self.rq.scenequeue_covered, "tasknames" : self.rqdata.runq_task, "fnids" : self.rqdata.runq_fnid, "fns" : self.rqdata.taskData.fn_index, "d" : self.cooker.configuration.data, "invalidtasks" : invalidtasks }
|
||||
locs = { "covered" : self.rq.scenequeue_covered, "tasknames" : self.rqdata.runq_task, "fnids" : self.rqdata.runq_fnid, "fns" : self.rqdata.taskData.fn_index, "d" : self.cooker.data, "invalidtasks" : invalidtasks }
|
||||
# Backwards compatibility with older versions without invalidtasks
|
||||
try:
|
||||
covered_remove = bb.utils.better_eval(call, locs)
|
||||
|
@ -1607,7 +1607,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
|
|||
sq_taskname.append(taskname)
|
||||
sq_task.append(task)
|
||||
call = self.rq.hashvalidate + "(sq_fn, sq_task, sq_hash, sq_hashfn, d)"
|
||||
locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.configuration.data }
|
||||
locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.data }
|
||||
valid = bb.utils.better_eval(call, locs)
|
||||
|
||||
valid_new = stamppresent
|
||||
|
|
Loading…
Reference in New Issue