aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleksiy Obitotskyy <oobitots@cisco.com>2021-02-22 08:40:07 -0800
committerKhem Raj <raj.khem@gmail.com>2021-02-22 09:29:35 -0800
commit70f352c90cbb63497cc02847240b2d039083fd40 (patch)
tree1a9903831408a0fabf3b28482733d6fcbaed3827
parent1b4da9f2ad20536d9524397589d4e29179958972 (diff)
downloadmeta-openembedded-contrib-70f352c90cbb63497cc02847240b2d039083fd40.tar.gz
smartmontools: Improve reproducibility
Backport changes added to master smartmontools. https://github.com/smartmontools/smartmontools/commit/24838916b4c0e91f5c897d44fcdeedb22848f684 Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch84
-rw-r--r--meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb1
2 files changed, 85 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch b/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch
new file mode 100644
index 0000000000..87c0e1458e
--- /dev/null
+++ b/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch
@@ -0,0 +1,84 @@
+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
+
diff --git a/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb b/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
index 3c01e589ca..cd97933592 100644
--- a/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
+++ b/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
@@ -16,6 +16,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
file://initd.smartd \
file://smartmontools.default \
file://smartd.service \
+ file://0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch \
"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}"