summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfram Schlich <wschlich@gentoo.org>2008-04-17 16:16:21 +0000
committerWolfram Schlich <wschlich@gentoo.org>2008-04-17 16:16:21 +0000
commit670580bb38e1d3ffd8c51006decd0ddd3614c487 (patch)
treee2eecfd2c44031e989e9b4dabf248fc0811e5f7a /net-mail/dovecot/files
parentamd64 stable wrt bug #211894 (diff)
downloadgentoo-2-670580bb38e1d3ffd8c51006decd0ddd3614c487.tar.gz
gentoo-2-670580bb38e1d3ffd8c51006decd0ddd3614c487.tar.bz2
gentoo-2-670580bb38e1d3ffd8c51006decd0ddd3614c487.zip
add multiple instances support to init script
(Portage version: 2.1.5_rc3)
Diffstat (limited to 'net-mail/dovecot/files')
-rw-r--r--net-mail/dovecot/files/dovecot.init-r156
1 files changed, 56 insertions, 0 deletions
diff --git a/net-mail/dovecot/files/dovecot.init-r1 b/net-mail/dovecot/files/dovecot.init-r1
new file mode 100644
index 000000000000..ab85fe80cb79
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot.init-r1
@@ -0,0 +1,56 @@
+#!/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-r1,v 1.1 2008/04/17 16:16:21 wschlich Exp $
+
+opts="reload"
+
+depend() {
+ need net
+ after 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() {
+ ebegin "Reloading ${SVCNAME} configs and restarting auth/login processes"
+ start-stop-daemon --stop --oknodo --exec /usr/sbin/dovecot \
+ --pidfile "${DOVECOT_PIDFILE}" --signal HUP
+ eend $?
+}