From 0344682f752430059bf0033d4cd7504179b942cb Mon Sep 17 00:00:00 2001 From: heinz Date: Sat, 28 Feb 2004 23:59:47 +0000 Subject: Add RCD script. --- mail/prayer/files/prayer.rc | 118 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100755 mail/prayer/files/prayer.rc (limited to 'mail/prayer') diff --git a/mail/prayer/files/prayer.rc b/mail/prayer/files/prayer.rc new file mode 100755 index 00000000000..c1f435520a5 --- /dev/null +++ b/mail/prayer/files/prayer.rc @@ -0,0 +1,118 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: prayer.rc,v 1.1 2004/02/28 23:59:47 heinz Exp $ +# +# This shell script takes care of starting and stopping prayer, +# a program providing web access to a mail server using IMAP +# + +## only for NetBSD +# PROVIDE: prayer +# REQUIRE: LOGIN +# AFTER: mail +# KEYWORD: shutdown +## + +PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/sbin +export PATH + +if [ -f /etc/rc.subr ] +then + . /etc/rc.subr +fi + +name="prayer" +rcvar=$name +command="@PREFIX@/sbin/prayer" +command_args="" +pidfile="@VAR_PREFIX@/pid/prayer" + +prayer_flags=${prayer_flags-""} +OPSYS=@OPSYS@ + +get_prayer_pid() +{ + if [ -f ${pidfile} ]; then + prayer_pid=`head -1 ${pidfile}` + if ps -p ${prayer_pid} | fgrep ${name} >/dev/null; then + : + else + prayer_pid= + fi + else + prayer_pid= + fi + +} + +prayer_start() +{ + get_prayer_pid + + if [ -n "${prayer_pid}" ]; then + echo "${command} already running as pid ${prayer_pid}." + return 1 + fi + echo "Starting ${name}" + ${command} ${prayer_flags} ${command_args} +} + +prayer_stop() +{ + get_prayer_pid + + if [ -z "${prayer_pid}" ]; then + echo "${command} not running? (check ${pidfile})." + return 1 + fi + echo "Stopping ${name}" + kill -HUP ${prayer_pid} + prayer_session_pid=`cat @VAR_PREFIX@/pid/prayer-session` + if [ -n "${prayer_session_pid}" ]; then + if ps -p ${prayer_session_pid} | fgrep ${name} >/dev/null; then + kill -HUP ${prayer_session_pid} + fi + fi + + slaves=`ps -U prayer| cut -d' ' -f1`; kill -HUP $slaves + +} +prayer_status() +{ + get_prayer_pid + + if [ -z "${prayer_pid}" ]; then + echo "${command} is not running? (check ${pidfile})." + else + echo "${command} is running as pid ${prayer_pid}." + fi +} + +if [ "${OPSYS}" = "NetBSD" ]; then + + stop_cmd=prayer_stop + + load_rc_config $name + run_rc_command "$1" + +else # not NetBSD + case ${1+"$@"} in + start) + prayer_start + ;; + stop) + prayer_stop + ;; + restart) + prayer_stop + sleep 2 + prayer_start + ;; + status) + prayer_status + ;; + *) + echo "Usage: ${0} (start|stop|restart|status)" + ;; + esac +fi -- cgit v1.2.3