albatross/packaging/rc.d/albatross_daemon

75 lines
1.9 KiB
Plaintext
Raw Normal View History

2018-10-05 22:46:53 +00:00
#!/bin/sh
# $FreeBSD$
#
# PROVIDE: albatross_daemon
# REQUIRE: LOGIN albatross_console albatross_log albatross_stat
# KEYWORD: shutdown nojail
#
# Define these albatross_daemon_* variables in one of these files
# /etc/rc.conf
# /etc/rc.conf.local
# /etc/rc.conf.d/albatross_daemon
# /usr/local/etc/rc.conf.d/albatross_daemon
#
# albatross_daemon_enable: Set YES to enable the albatross daemon service
# Default: NO
# albatross_daemon_flags:
# Default: ""
#
#
. /etc/rc.subr
name=albatross_daemon
rcvar=${name}_enable
desc="Albatross service"
load_rc_config $name
start_cmd="albatross_daemon_start"
start_precmd="albatross_daemon_precmd"
: ${albatross_daemon_enable:="NO"}
: ${albatross_daemon_flags:=""}
pidfile="/var/run/albatross_daemon.pid"
procname="/usr/local/libexec/albatross/vmmd"
#
# force_depend script [rcvar]
# Force a service to start. Intended for use by services
# to resolve dependency issues.
# $1 - filename of script, in /usr/local/etc/rc.d, to run
# $2 - name of the script's rcvar (minus the _enable)
#
my_force_depend()
{
local _depend _dep_rcvar
_depend="$1"
_dep_rcvar="${2:-$1}_enable"
[ -n "$rc_fast" ] && ! checkyesno always_force_depends &&
checkyesno $_dep_rcvar && return 0
/usr/local/etc/rc.d/${_depend} forcestatus >/dev/null 2>&1 && return 0
info "${name} depends on ${_depend}, which will be forced to start."
if ! /usr/local/etc/rc.d/${_depend} forcestart; then
warn "Unable to force ${_depend}. It may already be running."
return 1
fi
}
albatross_daemon_precmd() {
my_force_depend albatross_console || err 1 "Cannot run albatross_console"
my_force_depend albatross_log || err 1 "Cannot run albatross_log"
my_force_depend albatross_stat || err 1 "Cannot run albatross_stat"
}
albatross_daemon_start () {
/usr/sbin/daemon -S -o "{albatross_daemon_output}" -p "${pidfile}" \
"${procname}" "${albatross_daemon_flags}"
}
run_rc_command "$1"