Removing build metadata, for reproducible kernel builds

Ed Maste emaste at freebsd.org
Wed Dec 2 17:37:12 UTC 2015


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.


More information about the freebsd-arch mailing list