1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-26 00:55:14 +00:00
freebsd-ports/net-im/openfire/files/openfire.in

103 lines
2.7 KiB
Bash

#!/bin/sh
# PROVIDE: openfire
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# openfire_enable (bool): Set to NO by default.
# Set it to YES to enable openfire.
# openfire_user (username): Set to openfire by default.
# Set it to required username.
# openfire_group (group): Set to openfire by default.
# Set it to required group.
# openfire_libdir (path): Set to %%DATADIR%%/lib by default.
# Set it to java classes directory.
# openfire_home (path): Set to %%DATADIR%% by default.
# Set it to java home directory.
# openfire_javargs (args): Set to -Xmx256M by default.
# See java -h for available arguments.
. /etc/rc.subr
name="openfire"
rcvar=openfire_enable
load_rc_config $name
# Set defaults
: ${openfire_enable:=NO}
: ${openfire_user:=${name}}
: ${openfire_group:=${name}}
: ${openfire_libdir:=%%DATADIR%%/lib}
: ${openfire_home:=%%DATADIR%%}
: ${openfire_javargs:='-Xmx256M'}
pidfile=/var/run/${name}.pid
required_files="%%ETCDIR%%/openfire.xml"
java_options=" -server -jar ${openfire_javargs} \
-Dopenfire.lib.dir=${openfire_libdir} \
-DopenfireHome=${openfire_home}"
java_command=" %%LOCALBASE%%/bin/java ${java_options} \
%%DATADIR%%/lib/startup.jar"
# Subvert the check_pid_file procname check.
if [ -f $pidfile ]; then
read rc_pid junk < $pidfile
if [ ! -z "$rc_pid" ]; then
procname=`ps -o command= $rc_pid | awk '{print $1 }'`
fi
fi
command="/usr/sbin/daemon"
command_args="-f -p ${pidfile} ${java_command}"
start_precmd="openfire_precmd"
status_cmd="openfire_status"
stop_cmd="openfire_stop"
openfire_precmd() {
touch ${pidfile}
chown ${openfire_user}:${openfire_group} ${pidfile}
}
openfire_status() {
rc_pid=$(check_pidfile $pidfile *$procname*)
if [ -z "$rc_pid" ]; then
[ -n "$rc_fast" ] && return 0
if [ -n "$pidfile" ]; then
echo "${name} not running? (check $pidfile)."
else
echo "${name} not running?"
fi
return 1
fi
echo "$name is running as pid ${rc_pid}"
}
openfire_stop() {
rc_pid=$(check_pidfile $pidfile *$procname*)
if [ -z "$rc_pid" ]; then
[ -n "$rc_fast" ] && return 0
if [ -n "$pidfile" ]; then
echo "${name} not running? (check $pidfile)."
else
echo "${name} not running?"
fi
return 1
fi
echo "Stopping ${name}."
kill ${rc_pid}
wait_for_pids ${rc_pid}
rm ${pidfile}
}
run_rc_command "$1"