ntp: Reproducible build: Respect SOURCE_DATE_EPOCH

If a SOURCE_DATE_EPOCH is set in the environment, use that date in the build
version string, otherwise use the current build date.
See https://reproducible-builds.org/docs/source-date-epoch/

Should GNU date options fail, try BSD date options as a fall-back.
This patch can potentially be pushed upstream for use on Mac OSX or OpenBSD,
though it has not been tested on OSX or any BSD platform.

Upstream-Status: Submitted http://bugs.ntp.org/show_bug.cgi?id=3550
Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
douglas.royds 2018-11-13 18:08:34 +13:00 committed by Armin Kuster
parent fe75e6efdd
commit 37e061519c
2 changed files with 17 additions and 0 deletions

View File

@ -0,0 +1,16 @@
--- ntp-4.2.8p12.original/scripts/build/mkver.in 2018-11-12 14:06:49.333020430 +1300
+++ ntp-4.2.8p12/scripts/build/mkver.in 2018-11-12 14:15:04.947480167 +1300
@@ -15,7 +15,12 @@
*) ConfStr="${ConfStr}-@VER_SUFFIX@" ;;
esac
-ConfStr="$ConfStr `LC_TIME=C TZ=UTC date`"
+if [ -n "$SOURCE_DATE_EPOCH" ]; then
+ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date -d@$SOURCE_DATE_EPOCH 2>/dev/null`" ||
+ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date -r $SOURCE_DATE_EPOCH`"
+else
+ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date`"
+fi
if [ ! -f .version ]; then
echo 0 > .version

View File

@ -12,6 +12,7 @@ DEPENDS = "libevent"
SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
file://ntp-4.2.4_p6-nano.patch \
file://reproducibility-respect-source-date-epoch.patch \
file://ntpd \
file://ntp.conf \
file://ntpdate \