Skip site navigation (1)Skip section navigation (2)
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>