svn commit: r310112 - head/sys/conf
Steven Hartland
steven.hartland at multiplay.co.uk
Thu Dec 15 12:59:45 UTC 2016
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;
>
More information about the svn-src-all
mailing list