diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-03-12 20:35:01 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-03-12 20:35:01 +0000 |
commit | 2f29dda62ba0f1ef1f7f8a797948c42ce25ffe0a (patch) | |
tree | 4567e6b22da6d74d9a4e8b7e073f09de16d4d629 /extra | |
parent | 8dbf2b7f4542321ddedce40d0897904401611b88 (diff) | |
download | aports-2f29dda62ba0f1ef1f7f8a797948c42ce25ffe0a.tar.bz2 aports-2f29dda62ba0f1ef1f7f8a797948c42ce25ffe0a.tar.xz |
extra/dovecot: add the correct init.d script
Diffstat (limited to 'extra')
-rw-r--r-- | extra/dovecot/dovecot.initd | 64 |
1 files changed, 40 insertions, 24 deletions
diff --git a/extra/dovecot/dovecot.initd b/extra/dovecot/dovecot.initd index 24201eeec..d9799c0dc 100644 --- a/extra/dovecot/dovecot.initd +++ b/extra/dovecot/dovecot.initd @@ -1,41 +1,57 @@ #!/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 $ -# Sample init.d file for alpine linux. - -NAME=dovecot -DAEMON=/usr/sbin/$NAME -USER=dovecot -group=dovecot +opts="reload" depend() { - need net + need localmount net + after bootmisc 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() { - ebegin "Starting ${NAME}" - start-stop-daemon --start --quiet --background \ - --make-pidfile --pidfile /var/run/${NAME}.pid \ - --chuid ${USER}:${GROUP} \ - --exec ${DAEMON} -- ${OPTS} + checkconfig || return 1 + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec /usr/sbin/dovecot \ + --pidfile "${DOVECOT_PIDFILE}" -- -c "${DOVECOT_CONF}" eend $? } stop() { - ebegin "Stopping ${NAME}" - start-stop-daemon --stop --quiet \ - --exec ${DAEMON} \ - --pidfile /var/run/${NAME}.pid \ + checkconfig || return 1 + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec /usr/sbin/dovecot \ + --pidfile "${DOVECOT_PIDFILE}" eend $? } reload() { - ebegin "Reloading ${NAME}" - if ! service_started "${NAME}" ; then - eend 1 "${NAME} is not started" - return 1 - fi - start-stop-daemon --stop --oknodo --signal HUP \ - --exec ${DAEMON} --pidfile /var/run/${NAME}.pid + 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 $? } - |