#!/bin/sh # # PROVIDE: cbsdd # REQUIRE: LOGIN FILESYSTEMS sshd # KEYWORD: shutdown # # cbsdd_enable="YES" # . /etc/rc.subr name=cbsdd rcvar=cbsdd_enable load_rc_config $name : ${cbsdd_enable="NO"} export workdir="${cbsd_workdir}" export NO_CBSD_HISTORY=yes globalconf=${cbsd_globalconf:-"${workdir}/cbsd.conf"} if [ ! -f ${globalconf} ]; then echo "cbsd: no such ${globalconf}"; exit 1 fi if [ ! -f ${mdtools} ]; then echo "cbsd: no such ${mdtools}"; exit 1 fi if [ ! -f ${subr} ]; then echo "cbsd: no such ${subr}"; exit 1 fi if [ ! -f ${localcbsdconf} ]; then echo "cbsd: no such ${localcbsdconf}"; exit 1 fi . ${globalconf} . ${mdtools} . ${subr} . ${localcbsdconf} start_precmd=${name}_prestart stop_precmd=${name}_prestop stop_cmd=${name}_stop status_cmd="${name}_status" reload_cmd=${name}_reload extra_commands="reload" command="${toolsdir}/cbsdd" pidfile="/var/run/$name.pid" command_args="&" cbsdd_prestart() { %%PREFIX%%/bin/cbsd task mode=flushall > /dev/null 2>&1 . ${distdir}/initenv.subr . ${inventory} %%PREFIX%%/bin/cbsd sysinv mode=update %%PREFIX%%/bin/cbsd netinv update_hwinfo update_netinfo env sqlcolnames="1" ${miscdir}/sqlcli ${dbdir}/local.sqlite "SELECT * FROM local" > ${inventory} [ -n "$nat_enable" ] && %%PREFIX%%/bin/cbsd naton /usr/sbin/daemon -f ${rcddir}/jails-astart start } cbsdd_prestop() { ${rcddir}/jails-astart stop [ -n "${nat_enable}" ] && %%PREFIX%%/bin/cbsd natoff } cbsdd_stop() { if [ -f "${pidfile}" ]; then kill -9 $( /bin/cat ${pidfile} ) /bin/rm -f ${pidfile} fi } cbsdd_reload() { if [ -f "${pidfile}" ]; then kill -9 $( /bin/cat ${pidfile} ) > /dev/null 2>&1 /bin/rm -f ${pidfile} fi run_rc_command "start" exit 0 } cbsdd_status() { if [ -f "${pidfile}" ]; then pids=$( /bin/cat ${pidfile} ) echo "${name} is running as pid ${pids}." else echo "${name} is not running." return 1 fi } run_rc_command "$1"