#!/sbin/openrc-run # Copyright 1999-2019 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 $? }