X-Original-To: alpine-aports@mail.alpinelinux.org Delivered-To: alpine-aports@mail.alpinelinux.org Received: from mail.alpinelinux.org (dallas-a1.alpinelinux.org [127.0.0.1]) by mail.alpinelinux.org (Postfix) with ESMTP id 4C9DFDC0701 for ; Tue, 22 Dec 2015 22:34:11 +0000 (UTC) Received: from relay1.infogroup.kiev.ua (tera.infogroup.kiev.ua [195.144.25.26]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id 0C734DC0080 for ; Tue, 22 Dec 2015 22:34:10 +0000 (UTC) Received: from aveo.com.ua ([195.144.25.27] helo=alpine) by relay1.infogroup.kiev.ua with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.80.1) (envelope-from ) id 1aBVVR-0007TU-7X; Wed, 23 Dec 2015 00:34:09 +0200 From: Valery Kartel To: alpine-aports@lists.alpinelinux.org Cc: Valery Kartel Subject: [alpine-aports] [PATCH] main/dovecot: new init-script with dovecot.instances support Date: Wed, 23 Dec 2015 00:37:54 +0200 Message-Id: <1450823874-24248-1-git-send-email-valery.kartel@gmail.com> X-Mailer: git-send-email 2.6.4 X-Virus-Scanned: ClamAV using ClamSMTP X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: --- main/dovecot/dovecot.initd | 49 +++++++++++----------------------------------- 1 file changed, 11 insertions(+), 38 deletions(-) diff --git a/main/dovecot/dovecot.initd b/main/dovecot/dovecot.initd index 880a39f..944ff87 100644 --- a/main/dovecot/dovecot.initd +++ b/main/dovecot/dovecot.initd @@ -1,9 +1,12 @@ #!/sbin/openrc-run description="Secure POP3/IMAP server" -description_reload="Reload configuration" - +cfgfile=/etc/dovecot/${SVCNAME}.conf +pidfile=$(/usr/bin/doveconf -c $cfgfile -h base_dir 2>/dev/null)/master.pid +command=/usr/sbin/dovecot +required_files=$cfgfile extra_started_commands="reload" +description_reload="Reload configuration" depend() { need localmount net @@ -12,46 +15,16 @@ depend() { 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 - if [ -x /usr/sbin/dovecot ]; then - DOVECOT_BASEDIR=$(/usr/sbin/dovecot -c ${DOVECOT_CONF} -a | grep '^base_dir = ' | sed 's/^base_dir = //') - else - eerror "dovecot not executable" - return 1 - fi - DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/run/dovecot} - DOVECOT_PIDFILE=${DOVECOT_BASEDIR}/master.pid - checkpath --directory --owner dovecot:dovecot --mode 0755 \ - ${DOVECOT_BASEDIR} -} - -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}" +start_pre() { + ebegin + [ "$cfgfile" = "/etc/dovecot/dovecot.conf" ] || command_args="-c $cfgfile" + checkpath --directory ${pidfile%/*} + $command $command_args -a > /dev/null 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}" + start_pre && start-stop-daemon --signal HUP --exec $command --pidfile $pidfile eend $? } -- 2.6.4 --- Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ---