* [gentoo-commits] repo/gentoo:master commit in: sys-apps/smartmontools/, sys-apps/smartmontools/files/
@ 2018-05-31 18:40 Mike Frysinger
0 siblings, 0 replies; 4+ messages in thread
From: Mike Frysinger @ 2018-05-31 18:40 UTC (permalink / raw
To: gentoo-commits
commit: 539248ba464c744f81d3c297ee20a061d31e88c1
Author: Gwendal Grignou <gwendal <AT> chromium <DOT> org>
AuthorDate: Thu May 31 18:39:17 2018 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Thu May 31 18:40:05 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=539248ba
sys-apps/smartmontools: add upstream fix for broadcast nsid on nvme devices
.../smartmontools-6.6-set-broadcast-nsid.patch | 104 ++++++++++++++
sys-apps/smartmontools/smartmontools-6.6-r1.ebuild | 155 +++++++++++++++++++++
2 files changed, 259 insertions(+)
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
new file mode 100644
index 00000000000..e65504d43c6
--- /dev/null
+++ b/sys-apps/smartmontools/files/smartmontools-6.6-set-broadcast-nsid.patch
@@ -0,0 +1,104 @@
+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/smartmontools-6.6-r1.ebuild b/sys-apps/smartmontools/smartmontools-6.6-r1.ebuild
new file mode 100644
index 00000000000..06a1bd943db
--- /dev/null
+++ b/sys-apps/smartmontools/smartmontools-6.6-r1.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit autotools flag-o-matic systemd
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools"
+ ESVN_PROJECT="smartmontools"
+ inherit subversion
+else
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation"
+HOMEPAGE="https://www.smartmontools.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="caps +daemon selinux static update_drivedb"
+
+DEPEND="
+ caps? (
+ static? ( sys-libs/libcap-ng[static-libs] )
+ !static? ( sys-libs/libcap-ng )
+ )
+ kernel_FreeBSD? (
+ sys-freebsd/freebsd-lib[usb]
+ )
+ selinux? (
+ sys-libs/libselinux
+ )"
+RDEPEND="${DEPEND}
+ 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
+ )
+ )
+"
+
+REQUIRED_USE="( caps? ( daemon ) )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-build-on-musl.patch
+ "${FILESDIR}"/${P}-set-broadcast-nsid.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ # 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"
+ $(use_with caps libcap-ng)
+ $(use_with selinux)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ $(use_with update_drivedb gnupg)
+ $(use_with update_drivedb update-smart-drivedb)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ local db_path="/var/db/${PN}"
+
+ if use daemon; then
+ default
+
+ newinitd "${FILESDIR}"/smartd-r1.rc smartd
+ newconfd "${FILESDIR}"/smartd.confd smartd
+ systemd_newunit "${FILESDIR}"/smartd.systemd smartd.service
+ else
+ dosbin smartctl
+ doman smartctl.8
+
+ local DOCS=( AUTHORS ChangeL* COPYING INSTALL NEWS README TODO )
+ einstalldocs
+ fi
+
+ if use update_drivedb ; then
+ if ! use daemon; then
+ dosbin "${S}"/update-smart-drivedb
+ fi
+
+ exeinto /etc/cron.monthly
+ doexe "${FILESDIR}/${PN}-update-drivedb"
+ fi
+
+ if use daemon || use update_drivedb; then
+ keepdir "${db_path}"
+
+ # Install a copy of the initial drivedb.h to /usr/share/${PN}
+ # so that we can access that file later in pkg_postinst
+ # even when dealing with binary packages (bug #575292)
+ insinto /usr/share/${PN}
+ doins "${S}"/drivedb.h
+ fi
+
+ # Make sure we never install drivedb.h into the db location
+ # of the acutal image so we don't record hashes because user
+ # can modify that file
+ rm -f "${ED%/}${db_path}/drivedb.h" || die
+
+ # Bug #622072
+ find "${ED%/}"/usr/share/doc -type f -exec chmod a-x '{}' \; || die
+}
+
+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}"
+
+ if [[ ! -f "${db_path}/drivedb.h" ]] ; then
+ # No initial database found
+ cp "${initial_db_file}" "${db_path}" || die
+ einfo "Default drive database which was shipped with this release of ${PN}"
+ einfo "has been installed to '${db_path}'."
+ else
+ ewarn "WARNING: There's already a drive database in '${db_path}'!"
+ ewarn "Because we cannot determine if this database is untouched"
+ ewarn "or was modified by the user you have to manually update the"
+ ewarn "drive database:"
+ ewarn ""
+ ewarn "a) Replace '${db_path}/drivedb.h' by the database shipped with this"
+ ewarn " release which can be found in '${initial_db_file}', i.e."
+ ewarn ""
+ ewarn " cp \"${initial_db_file}\" \"${db_path}\""
+ ewarn ""
+ ewarn "b) Run the following command as root:"
+ ewarn ""
+ ewarn " /usr/sbin/update-smart-drivedb"
+
+ if ! use update_drivedb ; then
+ ewarn ""
+ ewarn "However, 'update-smart-drivedb' requires that you re-emerge ${PN}"
+ ewarn "with USE='update_drivedb'."
+ fi
+ fi
+ fi
+}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-apps/smartmontools/, sys-apps/smartmontools/files/
@ 2019-05-03 16:12 Lars Wendler
0 siblings, 0 replies; 4+ messages in thread
From: Lars Wendler @ 2019-05-03 16:12 UTC (permalink / raw
To: gentoo-commits
commit: 287b41990dfc178eea5b5ba31227a08073941e9e
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri May 3 16:12:04 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri May 3 16:12:19 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=287b4199
sys-apps/smartmontools: Removed old.
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-apps/smartmontools/Manifest | 1 -
.../smartmontools-6.6-fix-build-on-musl.patch | 13 --
.../smartmontools-6.6-set-broadcast-nsid.patch | 104 --------------
sys-apps/smartmontools/smartmontools-6.6-r1.ebuild | 155 ---------------------
sys-apps/smartmontools/smartmontools-6.6.ebuild | 152 --------------------
sys-apps/smartmontools/smartmontools-7.0.ebuild | 151 --------------------
6 files changed, 576 deletions(-)
diff --git a/sys-apps/smartmontools/Manifest b/sys-apps/smartmontools/Manifest
index a076447dcc8..2d1eba91aa0 100644
--- a/sys-apps/smartmontools/Manifest
+++ b/sys-apps/smartmontools/Manifest
@@ -1,2 +1 @@
-DIST smartmontools-6.6.tar.gz 903847 BLAKE2B 6c18884cf763c146abceed47587de0e77cd434673df6a17e4527d160f06a5a8762e6ae490fc5ed13a33f819ba23c1924b49dd13620f4a51e6a40dac20a217523 SHA512 64bb533dac29f62ddd662a16a12c97df1af9cbac9ac526ce7af0b3bff9da49cf265a2030d91a7160452b56a67e80d7f34c9b4e45bbb320114f55695e2cb5cfaf
DIST smartmontools-7.0.tar.gz 944925 BLAKE2B 41b3894efa05471bf358fca4ba87a765e3a54df68c9a617804a9e0853752c57b68fdbaa9d55fa1462a8fa7de1d6cb5630c66929dfe521be38b180944cb80acc9 SHA512 96e18a201182579f699d541539ce393e7bc2191e027cfdf7f87455a63da3a14451574f8fe391232047ac941ace453a017193d0a4987a4edb8f7ed9d5007f0512
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 2cd36e0dce5..00000000000
--- 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 e65504d43c6..00000000000
--- 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/smartmontools-6.6-r1.ebuild b/sys-apps/smartmontools/smartmontools-6.6-r1.ebuild
deleted file mode 100644
index f0c381ba6cb..00000000000
--- a/sys-apps/smartmontools/smartmontools-6.6-r1.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools flag-o-matic systemd
-if [[ ${PV} == "9999" ]] ; then
- ESVN_REPO_URI="https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools"
- ESVN_PROJECT="smartmontools"
- inherit subversion
-else
- SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation"
-HOMEPAGE="https://www.smartmontools.org"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="caps +daemon selinux static update_drivedb"
-
-DEPEND="
- caps? (
- static? ( sys-libs/libcap-ng[static-libs] )
- !static? ( sys-libs/libcap-ng )
- )
- kernel_FreeBSD? (
- sys-freebsd/freebsd-lib[usb]
- )
- selinux? (
- sys-libs/libselinux
- )"
-RDEPEND="${DEPEND}
- 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
- )
- )
-"
-
-REQUIRED_USE="( caps? ( daemon ) )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-build-on-musl.patch
- "${FILESDIR}"/${P}-set-broadcast-nsid.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- # 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"
- $(use_with caps libcap-ng)
- $(use_with selinux)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- $(use_with update_drivedb gnupg)
- $(use_with update_drivedb update-smart-drivedb)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- local db_path="/var/db/${PN}"
-
- if use daemon; then
- default
-
- newinitd "${FILESDIR}"/smartd-r1.rc smartd
- newconfd "${FILESDIR}"/smartd.confd smartd
- systemd_newunit "${FILESDIR}"/smartd.systemd smartd.service
- else
- dosbin smartctl
- doman smartctl.8
-
- local DOCS=( AUTHORS ChangeL* COPYING INSTALL NEWS README TODO )
- einstalldocs
- fi
-
- if use update_drivedb ; then
- if ! use daemon; then
- dosbin "${S}"/update-smart-drivedb
- fi
-
- exeinto /etc/cron.monthly
- doexe "${FILESDIR}/${PN}-update-drivedb"
- fi
-
- if use daemon || use update_drivedb; then
- keepdir "${db_path}"
-
- # Install a copy of the initial drivedb.h to /usr/share/${PN}
- # so that we can access that file later in pkg_postinst
- # even when dealing with binary packages (bug #575292)
- insinto /usr/share/${PN}
- doins "${S}"/drivedb.h
- fi
-
- # Make sure we never install drivedb.h into the db location
- # of the acutal image so we don't record hashes because user
- # can modify that file
- rm -f "${ED%/}${db_path}/drivedb.h" || die
-
- # Bug #622072
- find "${ED%/}"/usr/share/doc -type f -exec chmod a-x '{}' \; || die
-}
-
-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}"
-
- if [[ ! -f "${db_path}/drivedb.h" ]] ; then
- # No initial database found
- cp "${initial_db_file}" "${db_path}" || die
- einfo "Default drive database which was shipped with this release of ${PN}"
- einfo "has been installed to '${db_path}'."
- else
- ewarn "WARNING: There's already a drive database in '${db_path}'!"
- ewarn "Because we cannot determine if this database is untouched"
- ewarn "or was modified by the user you have to manually update the"
- ewarn "drive database:"
- ewarn ""
- ewarn "a) Replace '${db_path}/drivedb.h' by the database shipped with this"
- ewarn " release which can be found in '${initial_db_file}', i.e."
- ewarn ""
- ewarn " cp \"${initial_db_file}\" \"${db_path}\""
- ewarn ""
- ewarn "b) Run the following command as root:"
- ewarn ""
- ewarn " /usr/sbin/update-smart-drivedb"
-
- if ! use update_drivedb ; then
- ewarn ""
- ewarn "However, 'update-smart-drivedb' requires that you re-emerge ${PN}"
- ewarn "with USE='update_drivedb'."
- fi
- fi
- fi
-}
diff --git a/sys-apps/smartmontools/smartmontools-6.6.ebuild b/sys-apps/smartmontools/smartmontools-6.6.ebuild
deleted file mode 100644
index 1661efefba1..00000000000
--- a/sys-apps/smartmontools/smartmontools-6.6.ebuild
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic systemd
-if [[ ${PV} == "9999" ]] ; then
- ESVN_REPO_URI="https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools"
- ESVN_PROJECT="smartmontools"
- inherit subversion
-else
- SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
- KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation"
-HOMEPAGE="https://www.smartmontools.org"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="caps +daemon selinux static update_drivedb"
-
-DEPEND="
- caps? (
- static? ( sys-libs/libcap-ng[static-libs] )
- !static? ( sys-libs/libcap-ng )
- )
- kernel_FreeBSD? (
- sys-freebsd/freebsd-lib[usb]
- )
- selinux? (
- sys-libs/libselinux
- )"
-RDEPEND="${DEPEND}
- 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
- )
- )
-"
-
-REQUIRED_USE="( caps? ( daemon ) )"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-build-on-musl.patch )
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- # 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"
- $(use_with caps libcap-ng)
- $(use_with selinux)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- $(use_with update_drivedb gnupg)
- $(use_with update_drivedb update-smart-drivedb)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- local db_path="/var/db/${PN}"
-
- if use daemon; then
- default
-
- newinitd "${FILESDIR}"/smartd-r1.rc smartd
- newconfd "${FILESDIR}"/smartd.confd smartd
- systemd_newunit "${FILESDIR}"/smartd.systemd smartd.service
- else
- dosbin smartctl
- doman smartctl.8
-
- local DOCS=( AUTHORS ChangeL* COPYING INSTALL NEWS README TODO )
- einstalldocs
- fi
-
- if use update_drivedb ; then
- if ! use daemon; then
- dosbin "${S}"/update-smart-drivedb
- fi
-
- exeinto /etc/cron.monthly
- doexe "${FILESDIR}/${PN}-update-drivedb"
- fi
-
- if use daemon || use update_drivedb; then
- keepdir "${db_path}"
-
- # Install a copy of the initial drivedb.h to /usr/share/${PN}
- # so that we can access that file later in pkg_postinst
- # even when dealing with binary packages (bug #575292)
- insinto /usr/share/${PN}
- doins "${S}"/drivedb.h
- fi
-
- # Make sure we never install drivedb.h into the db location
- # of the acutal image so we don't record hashes because user
- # can modify that file
- rm -f "${ED%/}${db_path}/drivedb.h" || die
-
- # Bug #622072
- find "${ED%/}"/usr/share/doc -type f -exec chmod a-x '{}' \; || die
-}
-
-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}"
-
- if [[ ! -f "${db_path}/drivedb.h" ]] ; then
- # No initial database found
- cp "${initial_db_file}" "${db_path}" || die
- einfo "Default drive database which was shipped with this release of ${PN}"
- einfo "has been installed to '${db_path}'."
- else
- ewarn "WARNING: There's already a drive database in '${db_path}'!"
- ewarn "Because we cannot determine if this database is untouched"
- ewarn "or was modified by the user you have to manually update the"
- ewarn "drive database:"
- ewarn ""
- ewarn "a) Replace '${db_path}/drivedb.h' by the database shipped with this"
- ewarn " release which can be found in '${initial_db_file}', i.e."
- ewarn ""
- ewarn " cp \"${initial_db_file}\" \"${db_path}\""
- ewarn ""
- ewarn "b) Run the following command as root:"
- ewarn ""
- ewarn " /usr/sbin/update-smart-drivedb"
-
- if ! use update_drivedb ; then
- ewarn ""
- ewarn "However, 'update-smart-drivedb' requires that you re-emerge ${PN}"
- ewarn "with USE='update_drivedb'."
- fi
- fi
- fi
-}
diff --git a/sys-apps/smartmontools/smartmontools-7.0.ebuild b/sys-apps/smartmontools/smartmontools-7.0.ebuild
deleted file mode 100644
index 46b1cf2cff3..00000000000
--- a/sys-apps/smartmontools/smartmontools-7.0.ebuild
+++ /dev/null
@@ -1,151 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools flag-o-matic systemd
-if [[ ${PV} == "9999" ]] ; then
- ESVN_REPO_URI="https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools"
- ESVN_PROJECT="smartmontools"
- inherit subversion
-else
- SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation"
-HOMEPAGE="https://www.smartmontools.org"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="caps +daemon selinux static systemd update_drivedb"
-
-DEPEND="
- caps? (
- static? ( sys-libs/libcap-ng[static-libs] )
- !static? ( sys-libs/libcap-ng )
- )
- kernel_FreeBSD? (
- sys-freebsd/freebsd-lib[usb]
- )
- selinux? (
- sys-libs/libselinux
- )"
-RDEPEND="${DEPEND}
- 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 ) )"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- # The build installs /etc/init.d/smartd, but we clobber it
- # in our src_install, so no need to manually delete it.
- myeconfargs=(
- --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)
- $(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[@]}"
-}
-
-src_install() {
- local db_path="/var/db/${PN}"
-
- if use daemon; then
- default
-
- newinitd "${FILESDIR}"/smartd-r1.rc smartd
- newconfd "${FILESDIR}"/smartd.confd smartd
- systemd_newunit "${FILESDIR}"/smartd.systemd smartd.service
- else
- dosbin smartctl
- doman smartctl.8
-
- local DOCS=( AUTHORS ChangeL* COPYING INSTALL NEWS README TODO )
- einstalldocs
- fi
-
- if use update_drivedb ; then
- if ! use daemon; then
- dosbin "${S}"/update-smart-drivedb
- fi
-
- exeinto /etc/cron.monthly
- doexe "${FILESDIR}/${PN}-update-drivedb"
- fi
-
- if use daemon || use update_drivedb; then
- keepdir "${db_path}"
-
- # Install a copy of the initial drivedb.h to /usr/share/${PN}
- # so that we can access that file later in pkg_postinst
- # even when dealing with binary packages (bug #575292)
- insinto /usr/share/${PN}
- doins "${S}"/drivedb.h
- fi
-
- # Make sure we never install drivedb.h into the db location
- # of the acutal image so we don't record hashes because user
- # can modify that file
- rm -f "${ED%/}${db_path}/drivedb.h" || die
-
- # Bug #622072
- find "${ED%/}"/usr/share/doc -type f -exec chmod a-x '{}' \; || die
-}
-
-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}"
-
- if [[ ! -f "${db_path}/drivedb.h" ]] ; then
- # No initial database found
- cp "${initial_db_file}" "${db_path}" || die
- einfo "Default drive database which was shipped with this release of ${PN}"
- einfo "has been installed to '${db_path}'."
- else
- ewarn "WARNING: There's already a drive database in '${db_path}'!"
- ewarn "Because we cannot determine if this database is untouched"
- ewarn "or was modified by the user you have to manually update the"
- ewarn "drive database:"
- ewarn ""
- ewarn "a) Replace '${db_path}/drivedb.h' by the database shipped with this"
- ewarn " release which can be found in '${initial_db_file}', i.e."
- ewarn ""
- ewarn " cp \"${initial_db_file}\" \"${db_path}\""
- ewarn ""
- ewarn "b) Run the following command as root:"
- ewarn ""
- ewarn " /usr/sbin/update-smart-drivedb"
-
- if ! use update_drivedb ; then
- ewarn ""
- ewarn "However, 'update-smart-drivedb' requires that you re-emerge ${PN}"
- ewarn "with USE='update_drivedb'."
- fi
- fi
- fi
-}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-apps/smartmontools/, sys-apps/smartmontools/files/
@ 2021-09-28 23:21 Louis Sautier
0 siblings, 0 replies; 4+ messages in thread
From: Louis Sautier @ 2021-09-28 23:21 UTC (permalink / raw
To: gentoo-commits
commit: 245ca244680a330525caa4cb0028f875a425e706
Author: Louis Sautier <sbraz <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 28 23:09:45 2021 +0000
Commit: Louis Sautier <sbraz <AT> gentoo <DOT> org>
CommitDate: Tue Sep 28 23:16:54 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=245ca244
sys-apps/smartmontools: hide stdout from drivedb update cron task
Signed-off-by: Louis Sautier <sbraz <AT> gentoo.org>
sys-apps/smartmontools/files/smartmontools-update-drivedb | 4 +++-
.../{smartmontools-7.2.ebuild => smartmontools-7.2-r1.ebuild} | 0
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/sys-apps/smartmontools/files/smartmontools-update-drivedb b/sys-apps/smartmontools/files/smartmontools-update-drivedb
index 831f1e6541b..b7d1bb95243 100644
--- a/sys-apps/smartmontools/files/smartmontools-update-drivedb
+++ b/sys-apps/smartmontools/files/smartmontools-update-drivedb
@@ -1,3 +1,5 @@
#!/bin/sh
-/usr/sbin/update-smart-drivedb
+# Hide stdout until a --quiet switch is added:
+# https://github.com/smartmontools/smartmontools/issues/110
+/usr/sbin/update-smart-drivedb > /dev/null
diff --git a/sys-apps/smartmontools/smartmontools-7.2.ebuild b/sys-apps/smartmontools/smartmontools-7.2-r1.ebuild
similarity index 100%
rename from sys-apps/smartmontools/smartmontools-7.2.ebuild
rename to sys-apps/smartmontools/smartmontools-7.2-r1.ebuild
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-apps/smartmontools/, sys-apps/smartmontools/files/
@ 2022-06-21 9:41 David Seifert
0 siblings, 0 replies; 4+ messages in thread
From: David Seifert @ 2022-06-21 9:41 UTC (permalink / raw
To: gentoo-commits
commit: 6b5e8085a524f484a1262b2d4181656a56f40f7d
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 21 09:40:45 2022 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Jun 21 09:40:45 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b5e8085
sys-apps/smartmontools: drop 7.2-r2
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-apps/smartmontools/Manifest | 1 -
...rtmontools-7.2-update-smart-drivedb-quiet.patch | 86 ------------
sys-apps/smartmontools/smartmontools-7.2-r2.ebuild | 156 ---------------------
3 files changed, 243 deletions(-)
diff --git a/sys-apps/smartmontools/Manifest b/sys-apps/smartmontools/Manifest
index 90efc5ddec43..c8bdef502e27 100644
--- a/sys-apps/smartmontools/Manifest
+++ b/sys-apps/smartmontools/Manifest
@@ -1,2 +1 @@
-DIST smartmontools-7.2.tar.gz 992256 BLAKE2B 9f671656e610404b0ab8b6ec51421b4046c64d16331cff821a8d9dbf34dd6c4be4fa63d3a2eaffe2aa869b09acf5f18b9c9750f76e33423710ef9166212e3a92 SHA512 d7e724295b5d53797b5e4136eea5f5cc278db81e4016ba65142438b8c68c54f85a32c582c147a1590b9bc8f74a58952bcb57b9923dd69d34582530a0985799ea
DIST smartmontools-7.3.tar.gz 1043932 BLAKE2B 119fd4aded487796ffd38050ddf8c7dd69cc6f3950650cb0315846292fd4a6594d949d87c51ed46717d6aaadb332c68f655514d1fde89600d51f3fe36f8df1ca SHA512 08afe8b0a6a39e742160cd4e4c03fc7aff7b1ae8681b906360f0932277dc99e361b7606b2373bdf42425cf9453480a5f4344bc040ebc2fa26a03bd52f02a6ac0
diff --git a/sys-apps/smartmontools/files/smartmontools-7.2-update-smart-drivedb-quiet.patch b/sys-apps/smartmontools/files/smartmontools-7.2-update-smart-drivedb-quiet.patch
deleted file mode 100644
index 773375508222..000000000000
--- a/sys-apps/smartmontools/files/smartmontools-7.2-update-smart-drivedb-quiet.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-commit 56363dff436c12eaa296bbba39dfd65ec3f1f1f2
-Author: chrfranke <authors@smartmontools.org>
-Date: Sat Nov 6 15:07:18 2021 +0000
-
- update-smart-drivedb.in: Add '-q' option to suppress info messages.
- (GH issues/110).
- update-smart-drivedb.8.in: Document new option.
-
- git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@5242 4ea69e1a-61f1-4043-bf83-b5c94c648137
-
---- a/update-smart-drivedb.8.in
-+++ b/update-smart-drivedb.8.in
-@@ -1,6 +1,6 @@
- .ig
- Copyright (C) 2013 Hannes von Haugwitz <hannes@vonhaugwitz.com>
--Copyright (C) 2014-20 Christian Franke
-+Copyright (C) 2014-21 Christian Franke
-
- SPDX-License-Identifier: GPL-2.0-or-later
-
-@@ -144,6 +144,10 @@ Print the OpenPGP/GPG public key block.
- .B \-\-dryrun
- Print download commands only.
- .TP
-+.B \-q
-+[NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB FEATURE]
-+Suppress info messages.
-+.TP
- .B \-v
- Verbose output.
- .Sp
---- a/update-smart-drivedb.in
-+++ b/update-smart-drivedb.in
-@@ -72,6 +72,7 @@ Usage: $myname [OPTIONS] [DESTFILE]
- --no-verify Don't verify signature
- --export-key Print the OpenPGP/GPG public key block
- --dryrun Print download commands only
-+ -q Suppress info messages
- -v Verbose output
-
- Updates $DRIVEDB
-@@ -131,6 +132,11 @@ inpath()
- return $rc
- }
-
-+iecho()
-+{
-+ test -n "$quiet" || echo "$*"
-+}
-+
- vecho()
- {
- test -n "$q" || echo "$*"
-@@ -522,6 +528,7 @@ mv_all()
- smtctl=$SMARTCTL
- tool=
- urlid="svn"
-+quiet=
- q="-q"
- dryrun=
- trunk=
-@@ -547,6 +554,9 @@ while true; do case $1 in
- shift; test -n "$1" || usage
- urlid=$1 ;;
-
-+ -q)
-+ quiet=t ;;
-+
- -v)
- q= ;;
-
-@@ -727,7 +737,7 @@ if [ -f "$DEST" ]; then
- then
- rm -f "$DEST.new" "$DEST.new.raw" "$DEST.new.raw.asc"
- touch "$DEST.lastcheck"
-- echo "$DEST is already up to date"
-+ iecho "$DEST is already up to date"
- exit 0
- fi
- mv_all "$DEST" "" ".old"
-@@ -738,4 +748,4 @@ fi
-
- mv_all "$DEST" ".new" ""
-
--echo "$DEST updated from ${trunk:-branches/$brnch}${no_verify:+ (NOT VERIFIED)}"
-+iecho "$DEST updated from ${trunk:-branches/$brnch}${no_verify:+ (NOT VERIFIED)}"
diff --git a/sys-apps/smartmontools/smartmontools-7.2-r2.ebuild b/sys-apps/smartmontools/smartmontools-7.2-r2.ebuild
deleted file mode 100644
index 3059ff0feb50..000000000000
--- a/sys-apps/smartmontools/smartmontools-7.2-r2.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools flag-o-matic systemd
-if [[ ${PV} == "9999" ]] ; then
- ESVN_REPO_URI="https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools"
- ESVN_PROJECT="smartmontools"
- inherit subversion
-else
- SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation"
-HOMEPAGE="https://www.smartmontools.org"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="caps +daemon selinux static systemd +update-drivedb"
-
-DEPEND="
- caps? (
- static? ( sys-libs/libcap-ng[static-libs] )
- !static? ( sys-libs/libcap-ng )
- )
- selinux? (
- sys-libs/libselinux
- )"
-RDEPEND="${DEPEND}
- 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 )
- static? ( !systemd )
-)"
-
-PATCHES=(
- # Backport from commit 56363dff436c12eaa296bbba39dfd65ec3f1f1f2
- "${FILESDIR}/${P}-update-smart-drivedb-quiet.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- # The build installs /etc/init.d/smartd, but we clobber it
- # in our src_install, so no need to manually delete it.
- myeconfargs=(
- --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)
- $(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[@]}"
-}
-
-src_install() {
- local db_path="/var/db/${PN}"
- insopts -m0644 -p # preserve timestamps
-
- if use daemon; then
- default
-
- newinitd "${FILESDIR}"/smartd-r1.rc smartd
- newconfd "${FILESDIR}"/smartd.confd smartd
- else
- dosbin smartctl
- doman smartctl.8
-
- local DOCS=( AUTHORS ChangeL* COPYING INSTALL NEWS README TODO )
- einstalldocs
- fi
-
- if use update-drivedb ; then
- if ! use daemon; then
- dosbin "${S}"/update-smart-drivedb
- fi
-
- exeinto /etc/cron.monthly
- doexe "${FILESDIR}/${PN}-update-drivedb"
- fi
-
- if use daemon || use update-drivedb; then
- keepdir "${db_path}"
-
- # Install a copy of the initial drivedb.h to /usr/share/${PN}
- # so that we can access that file later in pkg_postinst
- # even when dealing with binary packages (bug #575292)
- insinto /usr/share/${PN}
- doins "${S}"/drivedb.h
- fi
-
- # Make sure we never install drivedb.h into the db location
- # of the acutal image so we don't record hashes because user
- # can modify that file
- rm -f "${ED%/}${db_path}/drivedb.h" || die
-
- # Bug #622072
- find "${ED%/}"/usr/share/doc -type f -exec chmod a-x '{}' \; || die
-}
-
-pkg_postinst() {
- if use daemon || use update-drivedb; then
- local initial_db_file="${EROOT}usr/share/${PN}/drivedb.h"
- local db_path="${EROOT}var/db/${PN}"
-
- if [[ ! -f "${db_path}/drivedb.h" ]] ; then
- # No initial database found
- cp "${initial_db_file}" "${db_path}" || die
- einfo "Default drive database which was shipped with this release of ${PN}"
- einfo "has been installed to '${db_path}'."
- else
- ewarn "WARNING: There's already a drive database in '${db_path}'!"
- ewarn "Because we cannot determine if this database is untouched"
- ewarn "or was modified by the user you have to manually update the"
- ewarn "drive database:"
- ewarn ""
- ewarn "a) Replace '${db_path}/drivedb.h' by the database shipped with this"
- ewarn " release which can be found in '${initial_db_file}', i.e."
- ewarn ""
- ewarn " cp \"${initial_db_file}\" \"${db_path}\""
- ewarn ""
- ewarn "b) Run the following command as root:"
- ewarn ""
- ewarn " /usr/sbin/update-smart-drivedb"
-
- if ! use update-drivedb ; then
- ewarn ""
- ewarn "However, 'update-smart-drivedb' requires that you re-emerge ${PN}"
- ewarn "with USE='update-drivedb'."
- fi
- fi
- fi
-}
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-06-21 9:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-03 16:12 [gentoo-commits] repo/gentoo:master commit in: sys-apps/smartmontools/, sys-apps/smartmontools/files/ Lars Wendler
-- strict thread matches above, loose matches on Subject: below --
2022-06-21 9:41 David Seifert
2021-09-28 23:21 Louis Sautier
2018-05-31 18:40 Mike Frysinger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox