You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-mail/dovecot/files/dovecot.init-r6

63 lines
1.5 KiB

#!/sbin/openrc-run
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 or later
extra_commands="checkconfig"
extra_started_commands="reload"
depend() {
need localmount
before postfix
after bootmisc ldap mysql ntp-client ntpd postgresql saslauthd slapd
use logger net
}
checkconfig() {
DOVECOT_INSTANCE=${SVCNAME##*.}
if [ -n "${DOVECOT_INSTANCE}" -a "${SVCNAME}" != "dovecot" ]; then
DOVECOT_CONF=/etc/dovecot/dovecot.${DOVECOT_INSTANCE}.conf
else
DOVECOT_CONF=/etc/dovecot/dovecot.conf
fi
if [ ! -e ${DOVECOT_CONF} ]; then
eerror "You will need an ${DOVECOT_CONF} first"
return 1
fi
if [ -x /usr/sbin/dovecot ]; then
DOVECOT_BASEDIR=$(/usr/sbin/dovecot -c ${DOVECOT_CONF} config -h base_dir)
if [ $? -ne 0 ]; then
eerror "Error parsing ${DOVECOT_CONF}"
return 1
fi
else
eerror "dovecot not executable"
return 1
fi
DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/run/dovecot}
DOVECOT_PIDFILE=${DOVECOT_BASEDIR}/master.pid
}
start() {
checkconfig || return 1
ebegin "Starting ${SVCNAME}"
start-stop-daemon --start --exec /usr/sbin/dovecot \
--pidfile "${DOVECOT_PIDFILE}" -- -c "${DOVECOT_CONF}"
eend $?
}
stop() {
checkconfig || return 1
ebegin "Stopping ${SVCNAME}"
start-stop-daemon --stop --exec /usr/sbin/dovecot \
--pidfile "${DOVECOT_PIDFILE}"
eend $?
}
reload() {
checkconfig || return 1
ebegin "Reloading ${SVCNAME} configs and restarting auth/login processes"
start-stop-daemon --signal HUP --exec /usr/sbin/dovecot \
--pidfile "${DOVECOT_PIDFILE}"
eend $?
}