#!/sbin/runscript # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License, v2 or later # $Header: /var/cvsroot/gentoo-x86/net-mail/dovecot/files/dovecot.init-r2,v 1.3 2010/05/19 13:26:56 patrick Exp $ opts="${opts} reload" depend() { need localmount net before postfix 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:-/var/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 --stop --oknodo --exec /usr/sbin/dovecot \ --pidfile "${DOVECOT_PIDFILE}" --signal HUP eend $? }