aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended/smartmontools
diff options
context:
space:
mode:
authorKang Kai <kai.kang@windriver.com>2014-04-10 10:54:34 +0800
committerMartin Jansa <Martin.Jansa@gmail.com>2014-04-20 11:10:14 +0200
commit206f81e2186779fde7e2099f54a80e094acd352f (patch)
treedee5266b4e312c9b0ba029ea6b0c3d90227e3cf7 /meta-oe/recipes-extended/smartmontools
parent314b713e7f9f73530a45467bc95dd8d6c8806097 (diff)
downloadmeta-openembedded-contrib-206f81e2186779fde7e2099f54a80e094acd352f.tar.gz
smartmontools: add init script
Add init script smartd for smartmontools. Thought smartmontools provides init script itself, but it checks distribution version that is not usable for oe. So add an init script for smartmontools which removes distribution version check. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-extended/smartmontools')
-rwxr-xr-xmeta-oe/recipes-extended/smartmontools/files/initd.smartd108
-rw-r--r--meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb14
2 files changed, 120 insertions, 2 deletions
diff --git a/meta-oe/recipes-extended/smartmontools/files/initd.smartd b/meta-oe/recipes-extended/smartmontools/files/initd.smartd
new file mode 100755
index 0000000000..29c27e4756
--- /dev/null
+++ b/meta-oe/recipes-extended/smartmontools/files/initd.smartd
@@ -0,0 +1,108 @@
+#! /bin/sh
+
+# smartmontools init file for smartd
+# Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
+# $Id: smartd.initd.in 3360 2011-06-06 19:25:36Z chrfranke $
+
+# For RedHat and cousins:
+# chkconfig: - 60 60
+# description: Self Monitoring and Reporting Technology (SMART) Daemon
+# processname: smartd
+
+# For SuSE and cousins
+### BEGIN INIT INFO
+# Provides: smartd
+# Required-Start: $syslog $remote_fs
+# Should-Start: sendmail
+# Required-Stop: $syslog $remote_fs
+# Should-Stop: sendmail
+# Default-Start:
+# Default-Stop: 0 1 2 3 4 5 6
+# Short-Description: Monitors disk and tape health via S.M.A.R.T.
+# Description: Start S.M.A.R.T. disk and tape monitor.
+### END INIT INFO
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2, or (at your option) any later
+# version.
+# You should have received a copy of the GNU General Public License (for
+# example COPYING); if not, write to the Free Software Foundation, Inc., 675
+# Mass Ave, Cambridge, MA 02139, USA.
+# This code was originally developed as a Senior Thesis by Michael Cornwell
+# at the Concurrent Systems Laboratory (now part of the Storage Systems
+# Research Center), Jack Baskin School of Engineering, University of
+# California, Santa Cruz. http://ssrc.soe.ucsc.edu/.
+
+# Uncomment the line below to pass options to smartd on startup.
+# Note that distribution specific configuration files like
+# /etc/{default,sysconfig}/smartmontools might override these
+#smartd_opts="--interval=1800"
+
+SMARTD_BIN=/usr/sbin/smartd
+SMARTDPID=/var/run/smartd.pid
+[ -x $SMARTD_BIN ] || exit 0
+RET=0
+
+# source configuration file
+[ -r /etc/default/rcS ] && . /etc/default/rcS
+[ -r /etc/default/smartmontools ] && . /etc/default/smartmontools
+
+smartd_opts="--pidfile $SMARTDPID $smartd_opts"
+
+case "$1" in
+ start)
+ echo -n "Starting S.M.A.R.T. daemon: smartd"
+ if start-stop-daemon --start --quiet --pidfile $SMARTDPID \
+ --exec $SMARTD_BIN -- $smartd_opts; then
+ echo "."
+ else
+ echo " (failed)"
+ RET=1
+ fi
+ ;;
+ stop)
+ echo -n "Stopping S.M.A.R.T. daemon: smartd"
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SMARTDPID
+ echo "."
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ force-reload)
+ $0 reload || $0 restart
+ ;;
+ reload)
+ echo -n "Reload S.M.A.R.T. daemon: smartd"
+ if start-stop-daemon --stop --quiet --signal 1 \
+ --pidfile $SMARTDPID; then
+ echo "."
+ else
+ echo " (failed)"
+ RET=1
+ fi
+ ;;
+ report)
+ echo -n "Checking SMART devices now"
+ if start-stop-daemon --stop --quiet --signal 10 \
+ --pidfile $SMARTDPID; then
+ echo "."
+ else
+ echo " (failed)"
+ RET=1
+ fi
+ ;;
+ status)
+ if pidof $SMARTD_BIN >/dev/null; then
+ echo "$SMARTD_BIN is running."
+ else
+ echo "$SMARTD_BIN is not running."
+ RET=1
+ fi
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload|reload|report|status}"
+ exit 1
+esac
+exit $RET
diff --git a/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb
index 83ff028845..66fdb4d8d8 100644
--- a/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb
+++ b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb
@@ -12,10 +12,20 @@ SECTION = "console/utils"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
+ file://initd.smartd \
+ "
SRC_URI[md5sum] = "d44f84081a12cef79cd17f78044351fc"
SRC_URI[sha256sum] = "486f660579bb0fb4f6b927ded7531cb1f99685c666397377761c5b04dd96065b"
-inherit autotools
+inherit autotools update-rc.d
+do_install_append () {
+ #install the init.d/smartd
+ install -d ${D}${sysconfdir}/init.d
+ install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd
+}
+
+INITSCRIPT_NAME = "smartd"
+INITSCRIPT_PARAMS = "start 60 . stop 60 0 1 2 3 4 5 6 ."