devtool: extract: fix handling of failed tasks

If a task such as do_fetch fails when we're extracting source for a
recipe (within devtool modify / upgrade / extract / sync) then we should
naturally stop processing instead of blundering on; in order to do that
we need to be listening for the TaskFailed event. Thanks to Richard
Purdie for noticing and fixing this.

(From OE-Core rev: 9174b845bf6a6be7753bf6b921959b1f3f2dcbc0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2017-04-14 00:28:05 +12:00 committed by Richard Purdie
parent 2338032d0b
commit 02c39d3fad
1 changed files with 3 additions and 0 deletions

View File

@ -536,6 +536,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil):
'bb.command.CommandFailed',
'bb.build.TaskStarted',
'bb.build.TaskSucceeded',
'bb.build.TaskFailed',
'bb.build.TaskFailedSilent'])
def runtask(target, task):
@ -547,6 +548,8 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil):
break
elif isinstance(event, bb.command.CommandFailed):
raise DevtoolError('Task do_%s failed: %s' % (task, event.error))
elif isinstance(event, bb.build.TaskFailed):
raise DevtoolError('Task do_%s failed' % task)
elif isinstance(event, bb.build.TaskStarted):
logger.info('Executing %s...' % event._task)
elif isinstance(event, logging.LogRecord):