Date: Thu, 15 Dec 2016 12:57:10 +0000 From: Steven Hartland <steven.hartland@multiplay.co.uk> To: Ed Maste <emaste@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r310112 - head/sys/conf Message-ID: <c5939658-4200-de1e-a187-f4e9823d3fc5@multiplay.co.uk> In-Reply-To: <201612151257.uBFCv3ih001961@repo.freebsd.org> References: <201612151257.uBFCv3ih001961@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for doing this :) On 15/12/2016 12:57, Ed Maste wrote: > Author: emaste > Date: Thu Dec 15 12:57:03 2016 > New Revision: 310112 > URL: https://svnweb.freebsd.org/changeset/base/310112 > > Log: > newvers.sh: add option to eliminate kernel build metadata > > Build metadata (username, hostname, etc.) prevents the FreeBSD kernel > from building reproducibly. Add an option to disable inclusion of that > metadata but retain the release information and SVN/git VCS details. > See https://reproducible-builds.org/ for additional background. > > Reviewed by: bapt > Obtained from: NetBSD > MFC after: 1 month > Sponsored by: Reproducible Builds World Summit 2, Berlin > Differential Revision: https://reviews.freebsd.org/D4347 > > Modified: > head/sys/conf/newvers.sh > > Modified: head/sys/conf/newvers.sh > ============================================================================== > --- head/sys/conf/newvers.sh Thu Dec 15 10:51:35 2016 (r310111) > +++ head/sys/conf/newvers.sh Thu Dec 15 12:57:03 2016 (r310112) > @@ -30,6 +30,14 @@ > # @(#)newvers.sh 8.1 (Berkeley) 4/20/94 > # $FreeBSD$ > > +# Command line options: > +# > +# -r Reproducible build. Do not embed directory names, user > +# names, time stamps or other dynamic information into > +# the outuput file. This is intended to allow two builds > +# done at different times and even by different people on > +# different hosts to produce identical output. > + > TYPE="FreeBSD" > REVISION="12.0" > BRANCH="CURRENT" > @@ -250,10 +258,28 @@ if [ -n "$hg_cmd" ] ; then > fi > fi > > +include_metadata=true > +while getopts r opt; do > + case "$opt" in > + r) > + include_metadata= > + ;; > + esac > +done > +shift $((OPTIND - 1)) > + > +if [ -z "${include_metadata}" ]; then > + VERINFO="${VERSION} ${svn}${git}${hg}${p4version}" > + VERSTR="${VERINFO}\\n" > +else > + VERINFO="${VERSION} #${v}${svn}${git}${hg}${p4version}: ${t}" > + VERSTR="${VERINFO}\\n ${u}@${h}:${d}\\n" > +fi > + > cat << EOF > vers.c > $COPYRIGHT > -#define SCCSSTR "@(#)${VERSION} #${v}${svn}${git}${hg}${p4version}: ${t}" > -#define VERSTR "${VERSION} #${v}${svn}${git}${hg}${p4version}: ${t}\\n ${u}@${h}:${d}\\n" > +#define SCCSSTR "@(#)${VERINFO}" > +#define VERSTR "${VERSTR}" > #define RELSTR "${RELEASE}" > > char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c5939658-4200-de1e-a187-f4e9823d3fc5>