Removing build metadata, for reproducible kernel builds
imp at bsdimp.com
Thu Dec 3 19:53:14 UTC 2015
On Thu, Dec 3, 2015 at 12:55 AM, Ed Maste <emaste at freebsd.org> wrote:
> On 3 December 2015 at 05:51, Warner Losh <imp at bsdimp.com> wrote:
> > I noted in the review that I don’t like the default being no.
> > I also don’t like that we’re growing lots of different knobs that need
> > to be set to get a repeatable build. Let’s have one, or barring that,
> > let’s have one that sets all the sub-knobs.
> My hope is that we'll have a reproducible build by default, and that
> *no* knobs need to be set. That's what I intend with my patch. I can
> rename the knob to WITH_/WITHOUT_REPRODUCIBLE_BUILD though if that's
> generally desired. If there's a consensus to default to including the
> metadata I'm fine with setting it in make release.
I think this an unwise decision in the current form suggested. The kernel
metadata has saved my butt enough times I really don't want to see it
go by default. But see below for a reasonable (imho) middle ground that
would be a good default.
> > I think that host and path are more worthless than date and time
> > in many environments. Who builds it likewise. Those are all things
> > that are likely to change between builds, yet change the kernel
> > image. I’d rather see it all gone when this option is in effect.
> I don't follow -- other than the build iteration number (which I
> indeed missed), it is all gone.
Yea I was reading things backwards.
In the review, I suggested that if you've modified the tree (which the SCM
will tell you), then do the old format to preserve useful metadata that's
really really needed and if not to use the shorter version. When you've
modified the tree, reproducible builds aren't a concern at all.
More information about the freebsd-arch