Skip to content

Reproducible builds

Thomas Petazzoni buildroot 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 15 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 15 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [Buildroot] [PATCH 00/15] Reproducible builds

Hello,

Quoted 9 lines · J?r?me Pouiller
Quoted 7 lines
Quoted 3 lines

- since gcc versions supporting SOURCE_DATE_EPOCH are not widely
available,
external toolchains probably won't work.

Instead of patching gcc, can we solve the problem in the toolchain wrapper? I.e, maybe the toolchain wrapper can set __DATE__ and __TIME__ by passing -D__DATE__=... -D__TIME__=... to gcc ?

Yes, I can switch to this solution.

I think it's a reasonable use of the wrapper, and makes the thing work fine for external toolchain as well, which is nice.

Another (unrelated) question: how can we test this stuff? You're providing the initial steps for it, but at some point, we will want to validate which packages behave properly and which packages don't behave properly. Have you already thought of automated testing we can do (in the autobuilders perhaps?) to exercise this "reproducible builds" functionality? Should we from time to time do a given builds twice, each time in a different environment (different date, different time, different user, different path, different timezone, different locale, etc.) ?

To what extent do we try to be reproducible? Do we try to have something that produces the same result when executed multiple times, but on the same machine, in the same environment (i.e only date/time changes) ? Or do we try to go the point where a given Buildroot .config gives a byte identical output regardless of the host machine on which you do the build? It would be great to know what our definition of "reproducible is", and document it in the help text of the BR2_REPRODUCIBLE option.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com