#!/sbin/openrc-run
#
# OpenRC init script for Apache htcacheclean.
#

description="Cache cleaner process for Apache2 web server"

NAME="${RC_SVCNAME:-apache-htcacheclean}"
DIR_SUFFIX="${NAME##apache-htcacheclean}"
APACHE_CONFDIR="${APACHE_CONFDIR:=/etc/apache2$DIR_SUFFIX}"
RUN_USER=$(. "$APACHE_CONFDIR/envvars" > /dev/null && echo "$APACHE_RUN_USER")

HTCACHECLEAN_SIZE="${HTCACHECLEAN_SIZE:=300M}"
HTCACHECLEAN_DAEMON_INTERVAL="${HTCACHECLEAN_DAEMON_INTERVAL:=120}"
HTCACHECLEAN_PATH="${HTCACHECLEAN_PATH:=/var/cache/apache2$DIR_SUFFIX/mod_cache_disk}"
HTCACHECLEAN_OPTIONS="${HTCACHECLEAN_OPTIONS:=-n}"

if [ -f "/etc/default/apache-htcacheclean$DIR_SUFFIX" ] ; then
	. "/etc/default/apache-htcacheclean$DIR_SUFFIX"
elif [ -f /etc/default/apache-htcacheclean ] ; then
	. /etc/default/apache-htcacheclean
fi

PIDDIR="/run/apache2/$RUN_USER"
PIDFILE="$PIDDIR/$NAME.pid"

command="/usr/bin/htcacheclean"
command_args="$HTCACHECLEAN_OPTIONS -d$HTCACHECLEAN_DAEMON_INTERVAL -P$PIDFILE -i -p$HTCACHECLEAN_PATH -l$HTCACHECLEAN_SIZE"
command_user="$RUN_USER"
command_background="yes"
pidfile="$PIDFILE"

depend() {
	need localmount
	use logger
	after apache2
}

start_pre() {
	if [ ! -d "$PIDDIR" ] ; then
		checkpath -d -m 0755 -o "$RUN_USER:" "$PIDDIR"
	fi
	if [ ! -d "$HTCACHECLEAN_PATH" ] ; then
		eerror "Directory $HTCACHECLEAN_PATH does not exist!"
		return 2
	fi
}
