[bitbake-devel] [PATCH 1/2] toaster: handle early exceptions

David Reyna david.reyna at windriver.com
Fri Sep 8 04:50:47 UTC 2017


From: David Reyna <David.Reyna at windriver.com>

Stop the pending build and report to the user if there is
an internal exception due to a git error, a bitbake server
error, or if the server-only mode halts due to for example
a user syntax error in a layer or recipe.

These exceptions were not caught because they occure before
the normal toastergui processing was started.

[YOCTO #12056]

Signed-off-by: David Reyna <David.Reyna at windriver.com>
---
 lib/toaster/bldcontrol/management/commands/runbuilds.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/toaster/bldcontrol/management/commands/runbuilds.py b/lib/toaster/bldcontrol/management/commands/runbuilds.py
index 8eacb5e..791e53e 100644
--- a/lib/toaster/bldcontrol/management/commands/runbuilds.py
+++ b/lib/toaster/bldcontrol/management/commands/runbuilds.py
@@ -79,6 +79,14 @@ class Command(BaseCommand):
             br.save()
             bec.be.lock = BuildEnvironment.LOCK_FREE
             bec.be.save()
+            # Cancel the pending build and report the exception to the UI
+            log_object = LogMessage.objects.create(
+                            build = br.build,
+                            level = LogMessage.EXCEPTION,
+                            message = errmsg)
+            log_object.save()
+            br.build.outcome = Build.FAILED
+            br.build.save()
 
     def archive(self):
         for br in BuildRequest.objects.filter(state=BuildRequest.REQ_ARCHIVE):
-- 
1.9.1




More information about the bitbake-devel mailing list