public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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