summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorChris Lamb <[email protected]>2020-02-15 09:32:59 +0000
committerRobert Antoni Buj Gelonch <[email protected]>2020-02-16 09:07:03 +0100
commit5abf684dc853caa629c92d2600c3c7f3d4264a66 (patch)
tree2bf2cb7971fa6a42b768a7059f7b117c8addb8af /configure.ac
parent10c192c904f9889153e2788bef9b2520b3068864 (diff)
downloadmate-desktop-5abf684dc853caa629c92d2600c3c7f3d4264a66.tar.bz2
mate-desktop-5abf684dc853caa629c92d2600c3c7f3d4264a66.tar.xz
Make the build reproducible
Whilst working on the Reproducible Builds effort [0] we noticed that mate-desktop could not be built reproducibly. This is is because it generated a "release year" etc. based on the current build date which was embedded in the binary and possibly other files. A patch attached that uses SOURCE_DATE_EPOCH [1] instead. As a side-effect, this fixes the (accidental) reset of MATE_DATE in the Autotools build system in inherited from mate-desktop-environment.git. This was originally filed in Debian as #951357 [2]. [0] https://reproducible-builds.org/ [1] https://reproducible-builds.org/specs/source-date-epoch/ [2] https://bugs.debian.org/951357
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac7
1 files changed, 6 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index af02709..a743871 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,8 +45,10 @@ MATE_PLATFORM=mate_platform
MATE_MINOR=mate_minor
MATE_MICRO=mate_micro
MATE_DATE=`date +"%Y-%m-%d"`
+if test "x$SOURCE_DATE_EPOCH" != "x"; then
+ MATE_DATE=`date -u -d "@$SOURCE_DATE_EPOCH" +%Y-%m-%d`
+fi
-MATE_DATE=
MATE_DATE_COMMENT_START="<!--"
MATE_DATE_COMMENT_END="-->"
@@ -62,6 +64,9 @@ AC_DEFINE(MATE_MINOR, [mate_minor], [Define to the minor version])
AC_DEFINE(MATE_MICRO, [mate_micro], [Define to the micro version])
RELEASE_YEAR=`date +%Y`
+if test "x$SOURCE_DATE_EPOCH" != "x"; then
+ RELEASE_YEAR=`date -u -d "@$SOURCE_DATE_EPOCH" +%Y`
+fi
AC_SUBST([RELEASE_YEAR])
AC_ARG_ENABLE(deprecation_flags,