ports/devel/viewvc-devel/files/viewvc.in
2021-04-06 16:31:13 +02:00

68 lines
1.6 KiB
Bash

#!/bin/sh
# PROVIDE: viewvc
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following line(s) to /etc/rc.conf to enable ViewVC:
#
# viewvc_enable="YES"
# # optional
# viewvc_flags="-h localhost -p PORT"
# viewvc_user="www"
#
# To get available parameters and the default values, use the
# command %%PREFIX%%/viewvc/bin/standalone.py --help
# for more info.
#
# Note:
# If you choose a listen port less then 1024 then you have
# to use a privileged user.
# If the user www cannot access your cvs/svn repository,
# adjust the parameter viewvc_user and it should work.
#
# INFO:
# ViewVC default tcp port: 49152
# see http://viewvc.tigris.org/issues/show_bug.cgi?id=234
. /etc/rc.subr
name=viewvc
rcvar=viewvc_enable
load_rc_config $name
# Set defaults
viewvc_enable=${viewvc_enable:-"NO"}
viewvc_flags=${viewvc_flags:-"-p 49152"}
viewvc_user=${viewvc_user:-"www"}
pidfile=/var/run/viewvc.pid
command=%%PYTHON_CMD%%
standalone=%%PREFIX%%/viewvc/bin/standalone.py
start_precmd=viewvc_precmd
start_cmd=viewvc_start
stop_postcmd=viewvc_cleanup
viewvc_precmd()
{
# with param -d we get another pid so prevent this
%%ECHO%% "${viewvc_flags}" | %%EGREP%% -q "(^\-d| \-d)" 2>&1 > /dev/null
if [ $? -eq 0 ]; then
%%ECHO%% "Please remove parameter -d from viewvc_flags"
%%ECHO%%
return 1
fi
}
viewvc_start() {
echo "Starting viewvc."
%%TOUCH%% ${pidfile} && %%CHOWN%% ${viewvc_user} ${pidfile}
/usr/sbin/daemon -cf -p ${pidfile} -u ${viewvc_user} ${standalone} ${viewvc_flags}
}
viewvc_cleanup() {
[ -f ${pidfile} ] && %%RM%% ${pidfile}
}
run_rc_command "$1"