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