newvers: Honour SOURCE_DATE_EPOCH as a build reproducibility measure
One reason the kernel does not build reproducibly is that it includes a timestamp in the version string. SOURCE_DATE_EPOCH provides a standard method to address this: it should be set to the last modification time of the source, and build processes use the specified timestamp instead of the "current" date and time. This change uses SOURCE_DATE_EPOCH if it is set; how it gets set needs to be addressed elsewhere. Reviewed by: bapt MFC after: 1 week Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
0d02209e54
commit
442aaceec5
@ -97,7 +97,15 @@ then
|
||||
fi
|
||||
|
||||
touch version
|
||||
v=`cat version` u=${USER:-root} d=`pwd` h=${HOSTNAME:-`hostname`} t=`date`
|
||||
v=`cat version` u=${USER:-root} d=`pwd` h=${HOSTNAME:-`hostname`}
|
||||
if [ -n "$SOURCE_DATE_EPOCH" ]; then
|
||||
if ! t=`date -r $SOURCE_DATE_EPOCH 2>/dev/null`; then
|
||||
echo "Invalid SOURCE_DATE_EPOCH" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
t=`date`
|
||||
fi
|
||||
i=`${MAKE:-make} -V KERN_IDENT`
|
||||
compiler_v=$($(${MAKE:-make} -V CC) -v 2>&1 | grep -w 'version')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user