summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEray Aslan <eras@gentoo.org>2018-11-26 15:02:38 +0300
committerEray Aslan <eras@gentoo.org>2018-11-26 15:02:38 +0300
commit9c0e4ef0762d8b1394a8d74b945b40defa34169d (patch)
tree0808bfc07fb017a7f198e8a1cf9e41be308443ba /net-mail/dovecot/files/dovecot.init-r6
parentdev-db/postgis: Bump to 2.4.6, 2.5.1 (diff)
downloadgentoo-9c0e4ef0762d8b1394a8d74b945b40defa34169d.tar.gz
gentoo-9c0e4ef0762d8b1394a8d74b945b40defa34169d.tar.bz2
gentoo-9c0e4ef0762d8b1394a8d74b945b40defa34169d.zip
net-mail/dovecot: bump to 2.3.4
and better error handling at init script Closes: https://github.com/gentoo/gentoo/pull/10472 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Eray Aslan <eras@gentoo.org>
Diffstat (limited to 'net-mail/dovecot/files/dovecot.init-r6')
-rwxr-xr-xnet-mail/dovecot/files/dovecot.init-r662
1 files changed, 62 insertions, 0 deletions
diff --git a/net-mail/dovecot/files/dovecot.init-r6 b/net-mail/dovecot/files/dovecot.init-r6
new file mode 100755
index 000000000000..ad096bff7502
--- /dev/null
+++ b/net-mail/dovecot/files/dovecot.init-r6
@@ -0,0 +1,62 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_commands="checkconfig"
+extra_started_commands="reload"
+
+depend() {
+ need localmount
+ before postfix
+ after bootmisc ldap mysql ntp-client ntpd postgresql saslauthd slapd
+ use logger net
+}
+
+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} config -h base_dir)
+ if [ $? -ne 0 ]; then
+ eerror "Error parsing ${DOVECOT_CONF}"
+ return 1
+ fi
+ else
+ eerror "dovecot not executable"
+ return 1
+ fi
+ DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/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 --signal HUP --exec /usr/sbin/dovecot \
+ --pidfile "${DOVECOT_PIDFILE}"
+ eend $?
+}