mail-mta/exim: remove bashisms from init-script, bug #612262
authorFabian Groffen <grobian@gentoo.org>
Sat, 11 Mar 2017 07:58:35 +0000 (08:58 +0100)
committerFabian Groffen <grobian@gentoo.org>
Sat, 11 Mar 2017 07:58:35 +0000 (08:58 +0100)
Package-Manager: Portage-2.3.3, Repoman-2.3.1

mail-mta/exim/exim-4.89.ebuild
mail-mta/exim/files/exim.rc10 [new file with mode: 0644]

index 5a527a41b49604dd7081b77eced9038a422dcafb..562c9d8ef25b5a2d9e35a4c13dc9f35296761ca8 100644 (file)
@@ -490,7 +490,7 @@ src_install () {
        insinto /etc/logrotate.d
        newins "${FILESDIR}/exim.logrotate" exim
 
-       newinitd "${FILESDIR}"/exim.rc9 exim
+       newinitd "${FILESDIR}"/exim.rc10 exim
        newconfd "${FILESDIR}"/exim.confd exim
 
        systemd_dounit "${FILESDIR}"/{exim.service,exim.socket,exim-submission.socket}
diff --git a/mail-mta/exim/files/exim.rc10 b/mail-mta/exim/files/exim.rc10
new file mode 100644 (file)
index 0000000..c44dba1
--- /dev/null
@@ -0,0 +1,47 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+
+depend() {
+       need logger
+       use antivirus net
+       provide mta
+}
+
+tidy_dbs() {
+       local spooldir=$(/usr/sbin/exim -C /etc/exim/${SVCNAME}.conf -bP -n spool_directory)
+       local db
+       local ret=0
+       ebegin "Tidying hints databases in ${spooldir}/db"
+       for db in "${spooldir}"/db/* ; do
+               case "${db}" in
+                       *".lockfile"|*"*")  continue  ;;
+               esac
+               /usr/sbin/exim_tidydb ${TIDY_OPTS} "${spooldir}" ${db##*/} > /dev/null
+               : $((ret += $?))
+       done
+       eend ${ret}
+}
+
+start() {
+       # if you use multiple instances, make sure you set spool_directory
+       # in the configfile
+       tidy_dbs
+       ebegin "Starting ${SVCNAME}"
+       start-stop-daemon --start --exec /usr/sbin/exim --pidfile /run/${SVCNAME}.pid -- -C /etc/exim/${SVCNAME}.conf ${EXIM_OPTS:--bd -q15m}
+       eend $?
+}
+
+stop() {
+       ebegin "Stopping ${SVCNAME}"
+       start-stop-daemon --stop --pidfile /run/${SVCNAME}.pid --name exim
+       eend $?
+}
+
+reload() {
+       ebegin "Reloading ${SVCNAME}"
+       start-stop-daemon --signal HUP --pidfile /run/${SVCNAME}.pid --name exim
+       eend $?
+}