On Thu, Nov 10, 2022 at 2:17 AM Simon Glass <s...@chromium.org> wrote: > > 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.
So either this or Tom's change of "buildman: Add --allow-missing flag to allow missing blobs" has broken rc3 builds for Allwinner boards on Fedora. Tom's isn't a clean revert and I've not had time to test that but either way the SCP firmware is optional and it works just fine, ATM we don't have the SCP firmware available to Fedora builds. Maybe that sort of of change to the build is expected but which ever patch it is, and adding "BINMAN_ALLOW_MISSING=1" changes the error but doesn't change the overall failure, I wouldn't expect this sort of breakage so late in the cycle. Do either of you know which one does the hard breakage here? I thought I'd highlight it now because I don't have time over the next two weeks to fully investigate the regression. Peter > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > (no changes since v1) > > tools/buildman/builderthread.py | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py > index 6240e08c767..065d836d68c 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 + '/', '') > -- > 2.38.1.431.g37b22c650d-goog >