FreeBSD: sync init script with one from ports repository.
git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@3516 4ea69e1a-61f1-4043-bf83-b5c94c648137pull/1/merge
parent
ec28e9e7c4
commit
028be30f86
|
@ -41,6 +41,8 @@ Maintainers / Developers Key (alphabetic order):
|
|||
|
||||
<DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
|
||||
|
||||
[AS] FreeBSD: sync init script with one from ports repository.
|
||||
|
||||
[CF] drivedb.h updates:
|
||||
- SandForce Driven SSDs: ADATA S510
|
||||
- JMicron based SSDs: Toshiba THNSNC128GMLJ
|
||||
|
|
|
@ -1,71 +1,70 @@
|
|||
#!/bin/sh
|
||||
# $FreeBSD: ports/sysutils/smartmontools/files/smartd.in,v 1.2 2010/03/27 00:15:05 dougb Exp $
|
||||
|
||||
# $FreeBSD: ports/sysutils/smartmontools/files/smartd.in,v 1.4 2012/02/15 08:46:57 dougb Exp $
|
||||
#
|
||||
# PROVIDE: smartd
|
||||
# REQUIRE: DAEMON
|
||||
# BEFORE: LOGIN
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown nojail
|
||||
|
||||
#
|
||||
# Define these smartd_* variables in one of these files:
|
||||
# /etc/rc.conf
|
||||
# /etc/rc.conf.local
|
||||
# /etc/rc.conf.d/smartd
|
||||
# /etc/rc.conf
|
||||
# /etc/rc.conf.local
|
||||
# /etc/rc.conf.d/smartd
|
||||
#
|
||||
# DO NOT CHANGE THESE DEFAULT VALUES HERE
|
||||
#
|
||||
smartd_enable="${smartd_enable-NO}"
|
||||
smartd_pidfile="/var/run/smartd.pid"
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name="smartd"
|
||||
rcvar=`set_rcvar`
|
||||
name=smartd
|
||||
rcvar=smartd_enable
|
||||
|
||||
load_rc_config smartd
|
||||
|
||||
: ${smartd_enable:="NO"}
|
||||
|
||||
required_files=${smartd_config:="/usr/local/etc/smartd.conf"}
|
||||
pidfile=${smartd_pidfile:="/var/run/smartd.pid"}
|
||||
|
||||
command="/usr/local/sbin/smartd"
|
||||
command_args="-c ${required_files} -p ${pidfile}"
|
||||
|
||||
extra_commands="reload report"
|
||||
reload_cmd="smartd_reload"
|
||||
report_cmd="smartd_report"
|
||||
|
||||
start_precmd=smartd_prestart
|
||||
|
||||
smartd_prestart()
|
||||
{
|
||||
case "${smartd_flags}" in
|
||||
-p*|*-p*)
|
||||
err 1 'smartd_flags includes the -p option, use smartd_pidfile instead'
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
smartd_reload()
|
||||
{
|
||||
rc_pid=$(check_pidfile $pidfile $command)
|
||||
if [ -z "$rc_pid" ]; then
|
||||
[ -n "$rc_fast" ] && return 0
|
||||
_run_rc_notrunning
|
||||
return 1
|
||||
fi
|
||||
echo 'Reloading smartd.'
|
||||
kill -HUP $rc_pid
|
||||
local status
|
||||
|
||||
if ! status=`run_rc_command status 2>&1`; then
|
||||
echo $status
|
||||
return 1
|
||||
fi
|
||||
echo 'Reloading smartd.'
|
||||
kill -HUP $rc_pid
|
||||
}
|
||||
|
||||
smartd_report()
|
||||
{
|
||||
rc_pid=$(check_pidfile $pidfile $command)
|
||||
if [ -z "$rc_pid" ]; then
|
||||
[ -n "$rc_fast" ] && return 0
|
||||
_run_rc_notrunning
|
||||
return 1
|
||||
fi
|
||||
echo 'Checking SMART devices now.'
|
||||
kill -USR1 $rc_pid
|
||||
local status
|
||||
|
||||
if ! status=`run_rc_command status 2>&1`; then
|
||||
echo $status
|
||||
return 1
|
||||
fi
|
||||
echo 'Checking SMART devices now.'
|
||||
kill -USR1 $rc_pid
|
||||
}
|
||||
|
||||
load_rc_config $name
|
||||
|
||||
: ${smartd_config="/usr/local/etc/smartd.conf"}
|
||||
: ${smartd_flags="-c ${smartd_config}"}
|
||||
|
||||
pidfile="${smartd_pidfile}"
|
||||
required_files="${smartd_config}"
|
||||
|
||||
case "${smartd_flags}" in
|
||||
*-p\ *)
|
||||
echo "ERROR: \$smartd_flags includes -p option." \
|
||||
"Please use \$smartd_pidfile instead."
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
smartd_flags="-p ${pidfile} ${smartd_flags}"
|
||||
;;
|
||||
esac
|
||||
|
||||
run_rc_command "$1"
|
||||
|
|
Loading…
Reference in New Issue