Bug#482159: exim4-base: Install fails - init script fails "malformed or incomplete option"

Mike Young debian at elyoung.com
Fri May 23 01:51:40 UTC 2008


Marc Haber wrote:
> Please verify that you have actually updated the init script. The init
> script is a conffile, so if you have done manual changes (which
> shouldn't be necessary) you need to manually interfere to allow the
> update to proceed.
>
> The relevant code should have constructs like
> ${COMMONOPTIONS:+"${COMMONOPTIONS}"} instead of the simply quoted stuff.
>
> Greetings
> Marc
>   

Sorry, my comments about "needing to hack the init script" were 
misleading... I have never touched the init script. My concern was 
exactly as you mention... I don't want to hack a conffile.

Here's what I've got in the init script for the relevant portion:
case ${QUEUERUNNER} in
    combined)
      start_daemon -p "$PIDFILE" \
        "$DAEMON" -bd "-q${QFLAGS}${QUEUEINTERVAL}" \
        ${COMMONOPTIONS:+"${COMMONOPTIONS}"} \
        ${QUEUERUNNEROPTIONS:+"${QUEUERUNNEROPTIONS}"} \
        ${SMTPLISTENEROPTIONS:+"${SMTPLISTENEROPTIONS}"}
      log_progress_msg "exim4"
      ;;


And here's /etc/default/exim4 (comments excluded for brevity):
EX4DEF_VERSION=''
QUEUERUNNER='combined'
QUEUEINTERVAL='30m'
COMMONOPTIONS=''
QUEUERUNNEROPTIONS=''
QFLAGS=''
SMTPLISTENEROPTIONS='-oX 465:25 -oP /var/run/exim4/exim.pid'


The part that has me baffled is QUEUEINTERVAL.
I can understand the empty string behavior, but QUEUEINTERVAL has 30m as 
its contents. Except in the debug output, we don't see the single quotes 
around 30m. Why are they showing up around SMTPLISTENEROPTIONS?
My guess is that it has something to do with the ${parameter:+word} 
syntax versus standard ${word}... but thats beyond my shell-script-fu.

Regards,
--Mike








More information about the Pkg-exim4-maintainers mailing list