#!/usr/bin/openrc-run
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

: ${SPAMD_TIMEOUT:=15}
: ${SPAMD_NICELEVEL:=0}

supervisor=supervise-daemon
command="/usr/bin/vendor_perl/spamd"
pidfile="/run/spamd.pid"
command_args="${SPAMD_OPTS}"
supervise_daemon_args="--nicelevel ${SPAMD_NICELEVEL}"

# Retry after SPAMD_TIMEOUT seconds because spamd can take a
# while to kill off all of its children. This was bug 322025.
retry="${SPAMD_TIMEOUT}"

if ! [ "${SPAMD_RUN_AS_ROOT}" = "true" ]; then
    # Passing --username=root to spamd kills it, so if SPAMD_RUN_AS_ROOT
    # is true, then we want to pass no user/group command args at all.
    # Any value other than "true" gets the default user/group of "spamd".
    command_args="${command_args} --username=spamd --groupname=spamd"
fi

extra_started_commands="reload"

depend() {
    before mta
    use logger mysql postgresql
}

reload() {
	ebegin "Reloading configuration"
	# Warning: reload causes the PID of the spamd process to
	# change, but spamd does update its PID file afterwards.
	supervise-daemon spamassassin --signal HUP
	eend $?
}
