mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 01:19:52 +00:00
bitbake: bitbake: cooker, toaster: mark interrupted builds as failed
This patch changes bitbake to log an error to the command line when the build is interrupted via Ctrl-C. This is needed to inform the user that not all tasks required for the build have been executed, and the build is not complete. Internally, the Bitbake server will return a CommandFailed event that will be logged by Toaster as build failure. (Bitbake rev: 9a658e8b1511f1b9f91663f546f748fdfbc8965f) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
10717e5a0a
commit
e19ee57c96
@@ -1109,10 +1109,13 @@ class BBCooker:
|
|||||||
|
|
||||||
def buildFileIdle(server, rq, abort):
|
def buildFileIdle(server, rq, abort):
|
||||||
|
|
||||||
|
msg = None
|
||||||
if abort or self.state == state.forceshutdown:
|
if abort or self.state == state.forceshutdown:
|
||||||
rq.finish_runqueue(True)
|
rq.finish_runqueue(True)
|
||||||
|
msg = "Forced shutdown"
|
||||||
elif self.state == state.shutdown:
|
elif self.state == state.shutdown:
|
||||||
rq.finish_runqueue(False)
|
rq.finish_runqueue(False)
|
||||||
|
msg = "Stopped build"
|
||||||
failures = 0
|
failures = 0
|
||||||
try:
|
try:
|
||||||
retval = rq.execute_runqueue()
|
retval = rq.execute_runqueue()
|
||||||
@@ -1125,7 +1128,7 @@ class BBCooker:
|
|||||||
|
|
||||||
if not retval:
|
if not retval:
|
||||||
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, item, failures), self.event_data)
|
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, item, failures), self.event_data)
|
||||||
self.command.finishAsyncCommand()
|
self.command.finishAsyncCommand(msg)
|
||||||
return False
|
return False
|
||||||
if retval is True:
|
if retval is True:
|
||||||
return True
|
return True
|
||||||
@@ -1139,10 +1142,13 @@ class BBCooker:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def buildTargetsIdle(server, rq, abort):
|
def buildTargetsIdle(server, rq, abort):
|
||||||
|
msg = None
|
||||||
if abort or self.state == state.forceshutdown:
|
if abort or self.state == state.forceshutdown:
|
||||||
rq.finish_runqueue(True)
|
rq.finish_runqueue(True)
|
||||||
|
msg = "Forced shutdown"
|
||||||
elif self.state == state.shutdown:
|
elif self.state == state.shutdown:
|
||||||
rq.finish_runqueue(False)
|
rq.finish_runqueue(False)
|
||||||
|
msg = "Stopped build"
|
||||||
failures = 0
|
failures = 0
|
||||||
try:
|
try:
|
||||||
retval = rq.execute_runqueue()
|
retval = rq.execute_runqueue()
|
||||||
@@ -1155,7 +1161,7 @@ class BBCooker:
|
|||||||
|
|
||||||
if not retval:
|
if not retval:
|
||||||
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, targets, failures), self.data)
|
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, targets, failures), self.data)
|
||||||
self.command.finishAsyncCommand()
|
self.command.finishAsyncCommand(msg)
|
||||||
return False
|
return False
|
||||||
if retval is True:
|
if retval is True:
|
||||||
return True
|
return True
|
||||||
|
|||||||
@@ -217,6 +217,13 @@ def main(server, eventHandler, params ):
|
|||||||
if isinstance(event, (bb.command.CommandCompleted,
|
if isinstance(event, (bb.command.CommandCompleted,
|
||||||
bb.command.CommandFailed,
|
bb.command.CommandFailed,
|
||||||
bb.command.CommandExit)):
|
bb.command.CommandExit)):
|
||||||
|
if (isinstance(event, bb.command.CommandFailed)):
|
||||||
|
event.levelno = format.ERROR
|
||||||
|
event.msg = event.error
|
||||||
|
event.pathname = ""
|
||||||
|
event.lineno = 0
|
||||||
|
buildinfohelper.store_log_event(event)
|
||||||
|
errors += 1
|
||||||
|
|
||||||
buildinfohelper.update_build_information(event, errors, warnings, taskfailures)
|
buildinfohelper.update_build_information(event, errors, warnings, taskfailures)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user