[PATCH] Makefile: add -W for BINMAN_ALLOW_MISSING

Tom Rini trini at konsulko.com
Mon Dec 19 14:36:30 CET 2022


On Mon, Dec 19, 2022 at 11:21:45AM +0300, Nikita Shubin wrote:
> Hello Tom and Simon!
> 
> On Sat, 17 Dec 2022 14:38:30 -0700
> Simon Glass <sjg at chromium.org> wrote:
> 
> > +Tom Rini
> > 
> > We do actually want to report the failure, since it means that the
> > image will not function. This was a recent change requested by a few
> > people.
> 
> It doesn't make sense to me - if i am passing "--allow-missing" than
> binman shouldn't fail drastically, cause i literally told him "It's okay
> if files are missing". What purpose does it have now, it we are failing
> regardless we are providing this flag or not ?
> 
> This breaks old behaviour by the way, when passing "--allow-missing"
> for missing blobs produced a warning instead of error.
> 
> > 
> > Note that buildman looks for the message 'Some images are invalid' and
> > either returning 103, or 0 if -W is given.
> > 
> > There is no attempt to produce a special exit code from the Makefile.
> > It generally returns 2 (as per 'man make'), which is why buildman has
> > this extra processing.
> 
> Well, there are only 3 codes for make and 2 indicates any failure:
> 
> "A status of two will be returned if any errors were encountered." (c)
> 
> This new behaviour looks the same with or without BINMAN_ALLOW_MISSING
> flag from top point of view:
> 
> With BINMAN_ALLOW_MISSING=1:
> Some images are invalid
> make[1]: *** [Makefile:1114: .binman_stamp] Error 103
> make[1]: Leaving directory '/home/maquefel/workshop/overlord/u-boot'
> make: *** [Makefile:271: u-boot/u
> 
> $ echo $?
> 2-boot-nodtb.bin] Error 2
> 
> Without BINMAN_ALLOW_MISSING:
> 
> binman: Filename 'fw_dynamic.bin' not found in input path
> (.,.,./board/syntacore/scr7_elct,arch/riscv/dts)
> (cwd='/home/maquefel/workshop/overlord/u-boot') make[1]: ***
> [Makefile:1114: .binman_stamp] Error 1 make[1]: Leaving directory
> '/home/maquefel/workshop/overlord/u-boot' make: *** [Makefile:271:
> u-boot/u-boot-nodtb.bin] Error 2
> 
> $ echo $?
> 2
> 
> So that's the difference if build is failing either way ?

So, with what is in master right now, BINMAN_ALLOW_MISSING=1 should work
as intended, while it did not at its introduction.  Please confirm if
your use cases work now, or not. The problem we needed to solve was the
one that by default previously, you could run "make fooboard_config
all", not have BL31/etc available, get a warning printed and a zero
exit code, leading to non-obvious failures if you build indirectly
(buildroot, yocto/OE, etc).

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20221219/8342bf32/attachment.sig>


More information about the U-Boot mailing list