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-b5c94c648137
pull/1/merge
samm-git 2012-03-06 13:16:45 +00:00
parent ec28e9e7c4
commit 028be30f86
2 changed files with 48 additions and 47 deletions

View File

@ -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

View File

@ -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"