From: Chris Lamb Date: Fri, 31 May 2019 17:54:04 +0000 (+0200) Subject: Don't embed compile-time timestamps into generated files. X-Git-Tag: v1.0.4~13 X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=bb3a974325f5967c38da61ff61b5f7c732fcfa59;p=lopsub.git Don't embed compile-time timestamps into generated files. Currently the build is not reproducible because make(1) runs date(1) to provide the month and the year for the man page. Fix this by honouring SOURCE_DATE_EPOCH as described in https://reproducible-builds.org/specs/source-date-epoch/ Signed-off-by: Andre Noll --- diff --git a/Makefile b/Makefile index 408e3a5..3c7bde2 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,15 @@ INSTALL := install GZIP := gzip -f9 ZCAT := zcat -DATE := $(shell date '+%B %Y') +DATE_FMT := +%B %Y +# To get a reproducible build, we use $(SOURCE_DATE_EPOCH) instead of the +# current time if this variable is set. +ifdef SOURCE_DATE_EPOCH + DATE := $(shell LC_ALL=C date -u -d '@$(SOURCE_DATE_EPOCH)' \ + '$(DATE_FMT)' 2>/dev/null || LC_ALL=C date -u '$(DATE_FMT)') +else + DATE := $(shell date '+$(DATE_FMT)') +endif GIT_VERSION := $(shell ./version-gen.sh) PLAIN_VERSION := $(firstword $(subst -, , $(GIT_VERSION))) MAJOR_VERSION := $(firstword $(subst ., , $(PLAIN_VERSION)))