#!/sbin/runscript # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License, v2 or later # $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/net-mail/dovecot/files/dovecot.init-r2,v 1.1 2008/11/03 17:22:59 wschlich Exp $ opts="reload" depend() { need localmount net 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 DOVECOT_BASEDIR=$(/usr/sbin/dovecot -c ${DOVECOT_CONF} -a | sed -ne '/^base_dir/{s#^base_dir:[[:space:]]*\(.*[^/]\)/\?$#\1#;p}') DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/var/run/dovecot} DOVECOT_PIDFILE=${DOVECOT_BASEDIR}/master.pid if [ ! -d "${DOVECOT_BASEDIR}" ]; then ebegin "Creating missing base_dir ${DOVECOT_BASEDIR}" install -d -o root -g root -m 0755 "${DOVECOT_BASEDIR}" eend $? fi } 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 --stop --oknodo --exec /usr/sbin/dovecot \ --pidfile "${DOVECOT_PIDFILE}" --signal HUP eend $? }