[Buildroot] [PATCH 00/15] Reproducible builds

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri Nov 18 09:09:33 UTC 2016


Hello,

On Fri, 18 Nov 2016 09:49:51 +0100, Jérôme Pouiller wrote:

> In a first time, compiling each configuration twice, diffing 
> $(TARGET_DIR)
> and find guilty packages using packages-file-list.txt should be enough 
> to find
> a many errors. We may also grep $TARGET_DIR for most common error 
> patterns
> (hostname, user, ...)

OK. So for now we concentrate on timestamp-related variations.

> In a second time, I think reproducible build is an excellent tool to 
> validate top level parallelization.

Yes, right.

> Finally, for more accurate checks, we need to compile same configuration 
> on different host. I didn't check autobuilder sources, but it seems it 
> would involve a new autobuilder design.

This is clearly not possible with the current autobuilder design,
indeed. It will require a fairly major rework. However, we are already
thinking of changing the autobuilder architecture to have the
configuration generated not by the build slaves themselves, but instead
by the server. This could be a first step towards having the server
generate a given configuration, and give it to two separate
autobuilder slaves. But it's a lot of work to do.

> Ideally, "reproducible" mean that a binary result only depends on 
> Buildroot version and user configuration (sure, if a custom script have a 
> non-reproducible behavior, result won't be reproducible).

Right. I believe we should document in the BR2_REPRODUCIBLE help text
what is our current definition of reproducible. I.e that for the moment
we only make builds reproducibles if they are built on the same
machine, in the same path.

Best regards,

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



More information about the buildroot mailing list