[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#868843: xorg-server: please make the BUILD_{DATE,TIME} reproducible



Source: xorg-server
Version: 2:1.19.3-2
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org

Hi,

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. Thanks to Bernhard M. Wiedemann!

 [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb, Debian Project Leader
     `. `'`      lamby@debian.org / chris-lamb.co.uk
       `-
diff --git a/configure.ac b/configure.ac
index e6c5b35..cd7ebfe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2555,9 +2555,14 @@ AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
 AC_DEFINE_DIR(SYSCONFDIR, sysconfdir, [sysconfdir])
 
 AC_SUBST([RELEASE_DATE])
-BUILD_DATE="`date +'%Y%m%d'`"
+if test "x$SOURCE_DATE_EPOCH" = "x"; then
+	BUILD_DATE="`date --utc --date="@$SOURCE_DATE_EPOCH" +'%Y%m%d'`"
+	BUILD_TIME="`date --utc --date="@$SOURCE_DATE_EPOCH" +'1%H%M%S'`"
+else
+	BUILD_DATE="`date +'%Y%m%d'`"
+	BUILD_TIME="`date +'1%H%M%S'`"
+fi
 AC_SUBST([BUILD_DATE])
-BUILD_TIME="`date +'1%H%M%S'`"
 AC_SUBST([BUILD_TIME])
 
 DIX_CFLAGS="-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"

Reply to: