From: Simon Glass <sjg@chromium.org>
Date: Thu, 10 Nov 2022 02:14:48 +0000 (-0700)
Subject: buildman: Detect binman reporting missing blobs
X-Git-Tag: v2025.01-rc5-pxa1908~1203^2~11
X-Git-Url: http://git.dujemihanovic.xyz/html/index.html?a=commitdiff_plain;h=35b6e53d0d65ec59d73653ac194c0317621b16cf;p=u-boot.git

buildman: Detect binman reporting missing blobs

Buildman should consider a build as a success (with warnings) if missing
blobs have been dealt with by binman, even though buildman itself returns
and error code overall. This is how other warnings are dealt with.

We cannot easily access the 103 exit code, so detect the problem in the
output.

With this change, missing blobs result in an exit code of 101, although
they still indicate failure.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py
index 6240e08c76..065d836d68 100644
--- a/tools/buildman/builderthread.py
+++ b/tools/buildman/builderthread.py
@@ -288,10 +288,14 @@ class BuilderThread(threading.Thread):
                         args.append('cfg')
                     result = self.Make(commit, brd, 'build', cwd, *args,
                             env=env)
+                    if (result.return_code == 2 and
+                        ('Some images are invalid' in result.stderr)):
+                        # This is handled later by the check for output in
+                        # stderr
+                        result.return_code = 0
                     if adjust_cfg:
                         errs = cfgutil.check_cfg_file(cfg_file, adjust_cfg)
                         if errs:
-                            print('errs', errs)
                             result.stderr += errs
                             result.return_code = 1
                 result.stderr = result.stderr.replace(src_dir + '/', '')