diff options
Diffstat (limited to 'irc/inspircd12/files/inspircd.in')
-rw-r--r-- | irc/inspircd12/files/inspircd.in | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/irc/inspircd12/files/inspircd.in b/irc/inspircd12/files/inspircd.in new file mode 100644 index 000000000000..eb9e8366ac02 --- /dev/null +++ b/irc/inspircd12/files/inspircd.in @@ -0,0 +1,76 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: inspircd +# REQUIRE: LOGIN +# KEYWORD: shutdown + +# +# Add the following lines to /etc/rc.conf to enable inspircd: +# +# inspircd_enable="YES" +# +# Other rc.conf variables: +# inspircd_flags="<set as needed>" +# +# inspircd_config="%%ETCDIR%%/inspircd.conf" +# -- path to config file +# inspircd_pidfile="%%INSPIRCD_RUN%%/inspircd.pid" +# -- location of pidfile: must match setting +# in ${inspircd_conffile} +# inspircd_user="%%INSPIRCD_USR%%" +# -- user to run inspircd as +# inspircd_group="%%INSPIRCD_GRP%%" +# -- group to run inspircd as +# inspircd_logfile="%%INSPIRCD_LOG%%" +# -- file inspircd writes logs to +# +. /etc/rc.subr + +name=inspircd +rcvar=inspircd_enable + +load_rc_config ${name} + +: ${inspircd_enable="NO"} +: ${inspircd_config="%%ETCDIR%%/inspircd.conf"} +: ${inspircd_pidfile="%%INSPIRCD_RUN%%/inspircd.pid"} +: ${inspircd_user="%%INSPIRCD_USR%%"} +: ${inspircd_group="%%INSPIRCD_GRP%%"} +: ${inspircd_logfile="%%INSPIRCD_LOG%%"} + +command=%%PREFIX%%/bin/inspircd +pidfile=${inspircd_pidfile} +required_files=${inspircd_config} +start_precmd=inspircd_prestart + +inspircd_prestart () +{ + piddir=$(dirname ${inspircd_pidfile}) + if [ ! -d ${piddir} ]; then + mkdir -m 755 -p ${piddir} + chown -R ${inspircd_user}:${inspircd_group} ${piddir} + fi + logdir=$(dirname ${inspircd_logfile}) + if [ ! -d ${logdir} ]; then + mkdir -m 755 -p ${logdir} + chown -R ${inspircd_user}:${inspircd_group} ${logdir} + fi +} + +case "${inspircd_flags}" in + *--config\ *) + echo "Warning \$inspircd_flags includes --config option." \ + "Please use \$inspircd_config instead." + ;; + *--logfile\ *) + echo "Warning \$inspircd_flags includes --logfile option." \ + "Please use \$inspircd_logfile instead." + ;; + *) + inspircd_flags="${inspircd_flags} --logfile ${inspircd_logfile} --config ${inspircd_config}" + ;; +esac + +run_rc_command "$1" |