Mail archive
alpine-aports

Re: [alpine-aports] [PATCH] main/dovecot: new init-script with dovecot.instances support

From: Valery Kartel <valery.kartel_at_gmail.com>
Date: Wed, 23 Dec 2015 15:09:27 +0200

> This is not equivalent to what it used to be:
> DOVECOT_CONF=/etc/dovecot/dovecot.${DOVECOT_INSTANCE}.conf ....

old init-script cuts a part of init name after last dot and think it's a
dovecot instance suffix.
if I rename my init script to something like '/etc/init.d/happy.new.fear',
it's would set DOVECOT_CONF to /etc/dovecot/dovecot.fear.conf
I think it's have no sence. I just correct an init script to find the
correct config file.
1. if we have declared non-empty DOVECOT_CONF in /etc/conf.d/${SVCNAME}, we
use it as a config file name.
2. if haven't - we use ${SVCNAME} as a name of config file.

so if the init script name is 'dovecot', the config file name would be
'/etc/dovecot/dovecot.conf' (if DOVECOT_CONF is not set)
and if the script name is 'jack.daniels' the config file name would be
'/etc/dovecot/jack.daniels.conf' not '/etc/dovecot/dovecot.daniels.conf'


2015-12-23 8:50 GMT+02:00 Timo Teras <timo.teras_at_iki.fi>:

> On Wed, 23 Dec 2015 00:37:54 +0200
> Valery Kartel <valery.kartel_at_gmail.com> wrote:
>
> > ---
> > 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
> > _at__at_ -1,9 +1,12 @@
> > #!/sbin/openrc-run
> >
> > description="Secure POP3/IMAP server"
> > -description_reload="Reload configuration"
> > -
> > +cfgfile=/etc/dovecot/${SVCNAME}.conf
>
> This is not equivalent to what it used to be:
> DOVECOT_CONF=/etc/dovecot/dovecot.${DOVECOT_INSTANCE}.conf
> or
> DOVECOT_CONF=/etc/dovecot/dovecot.conf
>
> I wonder if this is acceptable.
>
> Otherwise it looks good to me. But should probably also be flattened to
> the dovecot upgrade commit.
>
> Thanks.
>
> > +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
> > _at__at_ -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 $?
> > }
>
>



---
Unsubscribe:  alpine-aports+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-aports+help_at_lists.alpinelinux.org
---
Received on Wed Dec 23 2015 - 15:09:27 GMT