svn commit: r310128 - in head: sys/conf tools/build/options
Ed Maste
emaste at FreeBSD.org
Thu Dec 15 21:27:00 UTC 2016
Author: emaste
Date: Thu Dec 15 21:26:58 2016
New Revision: 310128
URL: https://svnweb.freebsd.org/changeset/base/310128
Log:
Add WITH_REPRODUCIBLE_BUILD src.conf(5) knob to disable kernel metadata
The kernel builds reproducibly, except for the time, date, user, and
hostname baked into the kernel (reported at startup and via the
kern.version sysctl for uname). Add a build knob to disable the
inclusion of this metadata.
Reviewed by: jhb
MFC after: 1 month
Relnotes: Yes
Sponsored by: Reproducible Builds World Summit 2, Berlin
Differential Revision: https://reviews.freebsd.org/D8809
Added:
head/tools/build/options/WITH_REPRODUCIBLE_BUILD (contents, props changed)
Modified:
head/sys/conf/kern.opts.mk
head/sys/conf/kern.post.mk
Modified: head/sys/conf/kern.opts.mk
==============================================================================
--- head/sys/conf/kern.opts.mk Thu Dec 15 20:13:40 2016 (r310127)
+++ head/sys/conf/kern.opts.mk Thu Dec 15 21:26:58 2016 (r310128)
@@ -47,7 +47,8 @@ __DEFAULT_NO_OPTIONS = \
EISA \
EXTRA_TCP_STACKS \
NAND \
- OFED
+ OFED \
+ REPRODUCIBLE_BUILD
# Some options are totally broken on some architectures. We disable
# them. If you need to enable them on an experimental basis, you
Modified: head/sys/conf/kern.post.mk
==============================================================================
--- head/sys/conf/kern.post.mk Thu Dec 15 20:13:40 2016 (r310127)
+++ head/sys/conf/kern.post.mk Thu Dec 15 21:26:58 2016 (r310128)
@@ -357,8 +357,11 @@ config.o env.o hints.o vers.o vnode_if.o
config.ln env.ln hints.ln vers.ln vnode_if.ln:
${NORMAL_LINT}
+.if ${MK_REPRODUCIBLE_BUILD} != "no"
+REPRO_FLAG="-r"
+.endif
vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP}
- MAKE=${MAKE} sh $S/conf/newvers.sh ${KERN_IDENT}
+ MAKE=${MAKE} sh $S/conf/newvers.sh ${REPRO_FLAG} ${KERN_IDENT}
vnode_if.c: $S/tools/vnode_if.awk $S/kern/vnode_if.src
${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -c
Added: head/tools/build/options/WITH_REPRODUCIBLE_BUILD
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/tools/build/options/WITH_REPRODUCIBLE_BUILD Thu Dec 15 21:26:58 2016 (r310128)
@@ -0,0 +1,3 @@
+$FreeBSD$
+Set to exclude build metadata (build time, user, host and path) from the
+kernel and uname output.
More information about the svn-src-head
mailing list