smartmontools: upgraded package to upstream
Upgraded sys-apps/smartmontools to version 7.1 on amd64
BUG=none
TEST=Check on SATA and NVMe machines.
Output for power on hours changed, but otherwise, similar to older
versions.
Change-Id: I06d79501448af0c914f5c6ed52334dd536464e61
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/2197748
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
diff --git a/metadata/md5-cache/sys-apps/smartmontools-6.6-r1 b/metadata/md5-cache/sys-apps/smartmontools-7.1
similarity index 76%
rename from metadata/md5-cache/sys-apps/smartmontools-6.6-r1
rename to metadata/md5-cache/sys-apps/smartmontools-7.1
index ad206fe..1ee3cfe 100644
--- a/metadata/md5-cache/sys-apps/smartmontools-6.6-r1
+++ b/metadata/md5-cache/sys-apps/smartmontools-7.1
@@ -3,12 +3,12 @@
DESCRIPTION=Tools to monitor storage systems to provide advanced warning of disk degradation
EAPI=6
HOMEPAGE=https://www.smartmontools.org
-IUSE=caps +daemon selinux static update_drivedb
+IUSE=caps +daemon selinux static systemd update_drivedb
KEYWORDS=*
LICENSE=GPL-2
-RDEPEND=caps? ( static? ( sys-libs/libcap-ng[static-libs] ) !static? ( sys-libs/libcap-ng ) ) kernel_FreeBSD? ( sys-freebsd/freebsd-lib[usb] ) selinux? ( sys-libs/libselinux ) daemon? ( virtual/mailx ) selinux? ( sec-policy/selinux-smartmon ) update_drivedb? ( app-crypt/gnupg || ( net-misc/curl net-misc/wget www-client/lynx dev-vcs/subversion ) )
+RDEPEND=caps? ( static? ( sys-libs/libcap-ng[static-libs] ) !static? ( sys-libs/libcap-ng ) ) kernel_FreeBSD? ( sys-freebsd/freebsd-lib[usb] ) selinux? ( sys-libs/libselinux ) daemon? ( virtual/mailx ) selinux? ( sec-policy/selinux-smartmon ) systemd? ( sys-apps/systemd ) update_drivedb? ( app-crypt/gnupg || ( net-misc/curl net-misc/wget www-client/lynx dev-vcs/subversion ) )
REQUIRED_USE=( caps? ( daemon ) )
SLOT=0
-SRC_URI=mirror://sourceforge/smartmontools/smartmontools-6.6.tar.gz
+SRC_URI=mirror://sourceforge/smartmontools/smartmontools-7.1.tar.gz
_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 eutils 06133990e861be0fe60c2b428fd025d9 flag-o-matic 5d5921a298e95441da2f85be419894c0 libtool f143db5a74ccd9ca28c1234deffede96 multilib b2f01ad412baf81650c23fcf0975fa33 systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 209edad4a5c4812e7b2f8021650974f0
-_md5_=0ba674ae005a39a959be72efd0dc19ac
+_md5_=2a77e50031761cd53c2c27925a9bfd49
diff --git a/sys-apps/smartmontools/Manifest b/sys-apps/smartmontools/Manifest
index ee05dce..cba1246 100644
--- a/sys-apps/smartmontools/Manifest
+++ b/sys-apps/smartmontools/Manifest
@@ -1 +1 @@
-DIST smartmontools-6.6.tar.gz 903847 SHA256 51f43d0fb064fccaf823bbe68cf0d317d0895ff895aa353b3339a3b316a53054 SHA512 64bb533dac29f62ddd662a16a12c97df1af9cbac9ac526ce7af0b3bff9da49cf265a2030d91a7160452b56a67e80d7f34c9b4e45bbb320114f55695e2cb5cfaf WHIRLPOOL 7a34444977ae069ecf52f9de67077cf67d56a5888bec159ef7e2b19977f821fed8d8b5bca872c6df17cf12a9cb21c0df37dd9bbb44f295774ef93e93f9552bb3
+DIST smartmontools-7.1.tar.gz 971468 BLAKE2B de3e1b10997903cb9bf6107f1bd1be9587b66af08a94e368dc9ed3aa6d69ba93d6b41d1ba60076275603702d9d0b47b26e376d3c9f020eb18fde5af4b686485b SHA512 440b2a957da10d240a8ef0008bd3358b83adb9eaca0f8d3e049b25d56a139c61dcd0bb4b27898faef6f189a27e159bdca3331e52e445c0eebf35e5d930f9e295
diff --git a/sys-apps/smartmontools/files/smartd.systemd b/sys-apps/smartmontools/files/smartd.systemd
deleted file mode 100644
index bdcbdbb..0000000
--- a/sys-apps/smartmontools/files/smartd.systemd
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Self Monitoring and Reporting Technology (SMART) Daemon
-Documentation=man:smartd(8) man:smartd.conf(5)
-
-[Service]
-ExecStart=/usr/sbin/smartd -n
-ExecReload=/bin/kill -HUP $MAINPID
-StandardOutput=syslog
-
-[Install]
-WantedBy=multi-user.target
diff --git a/sys-apps/smartmontools/files/smartmontools-6.6-fix-build-on-musl.patch b/sys-apps/smartmontools/files/smartmontools-6.6-fix-build-on-musl.patch
deleted file mode 100644
index 2cd36e0..0000000
--- a/sys-apps/smartmontools/files/smartmontools-6.6-fix-build-on-musl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Bug: https://bugs.gentoo.org/644586
-
-Upstream fix: https://www.smartmontools.org/changeset/4603
-
---- smartmontools-6.6/os_linux.cpp
-+++ smartmontools-6.6/os_linux.cpp
-@@ -3177,5 +3177,5 @@
- char path[128];
- snprintf(path, sizeof(path), "/sys/block/%s/device", name);
-- char * syshostpath = canonicalize_file_name(path);
-+ char * syshostpath = realpath(name, (char *)0);
- if (!syshostpath)
- return false;
diff --git a/sys-apps/smartmontools/files/smartmontools-6.6-set-broadcast-nsid.patch b/sys-apps/smartmontools/files/smartmontools-6.6-set-broadcast-nsid.patch
deleted file mode 100644
index e65504d..0000000
--- a/sys-apps/smartmontools/files/smartmontools-6.6-set-broadcast-nsid.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-fix from upstream
-
-https://www.smartmontools.org/changeset?new=4671@/&old=4670@/
-
-Index: trunk/smartmontools-6.6/ChangeLog
-===================================================================
- 2017-12-27 Douglas Gilbert <dgilbert@interlog.com>
-
-+ nvmecmds.cpp: according to NVMe 1.3a spec, the SMART/
-+ health information log page is global and should take
-+ the global nsid (all ff_s). It also says the Error
-+ info lpage is "global. Broke WD Black PCIe (NVMe)
-+ SSD but worked on Intel SSDs. Fix; could break others.
-+
-+2017-12-27 Douglas Gilbert <dgilbert@interlog.com>
-+
- os_freebsd.cpp: on error was setting set_nvme_err() to 1,
- not the actual NVMe status value; fix.
-
-Index: trunk/smartmontools-6.6/nvmecmds.cpp
-===================================================================
-diff --git smartmontools-6.6/nvmecmds.cpp smartmontools-6.6/nvmecmds.cpp
---- smartmontools-6.6/nvmecmds.cpp (revision 4670)
-+++ smartmontools-6.6/nvmecmds.cpp (revision 4671)
-@@ -196,7 +196,8 @@
- }
-
- // Read NVMe log page with identifier LID.
--bool nvme_read_log_page(nvme_device * device, unsigned char lid, void * data, unsigned size)
-+bool nvme_read_log_page(nvme_device * device, unsigned char lid, void * data,
-+ unsigned size, bool broadcast_nsid)
- {
- if (!(4 <= size && size <= 0x4000 && (size % 4) == 0))
- throw std::logic_error("nvme_read_log_page(): invalid size");
-@@ -204,7 +205,7 @@
- memset(data, 0, size);
- nvme_cmd_in in;
- in.set_data_in(nvme_admin_get_log_page, data, size);
-- in.nsid = device->get_nsid();
-+ in.nsid = broadcast_nsid ? 0xffffffff : device->get_nsid();
- in.cdw10 = lid | (((size / 4) - 1) << 16);
-
- return nvme_pass_through(device, in);
-@@ -213,7 +214,7 @@
- // Read NVMe Error Information Log.
- bool nvme_read_error_log(nvme_device * device, nvme_error_log_page * error_log, unsigned num_entries)
- {
-- if (!nvme_read_log_page(device, 0x01, error_log, num_entries * sizeof(*error_log)))
-+ if (!nvme_read_log_page(device, 0x01, error_log, num_entries * sizeof(*error_log), true))
- return false;
-
- if (isbigendian()) {
-@@ -234,7 +235,7 @@
- // Read NVMe SMART/Health Information log.
- bool nvme_read_smart_log(nvme_device * device, nvme_smart_log & smart_log)
- {
-- if (!nvme_read_log_page(device, 0x02, &smart_log, sizeof(smart_log)))
-+ if (!nvme_read_log_page(device, 0x02, &smart_log, sizeof(smart_log), true))
- return false;
-
- if (isbigendian()) {
-Index: trunk/smartmontools-6.6/nvmecmds.h
-===================================================================
-diff --git smartmontools-6.6/nvmecmds.h smartmontools-6.6/nvmecmds.h
---- smartmontools-6.6/nvmecmds.h (revision 4670)
-+++ smartmontools-6.6/nvmecmds.h (revision 4671)
-@@ -248,7 +248,8 @@
- bool nvme_read_id_ns(nvme_device * device, unsigned nsid, smartmontools::nvme_id_ns & id_ns);
-
- // Read NVMe log page with identifier LID.
--bool nvme_read_log_page(nvme_device * device, unsigned char lid, void * data, unsigned size);
-+bool nvme_read_log_page(nvme_device * device, unsigned char lid, void * data,
-+ unsigned size, bool broadcast_nsid);
-
- // Read NVMe Error Information Log.
- bool nvme_read_error_log(nvme_device * device, smartmontools::nvme_error_log_page * error_log,
-Index: trunk/smartmontools-6.6/nvmeprint.cpp
-===================================================================
-diff --git smartmontools-6.6/nvmeprint.cpp smartmontools-6.6/nvmeprint.cpp
---- smartmontools-6.6/nvmeprint.cpp (revision 4670)
-+++ smartmontools-6.6/nvmeprint.cpp (revision 4671)
-@@ -473,9 +473,21 @@
- if (options.log_page_size) {
- // Align size to dword boundary
- unsigned size = ((options.log_page_size + 4-1) / 4) * 4;
-+ bool broadcast_nsid;
- raw_buffer log_buf(size);
-
-- if (!nvme_read_log_page(device, options.log_page, log_buf.data(), size)) {
-+ switch (options.log_page) {
-+ case 1:
-+ case 2:
-+ case 3:
-+ broadcast_nsid = true;
-+ break;
-+ default:
-+ broadcast_nsid = false;
-+ break;
-+ }
-+ if (!nvme_read_log_page(device, options.log_page, log_buf.data(),
-+ size, broadcast_nsid)) {
- pout("Read NVMe Log 0x%02x failed: %s\n\n", options.log_page, device->get_errmsg());
- return retval | FAILSMART;
- }
diff --git a/sys-apps/smartmontools/metadata.xml b/sys-apps/smartmontools/metadata.xml
index 0ae4667..cb72f51 100644
--- a/sys-apps/smartmontools/metadata.xml
+++ b/sys-apps/smartmontools/metadata.xml
@@ -8,7 +8,6 @@
<use>
<flag name="caps">Build against <pkg>sys-libs/libcap-ng</pkg> to allow smartd to drop its privileges.</flag>
<flag name="daemon">Install the monitoring daemon (smartd) and associated scripts.</flag>
- <flag name="minimal">Do not install the monitoring daemon and associated scripts.</flag>
<flag name="update_drivedb">Install a script to update the drivedb file.</flag>
</use>
<upstream>
diff --git a/sys-apps/smartmontools/smartmontools-6.6-r1.ebuild b/sys-apps/smartmontools/smartmontools-7.1.ebuild
similarity index 88%
rename from sys-apps/smartmontools/smartmontools-6.6-r1.ebuild
rename to sys-apps/smartmontools/smartmontools-7.1.ebuild
index a78ae0c..16be90c 100644
--- a/sys-apps/smartmontools/smartmontools-6.6-r1.ebuild
+++ b/sys-apps/smartmontools/smartmontools-7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -18,7 +18,7 @@
LICENSE="GPL-2"
SLOT="0"
-IUSE="caps +daemon selinux static update_drivedb"
+IUSE="caps +daemon selinux static systemd update_drivedb"
DEPEND="
caps? (
@@ -34,6 +34,7 @@
RDEPEND="${DEPEND}
daemon? ( virtual/mailx )
selinux? ( sec-policy/selinux-smartmon )
+ systemd? ( sys-apps/systemd )
update_drivedb? (
app-crypt/gnupg
|| (
@@ -47,14 +48,8 @@
REQUIRED_USE="( caps? ( daemon ) )"
-PATCHES=(
- "${FILESDIR}"/${P}-fix-build-on-musl.patch
- "${FILESDIR}"/${P}-set-broadcast-nsid.patch
-)
-
src_prepare() {
default
-
eautoreconf
}
@@ -63,14 +58,15 @@
# The build installs /etc/init.d/smartd, but we clobber it
# in our src_install, so no need to manually delete it.
myeconfargs=(
- --docdir="${EPREFIX}/usr/share/doc/${PF}"
--with-drivedbdir="${EPREFIX}/var/db/${PN}" #575292
--with-initscriptdir="${EPREFIX}/etc/init.d"
+ #--with-smartdscriptdir="${EPREFIX}/usr/share/${PN}"
$(use_with caps libcap-ng)
$(use_with selinux)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ $(use_with systemd libsystemd)
$(use_with update_drivedb gnupg)
$(use_with update_drivedb update-smart-drivedb)
+ $(usex systemd "--with-systemdsystemunitdir=$(systemd_get_systemunitdir)" '')
)
econf "${myeconfargs[@]}"
}
@@ -83,7 +79,6 @@
newinitd "${FILESDIR}"/smartd-r1.rc smartd
newconfd "${FILESDIR}"/smartd.confd smartd
- systemd_newunit "${FILESDIR}"/smartd.systemd smartd.service
else
dosbin smartctl
doman smartctl.8
@@ -122,8 +117,8 @@
pkg_postinst() {
if use daemon || use update_drivedb; then
- local initial_db_file="${EPREFIX%/}/usr/share/${PN}/drivedb.h"
- local db_path="${EPREFIX%/}/var/db/${PN}"
+ local initial_db_file="${EPREFIX}/usr/share/${PN}/drivedb.h"
+ local db_path="${EPREFIX}/var/db/${PN}"
if [[ ! -f "${db_path}/drivedb.h" ]] ; then
# No initial database found