summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2012-09-23 14:14:24 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-24 12:13:51 +0100
commit0bdde689f651a22a2ff925bcdd88755cde592b3d (patch)
tree294ece1da1ad6fe3977bf962b7b80ac6d43399a2 /bitbake
parent1c2634c8d236a0eb1abc2fdc3ee5950ac7a2b345 (diff)
downloadast2050-yocto-poky-0bdde689f651a22a2ff925bcdd88755cde592b3d.zip
ast2050-yocto-poky-0bdde689f651a22a2ff925bcdd88755cde592b3d.tar.gz
bitbake: lib/bb/runqueue.py: fix exceptions with -k and failed targets
If a target dependency is marked as failed and yet we are continuing on because -k has been specified, don't try to access the dependency's data in taskData.build_targets since it will have been removed. This fixes "IndexError: list index out of range" errors in this situation. Also, do not print the "unhandled exception" message when SystemExit is raised since we will have reported the actual error already in this case (e.g. when -k has been specified and some targets failed). Fixes [YOCTO #3133]. (Bitbake rev: 70eebc184eb1ab3678be87bed019b5beadecdc89) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/runqueue.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index bc2eb87..b90b7e7 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -466,7 +466,7 @@ class RunQueueData:
# (makes sure sometask runs after targetname's someothertask)
idepends = taskData.tasks_idepends[task]
for (depid, idependtask) in idepends:
- if depid in taskData.build_targets:
+ if depid in taskData.build_targets and not depid in taskData.failed_deps:
# Won't be in build_targets if ASSUME_PROVIDED
depdata = taskData.build_targets[depid][0]
if depdata is not None:
@@ -932,6 +932,8 @@ class RunQueue:
return self._execute_runqueue()
except bb.runqueue.TaskFailure:
raise
+ except SystemExit:
+ raise
except:
logger.error("An uncaught exception occured in runqueue, please see the failure below:")
self.state = runQueueComplete
OpenPOWER on IntegriCloud