diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-04-14 00:28:05 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-13 23:57:38 +0100 |
commit | 9174b845bf6a6be7753bf6b921959b1f3f2dcbc0 (patch) | |
tree | 989a416ba0836ca9b6c8fc3ce7508253f8a7de89 /scripts/lib | |
parent | 98fbc46e1a51237213bd7825a922389d3ab2ad9b (diff) | |
download | openembedded-core-9174b845bf6a6be7753bf6b921959b1f3f2dcbc0.tar.gz openembedded-core-9174b845bf6a6be7753bf6b921959b1f3f2dcbc0.tar.bz2 openembedded-core-9174b845bf6a6be7753bf6b921959b1f3f2dcbc0.zip |
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.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib')
-rw-r--r-- | scripts/lib/devtool/standard.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 34525b495b..c3b65fbbd4 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -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): |