ports/devel/zookeeper/files/zookeeper.in
Steven Kreuzer cf736a72df Add ability to pass JVM options to rc script
Add LICENSE
Define config files as @sample

PR:		220815
Submitted by:	timp87@gmail.com
2017-08-31 16:06:36 +00:00

59 lines
1.5 KiB
Bash

#!/bin/sh
# $FreeBSD$
#
# PROVIDE: zookeeper
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable zookeeper:
#
# zookeeper_enable="YES"
. /etc/rc.subr
name=zookeeper
rcvar=zookeeper_enable
load_rc_config "${name}"
: ${zookeeper_enable:=NO}
: ${zookeeper_user:=%%ZOOKEEPER_USER%%}
: ${zookeeper_group:=%%ZOOKEEPER_GROUP%%}
: ${zookeeper_pidfile:=/var/run/zookeeper.pid}
: ${zookeeper_config:=%%ETCDIR%%/zoo.cfg}
: ${zookeeper_log4jpropfile:=file:%%ETCDIR%%/log4j.properties}
: ${zookeeper_rootlogger:="INFO,ROLLINGFILE"}
: ${zookeeper_logdir:=%%ZOOKEEPER_LOGDIR%%}
: ${zookeeper_jvmopts:=}
JAVA=%%JAVA%%
JAVAJARDIR=%%JAVAJARDIR%%
for i in zookeeper jline slf4j-api netty log4j
do
CLASSPATH="${JAVAJARDIR}/$i.jar:$CLASSPATH"
done
CLASSPATH=/usr/local/share/slf4j/slf4j-log4j12.jar:$CLASSPATH
zookeeper_main="-cp $CLASSPATH org.apache.zookeeper.server.quorum.QuorumPeerMain ${zookeeper_config}"
log4j_params="-Dzookeeper.log.dir=${zookeeper_logdir} \
-Dlog4j.configuration=${zookeeper_log4jpropfile} \
-Dzookeeper.root.logger=${zookeeper_rootlogger}"
pidfile=${zookeeper_pidfile}
procname=${JAVA}
required_files="${zookeeper_config}"
command="/usr/sbin/daemon"
command_args="-p ${pidfile} ${JAVA} ${zookeeper_jvmopts} ${log4j_params} ${zookeeper_main}"
start_precmd="zookeeper_init"
zookeeper_init()
{
touch ${pidfile}
chown ${zookeeper_user}:${zookeeper_group} ${pidfile}
install -d -m 755 -o ${zookeeper_user} -g ${zookeeper_group} ${zookeeper_logdir}
}
run_rc_command "$1"