
Hello Tom and Simon!
On Sat, 17 Dec 2022 14:38:30 -0700 Simon Glass sjg@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 ?
Yours, Nikita Shubin.
Regards, Simon