Valery Kartel: 1 main/dovecot: new init-script with dovecot.instances support 1 files changed, 11 insertions(+), 38 deletions(-)
> 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@iki.fi>:
Copy & paste the following snippet into your terminal to import this patchset into git:
curl -s https://lists.alpinelinux.org/~alpine/aports/patches/1961/mbox | git am -3Learn more about email & git
--- 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
Timo Teras <timo.teras@iki.fi>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 @@ -12,46 +15,16 @@ depend() { use logger }
Timo Teras <timo.teras@iki.fi>--- Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ---
-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 ---