Removing build metadata, for reproducible kernel builds

Andriy Gapon avg at FreeBSD.org
Wed Dec 2 21:53:46 UTC 2015


On 02/12/2015 19:36, Ed Maste wrote:
> The main issue currently preventing kernel builds from being
> reproducible[1] is the build metadata itself that's included (time,
> user, host, build path). In order to make the kernel build
> reproducible I plan to remove these by default, and add a src.conf
> knob to enable them for developers who want them in their own builds.
> 
> The user-facing effect of this is that the kern.version sysctl no
> longer conveys this information, and uname -a changes from something
> like:
> 
> FreeBSD ref11-amd64.freebsd.org 11.0-CURRENT FreeBSD 11.0-CURRENT #0
> r288681: Mon Oct  5 01:40:11 UTC 2015
> peter at build-11.freebsd.org:/usr/obj/usr/src/sys/CLUSTER11  amd64
> 
> to something like:
> 
> FreeBSD feynman 10.2-STABLE FreeBSD 10.2-STABLE #44
> r288174+7644546(stable-10) amd64
> 
> The current version of the change is available for review at
> https://reviews.freebsd.org/D4347.
> 
> [1] See https://reproducible-builds.org/ for more information on the
> reproducible builds project.

Personally, I would prefer that, at least initially, KERNEL_METADATA is "yes" by
default.  My thinking is that people who really need reproducible builds would
have no trouble toggling the knob and the rest would have the traditional behavior.

-- 
Andriy Gapon


More information about the freebsd-arch mailing list