#!/bin/sh

# PROVIDE: varnishlog
# REQUIRE: DAEMON varnishd
# KEYWORD: shutdown

#
# Add the following line to /etc/rc.conf to enable varnishlog:
#
# varnishlog_enable="YES"
#
# Configuration variables and their default values:
#
# varnishlog_pidfile - full path to the PID file.
#	default: "/var/run/varnishlog.pid"
#
# varnishlog_file - full path to the log file.
#	default: "/var/log/varnish.log"
#
# varnishlog_flags - command line arguments.
#	default: "-t off -P ${varnishlog_pidfile} -D -a -A -w ${varnishlog_file}"
#
# Add the following line to /etc/newsyslog.conf to rotate the log file
# once a day:
#
# /var/log/varnish.log varnishlog:varnish 640 7 * @T00 JB /var/run/varnishlog.pid
#
# See varnishlog(1) for a detailed overview of command-line options.
#

. /etc/rc.subr

name=varnishlog
rcvar=varnishlog_enable

load_rc_config ${name}
: ${varnishlog_enable:=NO}
: ${varnishlog_pidfile=/var/run/${name}.pid}
: ${varnishlog_file=/var/log/varnish.log}
: ${varnishlog_flags="-t off -P ${varnishlog_pidfile} -D -a -A -w ${varnishlog_file}"}

procname="%%PREFIX%%/bin/${name}"
command="/usr/sbin/daemon"
command_args="-f -u varnishlog ${procname} ${varnishlog_flags}"
pidfile=${varnishlog_pidfile}
start_precmd=precmd

precmd()
{
        # varnishlog_flags gets applied too early if we don't do this.
        rc_flags=""

	if [ ! -e ${pidfile} ]; then
		install -o varnishlog -g varnish -m 644 /dev/null ${pidfile};
	fi

	if [ ! -e ${varnishlog_file} ]; then
		install -o varnishlog -g varnish -m 640 /dev/null ${varnishlog_file};
	fi
}

run_rc_command "$1"
