mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-28 05:29:48 +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.
111 lines
3.6 KiB
Bash
111 lines
3.6 KiB
Bash
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: cego
|
|
# REQUIRE: LOGIN cleanvar
|
|
# KEYWORD: shutdown
|
|
|
|
#
|
|
# Add the following lines to /etc/rc.conf to enable cego:
|
|
# cego_enable (bool): Set to "NO" by default.
|
|
# Set it to "YES" to enable cego
|
|
# cego_profiles (str): Set to "" by default.
|
|
# Define your profiles here.
|
|
# cego_tablespc (str): Set it to the tablespace
|
|
# cego_flags (str): Set to "" by default.
|
|
# Extra flags passed to start command.
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="cego"
|
|
rcvar=cego_enable
|
|
|
|
command="%%PREFIX%%/bin/cego"
|
|
|
|
: ${cego_enable="NO"}
|
|
: ${cego_conf="%%PREFIX%%/cego"}
|
|
: ${cego_root="%%PREFIX%%/cego"}
|
|
: ${cego_user="%%USER%%"}
|
|
|
|
flags="--mode=daemon"
|
|
|
|
_pidprefix="/var/run/cego"
|
|
pidfile="${_pidprefix}.pid"
|
|
|
|
command_arg="--mode=daemon"
|
|
_pidprefix="/var/run/cego"
|
|
|
|
flags="--mode=daemon"
|
|
|
|
load_rc_config $name
|
|
|
|
if [ -n "$2" ]; then
|
|
profile="$2"
|
|
if [ "x${cego_profiles}" != "x" ]; then
|
|
pidfile="${_pidprefix}.${profile}.pid"
|
|
|
|
echo profile is $profile
|
|
|
|
eval cego_tablespc="\${cego_${profile}_tablespc:-}"
|
|
if [ "x${cego_tablespc}" = "x" ]; then
|
|
err 1 "You must define a tableset for db instance cego_${profile}_tablespc"
|
|
fi
|
|
|
|
eval cego_conf="\${cego_${profile}_conf:-${cego_conf}}"
|
|
eval cego_root="\${cego_${profile}_root:-${cego_root}}"
|
|
|
|
required_files="${cego_conf}/${profile}.xml"
|
|
eval cego_enable="\${cego_${profile}_enable:-${cego_enable}}"
|
|
command_args="--dbxml=${required_files} --tableset=${cego_tablespc} --lockfile=${cego_root}/${profile}.lck --logfile=${cego_root}/${profile}.log"
|
|
echo "Setting command_args $command_args"
|
|
else
|
|
warn "$0: extra argument ignored"
|
|
fi
|
|
else
|
|
if [ "x${cego_profiles}" != "x" -a "x$1" != "x" ]; then
|
|
for profile in ${cego_profiles}; do
|
|
eval _enable="\${cego_${profile}_enable}"
|
|
case "x${_enable:-${cego_enable}}" in
|
|
x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee])
|
|
continue
|
|
;;
|
|
x[Yy][Ee][Ss])
|
|
;;
|
|
*)
|
|
if test -z "$_enable"; then
|
|
_var=cego_enable
|
|
else
|
|
_var=cego_"${profile}"_enable
|
|
fi
|
|
warn "Bad value" \
|
|
"'${_enable:-${cego_enable}}'" \
|
|
"for ${_var}. " \
|
|
"Profile ${profile} skipped."
|
|
continue
|
|
;;
|
|
esac
|
|
echo "===> cego profile: ${profile}"
|
|
%%PREFIX%%/etc/rc.d/cego $1 ${profile}
|
|
retcode="$?"
|
|
if [ "0${retcode}" -ne 0 ]; then
|
|
failed="${profile} (${retcode}) ${failed:-}"
|
|
else
|
|
success="${profile} ${success:-}"
|
|
fi
|
|
done
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
|
|
cego_requirepidfile()
|
|
{
|
|
if [ ! "0`check_pidfile ${pidfile} ${command}`" -gt 1 ]; then
|
|
err 1 "${name} not running? (check $pidfile)."
|
|
fi
|
|
}
|
|
|
|
run_rc_command "$1"
|