From 18ab65d12e1f62baae5e5e44da269d87f1022356 Mon Sep 17 00:00:00 2001 From: Dan Theisen Date: Fri, 6 Jul 2018 02:10:32 -0700 Subject: user/smartmontools: import, take, minor fix ups --- user/smartmontools/APKBUILD | 47 ++++++++++++++++++++++ .../musl-canonicalize_file_name.patch | 12 ++++++ user/smartmontools/smartd.confd | 4 ++ user/smartmontools/smartd.initd | 43 ++++++++++++++++++++ 4 files changed, 106 insertions(+) create mode 100644 user/smartmontools/APKBUILD create mode 100644 user/smartmontools/musl-canonicalize_file_name.patch create mode 100644 user/smartmontools/smartd.confd create mode 100644 user/smartmontools/smartd.initd diff --git a/user/smartmontools/APKBUILD b/user/smartmontools/APKBUILD new file mode 100644 index 000000000..25b6de93e --- /dev/null +++ b/user/smartmontools/APKBUILD @@ -0,0 +1,47 @@ +# Contributor: Natanael Copa +# Maintainer: Dan Theisen +pkgname=smartmontools +pkgver=6.6 +pkgrel=1 +pkgdesc="Control and monitor S.M.A.R.T. enabled hard drives" +url="https://www.smartmontools.org/" +arch="all" +license="GPL-2.0+" +makedepends="linux-headers" +subpackages="$pkgname-doc $pkgname-openrc" +source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz + smartd.initd + smartd.confd + musl-canonicalize_file_name.patch + " + +build() { + cd "$builddir" + + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc + make +} + +check() { + cd "$builddir" + + make check +} + +package() { + cd "$builddir" + + make DESTDIR="$pkgdir"/ install + + install -Dm755 "$srcdir"/smartd.initd "$pkgdir"/etc/init.d/smartd + install -Dm644 "$srcdir"/smartd.confd "$pkgdir"/etc/conf.d/smartd +} + +sha512sums="64bb533dac29f62ddd662a16a12c97df1af9cbac9ac526ce7af0b3bff9da49cf265a2030d91a7160452b56a67e80d7f34c9b4e45bbb320114f55695e2cb5cfaf smartmontools-6.6.tar.gz +61cae548fc9f3a9fbea20d684502d3816e7b0b60fcf533ae4e1ab850725c208eb6ba5012ae154a46f0b7bb7285a9e63cbdecafed8db7fd63fda0ba59081260cc smartd.initd +ff45462944f01c0e7cac99443078b253dcbaed4f99ffab85052b12361d9eec4beec81cab334fbede9148b3dd503d5205add32ef4327a788f02a8b1e37f460437 smartd.confd +eff9a1ca8e10be5b05a4be609973065d6f02f12c9d511d3a7c87fa172934d3739594f00e5a61ed2d6dc65de5fd1ff23ec049b21078d5b1620c5dbafa56d78bbe musl-canonicalize_file_name.patch" diff --git a/user/smartmontools/musl-canonicalize_file_name.patch b/user/smartmontools/musl-canonicalize_file_name.patch new file mode 100644 index 000000000..bdc7cc6f1 --- /dev/null +++ b/user/smartmontools/musl-canonicalize_file_name.patch @@ -0,0 +1,12 @@ +# Ticket: https://smartmontools.org/ticket/921#ticket +--- a/os_linux.cpp ++++ b/os_linux.cpp +@@ -3176,7 +3176,7 @@ + { + char path[128]; + snprintf(path, sizeof(path), "/sys/block/%s/device", name); +- char * syshostpath = canonicalize_file_name(path); ++ char * syshostpath = realpath(path, NULL); + if (!syshostpath) + return false; + diff --git a/user/smartmontools/smartd.confd b/user/smartmontools/smartd.confd new file mode 100644 index 000000000..4b7db4dfd --- /dev/null +++ b/user/smartmontools/smartd.confd @@ -0,0 +1,4 @@ +# /etc/conf.d/smartd: config file for /etc/init.d/smartd + +# Insert any other options needed +SMARTD_OPTS="" diff --git a/user/smartmontools/smartd.initd b/user/smartmontools/smartd.initd new file mode 100644 index 000000000..f37284320 --- /dev/null +++ b/user/smartmontools/smartd.initd @@ -0,0 +1,43 @@ +#!/sbin/openrc-run +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/smartmontools/files/smartd.rc,v 1.9 2011/09/15 07:58:50 polynomial-c Exp $ + +depend() { + need localmount + after bootmisc +} + +extra_started_commands="reload" + +checkconfig() { + if [ ! -f "/etc/smartd.conf" ] ; then + eerror "You should setup your /etc/smartd.conf file!" + eerror "See the smartd.conf(5) manpage." + return 1 + fi + return 0 +} + +start() { + checkconfig || return 1 + + ebegin "Starting S.M.A.R.T. monitoring daemon" + start-stop-daemon --start --exec /usr/sbin/smartd \ + --pidfile /var/run/smartd.pid \ + -- -p /var/run/smartd.pid ${SMARTD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping S.M.A.R.T. monitoring daemon" + start-stop-daemon --stop --exec /usr/sbin/smartd \ + --pidfile /var/run/smartd.pid + eend $? +} + +reload() { + ebegin "Reloading configuration" + start-stop-daemon --signal HUP --pidfile /var/run/smartd.pid smartd + eend $? +} -- cgit v1.2.3-60-g2f50