diff options
Diffstat (limited to 'meta-oe/recipes-support/hddtemp/files/init')
-rw-r--r-- | meta-oe/recipes-support/hddtemp/files/init | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/hddtemp/files/init b/meta-oe/recipes-support/hddtemp/files/init new file mode 100644 index 0000000000..0df8f67f61 --- /dev/null +++ b/meta-oe/recipes-support/hddtemp/files/init @@ -0,0 +1,100 @@ +#!/bin/sh +# +# skeleton example file to build /etc/init.d/ scripts. +# This file should be used to construct scripts for /etc/init.d. +# +# Written by Miquel van Smoorenburg <miquels@cistron.nl>. +# Modified for Debian GNU/Linux +# by Ian Murdock <imurdock@gnu.ai.mit.edu>. +# +# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl +# + +### BEGIN INIT INFO +# Provides: hddtemp +# Required-Start: $remote_fs $syslog $network +# Required-Stop: $remote_fs $syslog $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: disk temperature monitoring daemon +# Description: hddtemp is a disk temperature monitoring daemon +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +NAME=hddtemp +DAEMON=/usr/sbin/$NAME +DESC="disk temperature monitoring daemon" + +DISKS="/dev/hd[a-z] /dev/hd[a-z][a-z]" +DISKS="$DISKS /dev/sd[a-z] /dev/sd[a-z][a-z]" +DISKS="$DISKS /dev/sr[a-z] /dev/sr[a-z][a-z]" +INTERFACE="0.0.0.0" +PORT="7634" +SEPARATOR="|" +RUN_SYSLOG="0" + +# Reads config file (will override defaults above) +[ -r /etc/default/hddtemp ] && . /etc/default/hddtemp + +if [ -n "$RUN_SYSLOG" ] && [ "$RUN_SYSLOG" != "0" ] ; then + SYSLOG_ARG="-S $RUN_SYSLOG" +fi + +if [ "$RUN_DAEMON" = "true" ] || [ "$RUN_DAEMON" = "yes" ] ; then + DAEMON_ARG="-d -l $INTERFACE -p $PORT -s $SEPARATOR" +fi + +[ -x "$DAEMON" ] || exit 0 + +. /lib/lsb/init-functions + +case "$1" in + start) + # master switch + if [ -n "$DAEMON_ARG" ] || [ -n "$SYSLOG_ARG" ] ; then + log_daemon_msg "Starting $DESC" "$NAME:" + CDROMS_LIST=$(sed -ne 's/^drive name:\t\+\(.*\)$/ \/dev\/\1/p' /proc/sys/dev/cdrom/info 2>/dev/null) || : + CDROMS_LIST="$CDROMS_LIST $(grep -sl '^ide-scsi ' /proc/ide/hd*/driver | awk -F / '{ print "/dev/"$4 }')" + for disk in $DISKS ; do + echo $CDROMS_LIST | grep -wq $disk && continue + echo $DISKS_NOPROBE | grep -wq $disk && continue + if $DAEMON -wn $OPTIONS $disk 2>/dev/null | grep -q '^[0-9]\+$' ; then + DISKS_LIST="$DISKS_LIST $disk"; + fi + done + if [ -n "$DISKS_LIST" ] || [ -n "$DISKS_NOPROBE" ] ; then + start-stop-daemon --start --quiet --exec $DAEMON -- $DAEMON_ARG $SYSLOG_ARG $OPTIONS $DISKS_NOPROBE $DISKS_LIST + ret=$? + log_progress_msg "$DISKS_NOPROBE$DISKS_LIST" + log_end_msg $ret + else + log_progress_msg "no disks with monitoring capability were found." + log_end_msg 0 + fi + fi + ;; + stop) + # master switch + if [ "$RUN_DAEMON" = "true" ] || [ "$RUN_DAEMON" = "yes" ] || [ "$RUN_SYSLOG" != "0" ] ; then + log_daemon_msg "Stopping $DESC" "$NAME" + start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30 + log_end_msg $? + fi + ;; + force-reload|reload) + exit 3 + ;; + restart) + $0 stop && $0 start + ;; + status) + status_of_proc $DAEMON $NAME + exit $? + ;; + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|status}" >&2 + exit 1 + ;; +esac + +exit 0 |