diff options
author | Wolfram Schlich <wschlich@gentoo.org> | 2008-04-17 16:16:21 +0000 |
---|---|---|
committer | Wolfram Schlich <wschlich@gentoo.org> | 2008-04-17 16:16:21 +0000 |
commit | 670580bb38e1d3ffd8c51006decd0ddd3614c487 (patch) | |
tree | e2eecfd2c44031e989e9b4dabf248fc0811e5f7a /net-mail/dovecot/files | |
parent | amd64 stable wrt bug #211894 (diff) | |
download | gentoo-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-r1 | 56 |
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 $? +} |