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
This commit is contained in:
parent
d828ed76b5
commit
8b9ac4e4a6
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user