Hi xorg-devel, Whilst working on the Reproducible Builds effort [0], we noticed that xorg-server could not be built reproducibly.
One reason is because it embeds a build and date time. Patch attached. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb, Debian Project Leader `. `'` la...@debian.org / chris-lamb.co.uk `-
From bb171c65af6ee0c8b48e9108b277b1f9ff21f978 Mon Sep 17 00:00:00 2001 From: Chris Lamb <ch...@chris-lamb.co.uk> Date: Thu, 20 Jul 2017 15:42:15 +0100 Subject: [PATCH] configure.ac: Make BUILD_{DATE,TIME} respect SOURCE_DATE_EPOCH if set Whilst working on the Reproducible Builds effort [0], we noticed that xorg-server could not be built reproducibly. One reason is because it embeds a "current" build and date time. This should be compatible with both GNU and BSD date(1). [0] https://reproducible-builds.org/ --- configure.ac | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index e202770c1..f10a94cb4 100644 --- a/configure.ac +++ b/configure.ac @@ -2405,9 +2405,15 @@ AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix]) AC_DEFINE_DIR(SYSCONFDIR, sysconfdir, [sysconfdir]) AC_SUBST([RELEASE_DATE]) -BUILD_DATE="`date +'%Y%m%d'`" +DATE_FMT="%Y-%m-%d" +TIME_FMT="1%H%M%S" +BUILD_DATE="`date "+$DATE_FMT"`" +BUILD_TIME="`date "+$TIME_FMT"`" +if test "x$SOURCE_DATE_EPOCH" != "x"; then + BUILD_DATE="`date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || date -u "+$DATE_FMT"`" + BUILD_TIME="`date -u -d "@$SOURCE_DATE_EPOCH" "+$TIME_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "+$TIME_FMT" 2>/dev/null || date -u "+$TIME_FMT"`" +fi AC_SUBST([BUILD_DATE]) -BUILD_TIME="`date +'1%H%M%S'`" AC_SUBST([BUILD_TIME]) DIX_CFLAGS="-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS" -- 2.13.3
_______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel