From 7307d5b5eb03b045960b5cf85bd98af3f7a9ab54 Mon Sep 17 00:00:00 2001 From: Valery Kartel Date: Mon, 4 Apr 2016 10:08:06 +0300 Subject: main/dovecot: upgrade to 2.2.23, update init and logrotate scripts --- main/dovecot/dovecot.initd | 59 +++++++++++++++++----------------------------- 1 file changed, 21 insertions(+), 38 deletions(-) (limited to 'main/dovecot/dovecot.initd') diff --git a/main/dovecot/dovecot.initd b/main/dovecot/dovecot.initd index 880a39f254..92959c6372 100644 --- a/main/dovecot/dovecot.initd +++ b/main/dovecot/dovecot.initd @@ -1,57 +1,40 @@ #!/sbin/openrc-run +[ "${SVCNAME}" != "${SVCNAME##*.}" ] && instance=${SVCNAME##*.} + description="Secure POP3/IMAP server" -description_reload="Reload configuration" -extra_started_commands="reload" +cfgfile=/etc/dovecot/dovecot${instance:+.$instance}.conf +pidfile=$(doveconf -c $cfgfile -h base_dir 2>/dev/null)/master.pid +command=/usr/sbin/dovecot +command_args=${instance:+-c $cfgfile} +required_files="$cfgfile" +extra_started_commands="reload reopen" +description_reload="Reload configuration" +description_reopen="Reopen log files" depend() { need localmount net - before exim postfix + before mta after bootmisc firewall ldap mysql ntp-client ntpd postgresql saslauthd slapd use logger } -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} -a | grep '^base_dir = ' | sed 's/^base_dir = //') - else - eerror "dovecot not executable" - return 1 - fi - DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/run/dovecot} - DOVECOT_PIDFILE=${DOVECOT_BASEDIR}/master.pid - checkpath --directory --owner dovecot:dovecot --mode 0755 \ - ${DOVECOT_BASEDIR} -} - -start() { - checkconfig || return 1 - ebegin "Starting ${SVCNAME}" - start-stop-daemon --start --exec /usr/sbin/dovecot --pidfile "${DOVECOT_PIDFILE}" -- -c "${DOVECOT_CONF}" +start_pre() { + ebegin + doveconf -c $cfgfile -x >/dev/null && \ + checkpath --directory ${pidfile%/*} eend $? } -stop() { - checkconfig || return 1 - ebegin "Stopping ${SVCNAME}" - start-stop-daemon --stop --exec /usr/sbin/dovecot --pidfile "${DOVECOT_PIDFILE}" +reload() { + ebegin "Reloading ${SVCNAME} configs and restarting auth/login processes" + start_pre && start-stop-daemon --signal HUP --pidfile $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}" +reopen() { + ebegin "Reopening ${SVCNAME} log files" + start-stop-daemon --signal USR1 --pidfile $pidfile eend $? } -- cgit v1.2.3