# $NetBSD: silcd.generic,v 1.3 2003/10/16 12:37:44 salo Exp $ # KILL="/bin/kill" CAT="/bin/cat" RM="/bin/rm" name="silcd" confdir="@PKG_SYSCONFDIR@" required_files="$confdir/silcd.conf" required_dirs="/var/log/silcd" pidfile="/var/run/${name}.pid" command="@PREFIX@/sbin/silcd" start_precmd="silcd_precmd" silcd_precmd() { if [ ! -f $confdir/silcd.prv ]; then umask 7177 && $command -C $confdir fi } silcd_start() { if [ ! -r $required_files ]; then echo "$0: WARNING: $required_files is not readable." exit 1 fi if [ ! -d $required_dirs ]; then echo "$0: WARNING: $required_dirs is not a directory." exit 1 fi eval $start_precmd return_code=$? if [ $return_code != "0" ]; then exit 1 fi echo "Starting ${name}." eval $command return_code=$? if [ $return_code != "0" ]; then exit 1 fi } silcd_stop() { if [ -r $pidfile -a ! -z $pidfile ]; then _pid=`${CAT} ${pidfile}` else echo "${name} not running?" fi if [ ${_pid:=0} -gt 1 -a ! "X$_pid" = "X " ]; then echo "Stopping ${name}." ${KILL} ${_pid} return_code=$? if [ $return_code != "0" ]; then exit 1 fi fi ${RM} -f $pidfile } case $1 in 'start') silcd_start ;; 'stop') silcd_stop ;; 'restart') silcd_stop silcd_start ;; *) echo "Usage: $0 (start|stop|restart)" ;; esac