[PATCH v2 01/38] Makefile: Fake external blobs by default with binman

Simon Glass sjg at chromium.org
Mon Oct 10 17:19:39 CEST 2022


Hi Rasmus,

On Mon, 10 Oct 2022 at 04:16, Rasmus Villemoes
<rasmus.villemoes at prevas.dk> wrote:
>
> On 10/01/2022 04.13, Simon Glass wrote:
> > This behaviour is necessary with boards where the binman description
> > requires processing external blobs, since these may be missing.
> >
> > Enable it by default, so that CI is happy. Warnings indicate that a valid
> > image is not produced, as with the --allow-missing option.
>
> I know I have talked and warned about this before, and now I was
> actually bitten by it IRL.
>
> Can we _please_ stop doing this by default. I understand why upstream
> U-Boot's CI system needs this, but it should be possible for that CI
> system to set an environment variable or pass a make parameter to opt-in
> to generating these fake blobs.
>
> Generating potentially non-functional binaries by default, and currently
> without even a way to opt out of that (that I have found), is frankly
> not sane. Yeah, a warning is printed, but that easily scrolls away or in
> the case of automated builds is hidden away in some log file people
> would only ever look at if the job failed.
>
> I want my/our CI to _fail hard_ when I have failed to update the Yocto
> metadata to stage the necessary blobs before do_compile. And if upstream
> U-Boot want to continue to have this by default, can we at the very
> least get an ergonomic way to opt out (preferably a CONFIG_ option I can
> set or clear in my out-of-tree defconfig files).

How come it doesn't fail? Building should produce an error 101 in this
case. Does it not? Please send the details if there is something
wrong.

For gitlab the code is something like:

      ./tools/buildman/buildman -o /tmp -P -E -W aarch64 || ret=$?;
      if [[ $ret -ne 0 ]]; then
        ./tools/buildman/buildman -o /tmp -seP;
        exit $ret;
      fi;

which is why it continues building.

BTW, since this patch they go in a subdir, BTW, so they don't affect a
subsequent build:

7960a0a2895 binman: Put fake files in a subdirectory

Regards.
Simon


More information about the U-Boot mailing list