diff options
Diffstat (limited to 'net-mgmt/unifi5/files/unifi.in')
-rw-r--r-- | net-mgmt/unifi5/files/unifi.in | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/net-mgmt/unifi5/files/unifi.in b/net-mgmt/unifi5/files/unifi.in new file mode 100644 index 00000000000..8a479cf1f68 --- /dev/null +++ b/net-mgmt/unifi5/files/unifi.in @@ -0,0 +1,75 @@ +#!/bin/sh +# +# Created by: Mark Felder <feld@FreeBSD.org> +# $FreeBSD$ +# + +# PROVIDE: unifi +# REQUIRE: LOGIN +# KEYWORD: shutdown + +# +# Add the following line to /etc/rc.conf to enable `unifi': +# +# unifi_enable="YES" + +. /etc/rc.subr +name=unifi + +rcvar=unifi_enable +load_rc_config ${name} + +: ${unifi_enable:=NO} +: ${unifi_user:=%%USERS%%} +: ${unifi_group:=%%GROUPS%%} +: ${unifi_chdir=%%JAVASHAREDIR%%/unifi} +: ${unifi_javaflags:="-Djava.awt.headless=true -Xmx1024M"} + +command_interpreter=. +command="%%PREFIX%%/bin/java" +command_args="${unifi_javaflags} -jar lib/ace.jar" +start_cmd=start_cmd +start_precmd=start_precmd +stop_cmd=stop_cmd +status_cmd=status_cmd +pidfile="/var/run/${name}.pid" + +procname=$(JAVAVM_DRYRUN=yes ${command} | fgrep JAVAVM_COMMAND) + +start_precmd() +{ + if [ ! -e /var/run/unifi ] ; then + install -d -o %%USERS%% -g %%GROUPS%% /var/run/unifi; + fi +} + +start_cmd() +{ + check_startmsgs && echo "Starting ${name}." + cd ${unifi_chdir} + daemon -u %%USERS%% -f -p ${pidfile} ${command} ${command_args} start +} + +stop_cmd() +{ + check_startmsgs && echo "Stopping ${name}." + rc_pid=$(check_pidfile $pidfile $procname) + cd ${unifi_chdir} + ${command} ${command_args} stop + wait_for_pids $rc_pid +} + +status_cmd() +{ + if [ -e ${pidfile} ] && $(pgrep -F ${pidfile} > /dev/null) ; then + mypid=$(cat ${pidfile}) + fi + + if [ ! ${mypid} = '' ]; then + echo "${name} is running with PID ${mypid}."; + else + echo "${name} not running?"; + fi +} + +run_rc_command "$1" |