bitbake: Add tryaltconfigs option to disable the alternative configuration attempts and make the 'continue' more aggresive
This commit is contained in:
parent
db140d9ce0
commit
b296ae263c
|
@ -69,6 +69,9 @@ Default BBFILES are the .bb files in the current directory.""" )
|
|||
parser.add_option( "-k", "--continue", help = "continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.",
|
||||
action = "store_false", dest = "abort", default = True )
|
||||
|
||||
parser.add_option( "-a", "--tryaltconfigs", help = "continue with builds by trying to use alternative providers where possible.",
|
||||
action = "store_true", dest = "tryaltconfigs", default = False )
|
||||
|
||||
parser.add_option( "-f", "--force", help = "force run of specified cmd, regardless of stamp status",
|
||||
action = "store_true", dest = "force", default = False )
|
||||
|
||||
|
|
|
@ -869,7 +869,7 @@ class RunQueue:
|
|||
self.finish_runqueue()
|
||||
|
||||
if self.state is runQueueFailed:
|
||||
if self.taskData.abort:
|
||||
if not self.taskData.tryaltconfigs:
|
||||
raise bb.runqueue.TaskFailure(self.failed_fnids)
|
||||
for fnid in self.failed_fnids:
|
||||
self.taskData.fail_fnid(fnid)
|
||||
|
|
|
@ -30,7 +30,7 @@ class TaskData:
|
|||
"""
|
||||
BitBake Task Data implementation
|
||||
"""
|
||||
def __init__(self, abort = True):
|
||||
def __init__(self, abort = True, tryaltconfigs = False):
|
||||
self.build_names_index = []
|
||||
self.run_names_index = []
|
||||
self.fn_index = []
|
||||
|
@ -57,6 +57,7 @@ class TaskData:
|
|||
self.failed_fnids = []
|
||||
|
||||
self.abort = abort
|
||||
self.tryaltconfigs = tryaltconfigs
|
||||
|
||||
def getbuild_id(self, name):
|
||||
"""
|
||||
|
|
|
@ -60,6 +60,9 @@ Default BBFILES are the .bb files in the current directory.""" )
|
|||
parser.add_option( "-k", "--continue", help = "continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.",
|
||||
action = "store_false", dest = "abort", default = True )
|
||||
|
||||
parser.add_option( "-a", "--tryaltconfigs", help = "continue with builds by trying to use alternative providers where possible.",
|
||||
action = "store_true", dest = "tryaltconfigs", default = False )
|
||||
|
||||
parser.add_option( "-f", "--force", help = "force run of specified cmd, regardless of stamp status",
|
||||
action = "store_true", dest = "force", default = False )
|
||||
|
||||
|
|
|
@ -54,6 +54,9 @@ continue as much as possible after an error. While the target that failed, and
|
|||
those that depend on it, cannot be remade, the other dependencies of these
|
||||
targets can be processed all the same.
|
||||
.TP
|
||||
.B \-a, \-\-tryaltconfigs
|
||||
continue with builds by trying to use alternative providers where possible.
|
||||
.TP
|
||||
.B \-f, \-\-force
|
||||
force run of specified cmd, regardless of stamp status
|
||||
.TP
|
||||
|
|
|
@ -194,7 +194,7 @@ class BBCooker:
|
|||
bb.data.update_data(localdata)
|
||||
bb.data.expandKeys(localdata)
|
||||
|
||||
taskdata = bb.taskdata.TaskData(self.configuration.abort)
|
||||
taskdata = bb.taskdata.TaskData(self.configuration.abort, self.configuration.tryaltconfigs)
|
||||
|
||||
try:
|
||||
taskdata.add_provider(localdata, self.status, pkgs_to_build[0])
|
||||
|
@ -243,7 +243,7 @@ class BBCooker:
|
|||
localdata = data.createCopy(self.configuration.data)
|
||||
bb.data.update_data(localdata)
|
||||
bb.data.expandKeys(localdata)
|
||||
taskdata = bb.taskdata.TaskData(self.configuration.abort)
|
||||
taskdata = bb.taskdata.TaskData(self.configuration.abort, self.configuration.tryaltconfigs)
|
||||
|
||||
runlist = []
|
||||
try:
|
||||
|
@ -500,7 +500,7 @@ class BBCooker:
|
|||
bb.build.del_stamp('do_%s' % self.configuration.cmd, self.configuration.data)
|
||||
|
||||
# Setup taskdata structure
|
||||
taskdata = bb.taskdata.TaskData(self.configuration.abort)
|
||||
taskdata = bb.taskdata.TaskData(self.configuration.abort, self.configuration.tryaltconfigs)
|
||||
taskdata.add_provider(self.configuration.data, self.status, item)
|
||||
|
||||
buildname = bb.data.getVar("BUILDNAME", self.configuration.data)
|
||||
|
@ -534,7 +534,7 @@ class BBCooker:
|
|||
bb.data.update_data(localdata)
|
||||
bb.data.expandKeys(localdata)
|
||||
|
||||
taskdata = bb.taskdata.TaskData(self.configuration.abort)
|
||||
taskdata = bb.taskdata.TaskData(self.configuration.abort, self.configuration.tryaltconfigs)
|
||||
|
||||
runlist = []
|
||||
try:
|
||||
|
|
|
@ -845,7 +845,7 @@ class RunQueue:
|
|||
failed_fnids = self.finish_runqueue()
|
||||
if len(failed_fnids) == 0:
|
||||
return failures
|
||||
if self.taskData.abort:
|
||||
if not self.taskData.tryaltconfigs:
|
||||
raise bb.runqueue.TaskFailure(failed_fnids)
|
||||
for fnid in failed_fnids:
|
||||
#print "Failure: %s %s %s" % (fnid, self.taskData.fn_index[fnid], self.runq_task[fnid])
|
||||
|
@ -970,6 +970,8 @@ class RunQueue:
|
|||
bb.msg.error(bb.msg.domain.RunQueue, "Task %s (%s) failed" % (task, self.get_user_idstring(task)))
|
||||
self.failed_fnids.append(self.runq_fnid[task])
|
||||
self.stats.taskFailed()
|
||||
if not self.taskData.abort:
|
||||
continue
|
||||
break
|
||||
self.task_complete(task)
|
||||
self.stats.taskCompleted()
|
||||
|
|
|
@ -30,7 +30,7 @@ class TaskData:
|
|||
"""
|
||||
BitBake Task Data implementation
|
||||
"""
|
||||
def __init__(self, abort = True):
|
||||
def __init__(self, abort = True, tryaltconfigs = False):
|
||||
self.build_names_index = []
|
||||
self.run_names_index = []
|
||||
self.fn_index = []
|
||||
|
@ -57,6 +57,7 @@ class TaskData:
|
|||
self.failed_fnids = []
|
||||
|
||||
self.abort = abort
|
||||
self.tryaltconfigs = tryaltconfigs
|
||||
|
||||
def getbuild_id(self, name):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue