From b296ae263ce12294a7264ed09b987acda73e4f67 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 28 Oct 2008 22:15:06 +0000 Subject: bitbake: Add tryaltconfigs option to disable the alternative configuration attempts and make the 'continue' more aggresive --- bitbake/lib/bb/cooker.py | 8 ++++---- bitbake/lib/bb/runqueue.py | 4 +++- bitbake/lib/bb/taskdata.py | 3 ++- 3 files changed, 9 insertions(+), 6 deletions(-) (limited to 'bitbake/lib/bb') diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 7477ee6c6f..c5d640da80 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -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: diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 62bd10ae24..2df51de75a 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -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() diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py index 566614ee63..782dfb0b78 100644 --- a/bitbake/lib/bb/taskdata.py +++ b/bitbake/lib/bb/taskdata.py @@ -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): """ -- cgit v1.2.3-54-g00ecf