From b621a313e0bc67803abfba18e1ae15e7a8b9b59f Mon Sep 17 00:00:00 2001
From: Oleksiy Obitotskyy <oobitots@cisco.com>
Date: Mon, 22 Feb 2021 17:21:33 +0200
Subject: [PATCH] smartmontools: Improve reproducibility

Backport changes added to master smartmontools.
https://github.com/smartmontools/smartmontools/commit/24838916b4c0e91f5c897d44fcdeedb22848f684

Upstream-Status: Backported
Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
---
 ChangeLog    |  8 ++++++++
 configure.ac | 12 ++++++++++++
 utility.cpp  | 10 ++++++++++
 3 files changed, 30 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 39eac2d..6a3b4ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 $Id: ChangeLog 5155 2020-12-30 16:49:18Z chrfranke $
 
+2021-02-07  Christian Franke  <franke@computer.org>
+
+	Improve reproducibility if SOURCE_DATE_EPOCH if set (GH pull/89).
+	configure.ac: Define SOURCE_DATE_EPOCH in CPPFLAGS.
+	utility.cpp: Print SOURCE_DATE_EPOCH value if specified.
+	Don't include configure arguments then.
+	cppcheck.sh: Silence related 'ConfigurationNotChecked' message.
+
 2020-12-30  Christian Franke  <franke@computer.org>
 
 	smartmontools 7.2
diff --git a/configure.ac b/configure.ac
index ee6f0e5..c37c9bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -61,6 +61,18 @@ case "${host}" in
     ;;
 esac
 
+AC_MSG_CHECKING([whether reproducible build is selected (SOURCE_DATE_EPOCH)])
+res=no
+if test -n "$SOURCE_DATE_EPOCH"; then
+  res=yes
+  test -z "`echo "$SOURCE_DATE_EPOCH" | sed 's,[[0-9]]*,,'`" || res=error
+fi
+AC_MSG_RESULT([$res])
+case $res in
+  error) AC_MSG_ERROR([Malformed SOURCE_DATE_EPOCH]) ;;
+  yes) CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-DSOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH" ;;
+esac
+
 # Check for SVN.
 AC_MSG_CHECKING([whether this is a build from SVN])
 is_svn_build=no
diff --git a/utility.cpp b/utility.cpp
index 0483c6f..8ab38c9 100644
--- a/utility.cpp
+++ b/utility.cpp
@@ -134,9 +134,19 @@ std::string format_version_info(const char * prog_name, bool full /*= false*/)
 #endif
                                                           "\n"
     "smartmontools configure arguments:"
+#ifdef SOURCE_DATE_EPOCH
+                                      " [hidden in reproducible builds]\n"
+    "reproducible build SOURCE_DATE_EPOCH: "
+#endif
   ;
+#ifdef SOURCE_DATE_EPOCH
+  char ts[32]; struct tm tmbuf;
+  strftime(ts, sizeof(ts), "%Y-%m-%d %H:%M:%S", time_to_tm_local(&tmbuf, SOURCE_DATE_EPOCH));
+  info += strprintf("%u (%s)", (unsigned)SOURCE_DATE_EPOCH, ts);
+#else
   info += (sizeof(SMARTMONTOOLS_CONFIGURE_ARGS) > 1 ?
            SMARTMONTOOLS_CONFIGURE_ARGS : " [no arguments given]");
+#endif
   info += '\n';
 
   return info;
-- 
2.25.1

