summaryrefslogtreecommitdiff
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2008-10-28 22:15:06 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2008-10-28 22:15:06 +0000
commitb296ae263ce12294a7264ed09b987acda73e4f67 (patch)
tree9c0dfd5439d9d27f74b36f9731afb01c0c018531 /bitbake/lib/bb
parentdb140d9ce0a5918cab2615862402c07ef81c6944 (diff)
downloadopenembedded-core-b296ae263ce12294a7264ed09b987acda73e4f67.tar.gz
openembedded-core-b296ae263ce12294a7264ed09b987acda73e4f67.tar.bz2
openembedded-core-b296ae263ce12294a7264ed09b987acda73e4f67.tar.xz
openembedded-core-b296ae263ce12294a7264ed09b987acda73e4f67.zip
bitbake: Add tryaltconfigs option to disable the alternative configuration attempts and make the 'continue' more aggresive
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/cooker.py8
-rw-r--r--bitbake/lib/bb/runqueue.py4
-rw-r--r--bitbake/lib/bb/taskdata.py3
3 files changed, 9 insertions, 6 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 7477ee6c6..c5d640da8 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 62bd10ae2..2df51de75 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 566614ee6..782dfb0b7 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):
"""