1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-04 01:48:54 +00:00
freebsd-ports/www/lighttpd/files/lighttpd.in
Doug Barton 9aac569eaa Move the rc.d scripts of the form *.sh.in to *.in
Where necessary add $FreeBSD$ to the file

No PORTREVISION bump necessary because this is a no-op
2012-08-05 23:19:36 +00:00

139 lines
3.3 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: lighttpd
# REQUIRE: %%REQUIRE%%
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable lighttpd:
#
# lighttpd_enable (bool): Set it to "YES" to enable lighttpd
# Default is "NO".
# lighttpd_conf (path): Set full path to configuration file.
# Default is "%%PREFIX%%/etc/lighttpd/lighttpd.conf".
# lighttpd_pidfile (path): Set full path to pid file.
# Default is "/var/run/lighttpd.pid".
#
# Add the following lines to /etc/rc.conf for multiple instances:
# (overrides lighttpd_conf and lighttpd_pidfile from above)
#
# lighttpd_instances (string): Instances of lighttpd
# Default is "" (no instances).
# lighttpd_${i}_conf (path): Set full path to instance configuration file.
# Default is "%%PREFIX%%/etc/lighttpd/${i}.conf".
# lighttpd_${i}_pidfile (path): Set full path to instance pid file
# Default is "/var/run/lighttpd_${i}.pid".
#
. /etc/rc.subr
name="lighttpd"
rcvar=lighttpd_enable
load_rc_config $name
: ${lighttpd_enable="NO"}
: ${lighttpd_pidfile="/var/run/${name}.pid"}
# Compatibility for old configuration file location
deprecated_conf=
if [ -z "${lighttpd_conf}" ]; then
if [ -f "%%PREFIX%%/etc/lighttpd.conf" ]; then
deprecated_conf=1
lighttpd_conf="%%PREFIX%%/etc/lighttpd.conf"
else
lighttpd_conf="%%PREFIX%%/etc/lighttpd/lighttpd.conf"
fi
fi
command=%%PREFIX%%/sbin/lighttpd
stop_postcmd=stop_postcmd
restart_precmd="lighttpd_checkconfig"
graceful_precmd="lighttpd_checkconfig"
graceful_cmd="lighttpd_graceful"
gracefulstop_cmd="lighttpd_gracefulstop"
configtest_cmd="lighttpd_checkconfig"
extra_commands="reload graceful gracefulstop configtest"
command_args="-f ${lighttpd_conf}"
pidfile=${lighttpd_pidfile}
required_files=${lighttpd_conf}
lighttpd_check_deprecated()
{
if [ -n "${deprecated_conf}" ]; then
echo ""
echo "*** NOTICE: ***"
echo "The default location of %%PREFIX%%/etc/lighttpd.conf is deprecated"
echo "Please consider moving to %%PREFIX%%/etc/lighttpd/lighttpd.conf"
echo ""
fi
}
lighttpd_checkconfig()
{
echo "Performing sanity check on ${name} configuration:"
eval "${command} ${command_args} -t"
}
lighttpd_gracefulstop()
{
echo "Stopping ${name} gracefully."
sig_reload="INT"
run_rc_command reload
}
lighttpd_graceful()
{
lighttpd_gracefulstop
rm -f ${pidfile}
run_rc_command start
}
lighttpd_run_instance()
{
_i="$1"
_rcmd="$2"
name=${_orig_name}_${_i}
eval ${name}_enable=${lighttpd_enable}
eval lighttpd_conf=\"\${lighttpd_${_i}_conf:-"%%PREFIX%%/etc/lighttpd/${_i}.conf"}\"
eval lighttpd_pidfile=\"\${lighttpd_${_i}_pidfile:-"/var/run/lighttpd_${_i}.pid"}\"
command_args="-f ${lighttpd_conf}"
pidfile=${lighttpd_pidfile}
required_files=${lighttpd_conf}
run_rc_command ${_rcmd}
}
stop_postcmd()
{
rm -f ${pidfile}
}
if [ -n "${lighttpd_instances}" ]; then
_orig_name="${name}"
_run_cmd="$1"
if [ $# -gt 0 ]; then
shift
fi
if [ -n "$*" ]; then
_run_instances="$*"
fi
if [ -n "${_run_instances}" ]; then
for _a in $_run_instances; do
for _in in ${lighttpd_instances}; do
if [ "$_a" = "$_in" ]; then
_runlist="${_runlist} ${_a}"
fi
done
done
else
_runlist="${lighttpd_instances}"
fi
for _in in ${_runlist}; do
lighttpd_run_instance $_in $_run_cmd
done
else
start_precmd="lighttpd_check_deprecated"
run_rc_command "$1"
fi