diff options
author | Valery Kartel <valery.kartel@gmail.com> | 2016-04-04 10:08:06 +0300 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2016-05-16 16:17:08 +0000 |
commit | 7307d5b5eb03b045960b5cf85bd98af3f7a9ab54 (patch) | |
tree | 0d1722d584271114af0d43f0c64512865ce0e6bf /main/dovecot/dovecot.initd | |
parent | fb87e4fd62220cf107377aeb9e4e65a9a237ec7f (diff) | |
download | aports-7307d5b5eb03b045960b5cf85bd98af3f7a9ab54.tar.bz2 aports-7307d5b5eb03b045960b5cf85bd98af3f7a9ab54.tar.xz |
main/dovecot: upgrade to 2.2.23, update init and logrotate scripts
Diffstat (limited to 'main/dovecot/dovecot.initd')
-rw-r--r-- | main/dovecot/dovecot.initd | 59 |
1 files changed, 21 insertions, 38 deletions
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 $? } |