mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-05-19 00:54:13 +00:00
smartmontools: Improve reproducibility
Backport changes added to master smartmontools.
24838916b4
Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
1b4da9f2ad
commit
70f352c90c
@ -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
|
||||
|
||||
@ -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)}"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user