Bug#355749: marked as done (exim4-base: conffile prompt for etch upgrade)

Justin Pryzby justinpryzby at users.sourceforge.net
Sat Mar 11 13:39:16 UTC 2006


> Package: exim4-base
> Version: 4.60-4
> Severity: important
> 
> The attached diff was presented to me while updating exim4 from
> version 4.60-3; I didn't make the indicated changes, so I shouldn't
> need to be prompted about them.
> 
> If you're not familiar with conffile prompting issues, see my message
> to bug #345112 and friends.

> --- /etc/init.d/exim4	2005-08-16 12:07:46.000000000 -0400
> +++ /etc/init.d/exim4.dpkg-new	2006-01-28 09:56:53.000000000 -0500
> @@ -13,6 +13,8 @@
>    set -x
>  fi
>  
> +ENV="env -i LANG=C PATH=$PATH"
> +
>  #read default file
>  QUEUERUNNER='combined'
>  QUEUEINTERVAL='30m'
> @@ -42,8 +44,9 @@
>    exit 0
>  fi
>  
> -DAEMON=/usr/sbin/exim4
> -NAME=exim4
> +
> +DAEMON="/usr/sbin/exim4"
> +NAME="exim4"
>  
>  ##test -x $DAEMON || exit 0
>  test -x /usr/lib/exim4/exim4 || exit 0
> @@ -52,24 +55,24 @@
>  {
>    case ${QUEUERUNNER} in
>      combined)
> -      start-stop-daemon --start --pidfile "$PIDFILE" \
> +      $ENV start-stop-daemon --start --pidfile "$PIDFILE" \
>          --exec $DAEMON -- -bd -q${QFLAGS}${QUEUEINTERVAL} \
>          ${COMMONOPTIONS} ${QUEUERUNNEROPTIONS} ${SMTPLISTENEROPTIONS}
>        ;;
>      separate)
> -      start-stop-daemon --start --pidfile "$PIDFILE" \
> +      $ENV start-stop-daemon --start --pidfile "$PIDFILE" \
>          --exec $DAEMON -- -bd ${SMTPLISTENEROPTIONS} ${COMMONOPTIONS}
> -      start-stop-daemon --start --pidfile "$QRPIDFILE" \
> +      $ENV start-stop-daemon --start --pidfile "$QRPIDFILE" \
>          --exec $DAEMON -- -oP "$QRPIDFILE" \
>          -q${QFLAGS}${QUEUEINTERVAL} ${QUEUERUNNEROPTIONS} ${COMMONOPTIONS}
>        ;;
>      queueonly)
> -      start-stop-daemon --start --pidfile "$QRPIDFILE" \
> +      $ENV start-stop-daemon --start --pidfile "$QRPIDFILE" \
>          --exec $DAEMON -- -oP "$QRPIDFILE" \
>          -q${QFLAGS}${QUEUEINTERVAL} ${QUEUERUNNEROPTIONS} ${COMMONOPTIONS}
>        ;;
>      no|ppp)
> -      start-stop-daemon --start --pidfile "$PIDFILE" \
> +      $ENV start-stop-daemon --start --pidfile "$PIDFILE" \
>          --exec $DAEMON -- -bd ${SMTPLISTENEROPTIONS}
>        ;;
>      nodaemon)
> @@ -110,7 +113,7 @@
>  {
>    SIG="${1:-TERM}"
>    for pid in $(pidof $NAME); do
> -    if [ "$(readlink /proc/$pid/root)" == "/" ]; then
> +    if [ "$(readlink /proc/$pid/root)" = "/" ]; then
>        kill -$SIG $pid
>      fi
>    done


> On 2006-03-07 Justin Pryzby <justinpryzby at users.sourceforge.net> wrote:
> > On Tue, Mar 07, 2006 at 06:59:39PM +0100, Andreas Metzler wrote:
> [...]
> >> I cannot reproduce this. Neither of
> >> fresh install of 4.50.8 --> 4.60-4
> >> fresh install of 4.50.8 --> 4.60-3 --> 4.60-4
> >> fresh install of 4.60-3 --> 4.60-4
> >> shows any unnecessary conffile prompts. Do you know which version you
> >> upgraded from? Can you reproduce this bug?
> > See above: 4.60-3; I just attempted to reproduce it, and failed, while
> > upgrading from 4.60-3 on a different machine..  Yesterdays upgrade on
> > a 3rd machine also had no such prompts.
> [...]
> > but the nearly-general agreement that conffile
> > prompts shouldn't happen unnecessarily, and different mechanisms by
> > which they can be avoided.
> 
> I perfectly agree with that.
> 
> > I'm including an interdiff of the dpkg prompt diff vs the diff between
> > the conffile included in the 2 relevant versions of the package; do
> > you recognize it?  This isn't change I would have made.
> 
> > diff -u /etc/init.d/exim4 /etc/init.d/exim4
> > --- /etc/init.d/exim4	2006-01-28 09:56:53.000000000 -0500
> > +++ /etc/init.d/exim4	2006-03-07 14:17:30.000000000 -0500
> > @@ -45,7 +45,6 @@
> >  fi
> 
> 
> > -
> >  DAEMON="/usr/sbin/exim4"
> >  NAME="exim4"
> 
> > @@ -113,7 +112,7 @@
> >  {
> >    SIG="${1:-TERM}"
> >    for pid in $(pidof $NAME); do
> > -    if [ "$(readlink /proc/$pid/root)" = "/" ]; then
> > +    if [ "$(readlink /proc/$pid/root)" == "/" ]; then
> >        kill -$SIG $pid
> >      fi
> >    done
> 
> The /=/==/ change is between 4.53-1 and 4.54-1, but the whitespace
> change is no part of that diff.
> 
> The init-script has not changed a lot:
> 4.50-8 up to and including 4.53-1 is identical
> 4.54-1 fixes the bashism (one line change s/==/=/
> 4.54-1 up to and including 4.60-3 is identical
> 4.60-4 quotes some variables and starts exim4 with LANG=C.
> 
> Indeed if I apply exim4-dpkg-conffile-diff (as supplied in the initial
> bugreport) to 4.50-8's initscript I end up with a file that is almost
> identical to 4.60-4's initscript
> -----------------------
> ametzler at argenau:/tmp/$ diff -u exim4-4.60-4 afterapplying-supplieddiff
> --- exim4-4.60-4        2006-03-11 11:12:04.727339904 +0100
> +++ afterapplying-supplieddiff  2006-03-11 11:37:45.368126904 +0100
> @@ -45,6 +45,7 @@
>  fi
> 
> 
> +
>  DAEMON="/usr/sbin/exim4"
>  NAME="exim4"
> 
> -----------------------
> 
> OTOH if I edit 4.50-8's initscript, deleting a newline ...
> -----------------------
> --- exim4-4.50-8        2005-05-27 09:59:31.000000000 +0200
> +++ afterapplying-supplieddiff  2006-03-11 11:44:14.032041008 +0100
> @@ -42,7 +42,6 @@
>    exit 0
>  fi
> 
> -
>  DAEMON=/usr/sbin/exim4
>  NAME=exim4
> 
> -----------------------
> ... then exim4-dpkg-conffile-diff (as supplied in the
> initial bugreport) applies cleanly and I get exactly 4.60-4's
> initscript.
> 
> exim4's maintainerscripts do not modify the init-script (as this would
> be a serious bug.)
> 
> For these reasons I very strongly suspect that you (accidentally)
> modified exim4's init-script in a editor (deleting a blank line)
> somewhere from 4.50-8 to 4.54-1 and therefore simply got a correct
> conffile-changed-prompt when upgrading from this version to 4.60-4.
> 
> I am therefore closing this bug-report, feel free to re-open it if yu
> think this to be incorrect.
>   cu andreas
Fair enough;

Thanks
Justin




More information about the Pkg-exim4-maintainers mailing list