mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-03 01:23:49 +00:00
83eb2c3700
literal name_enable wherever possible, and ${name}_enable when it's not, to prepare for the demise of set_rcvar(). In cases where I had to hand-edit unusual instances also modify formatting slightly to be more uniform (and in some cases, correct). This includes adding some $FreeBSD$ tags, and most importantly moving rcvar= to right after name= so it's clear that one is derived from the other.
79 lines
2.4 KiB
Bash
79 lines
2.4 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Sample SEC startup script for FreeBSD (contributed by Jo Rhett)
|
|
#
|
|
# Add the following lines to /etc/rc.conf to enable sec:
|
|
# sec_enable (bool): Set to "NO" by default.
|
|
# Set it to "YES" to enable sec.
|
|
#
|
|
# These parameters control the first (or only) instance of sec
|
|
# sec_flags (str): Set to "" by default.
|
|
# sec_configfile (str): Set to "%%PREFIX%%/etc/sec.conf" by default.
|
|
#
|
|
# To handle multiple instances you can also define
|
|
# sec_instances="main auth" (list): define the instances (any string) which should be started/stopped
|
|
# sec_instance_main_flags (str): define the invocation options for the first instance
|
|
# sec_instance_main_configfile (str): define the config file for the first instance
|
|
# sec_instance_auth_flags (str): define the invocation options for the second instance
|
|
# sec_instance_auth_configfile (str): define the config file for the second instance
|
|
# ...etc
|
|
#
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="sec"
|
|
rcvar=sec_enable
|
|
|
|
command="%%PREFIX%%/bin/sec"
|
|
command_args="-detach"
|
|
command_interpreter="%%PERL%%"
|
|
extra_commands="reload"
|
|
pidfile="/var/run/sec.pid"
|
|
|
|
start_precmd="sec_checkconfig"
|
|
reload_precmd="sec_checkconfig"
|
|
restart_precmd="sec_checkconfig"
|
|
sig_reload=HUP
|
|
|
|
load_rc_config "${name}"
|
|
[ -z "${sec_enable}" ] && sec_enable="NO"
|
|
[ -z "${sec_flags}" ] && sec_flags="-log=/var/log/sec.log"
|
|
[ -z "${sec_configfile}" ] && sec_configfile="%%PREFIX%%/etc/sec.conf"
|
|
|
|
sec_checkconfig() {
|
|
if [ -z $instance ]
|
|
then
|
|
echo -n "Performing sanity check of sec configuration: "
|
|
else
|
|
echo -n "Performing sanity check of sec_${instance} configuration: "
|
|
fi
|
|
${command} -debug=1 -testonly -conf=${sec_configfile} 2>&1 >/dev/null
|
|
if [ $? != 0 ]; then
|
|
echo "FAILED"
|
|
${command} -testonly -conf=${sec_configfile}
|
|
return 1
|
|
else
|
|
echo "OK"
|
|
fi
|
|
}
|
|
|
|
required_files="${sec_configfile}"
|
|
sec_flags="-conf=${sec_configfile} -pid=${pidfile} ${sec_flags}"
|
|
|
|
run_rc_command "$1"
|
|
|
|
# Are we handling multiple instances?
|
|
if [ ! -z "${sec_instances}" ]
|
|
then
|
|
for instance in $sec_instances
|
|
do
|
|
# Iterate through all instances
|
|
name="sec_${instance}"
|
|
pidfile="/var/run/sec_${instance}.pid"
|
|
eval required_files=\$sec_${instance}_configfile
|
|
eval sec_${instance}_flags="\"-conf=\$sec_${instance}_configfile -pid=\$pidfile \$sec_${instance}_flags\""
|
|
|
|
run_rc_command "$1"
|
|
done
|
|
fi
|