[gnome-continuous-yocto/gnomeostree-3.28-rocko: 5671/8267] devtool: extract: fix handling of failed tasks



commit 02c39d3fad81d18cd57a70e9642f07c22909f6e4
Author: Paul Eggleton <paul eggleton linux intel com>
Date:   Fri Apr 14 00:28:05 2017 +1200

    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>

 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 34525b4..c3b65fb 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):


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]