Craig Sanders wrote:
> severity 471051 critical
> thanks
> 
> this bug can not be downgraded to normal because it is a bug that
> results in a loss of important and irreplacable data. that is one of the
> defining characteristics of a critical bug. loss of logging also has
> security implications, which is also a critical issue.

Do you want to play bts ping-pong?

> On Sat, Mar 15, 2008 at 03:32:00PM +0100, Michael Biebl wrote:
>> Craig Sanders wrote:
>>> Package: rsyslog
>>> Version: 2.0.3-1
>>> Severity: critical
>>> Justification: causes serious data loss
>>>
>>>
>>> rsyslog shuts down at the start of the upgrade and only gets restarted
>>> when the package is configured.
>>>
>>> this is broken. instead of stopping rsyslog in the prerm and starting it
>> Well, this is standard behaviour on Debian: daemons are stopped before
>> upgrade and started after the upgrade.
> 
> no, it is not and never has been standard behaviour on debian.


You seem to be utterly mistaken here:
grep "invoke-rc.d .* stop" *.prerm
acpid.prerm:            invoke-rc.d acpid stop || exit $?
anacron.prerm:          invoke-rc.d anacron stop || exit $?
apache2-mpm-prefork.prerm:                              invoke-rc.d apache2 
stop || true
at.prerm:       invoke-rc.d atd stop || true
avahi-daemon.prerm:             invoke-rc.d avahi-daemon stop || exit $?
binfmt-support.prerm:           invoke-rc.d binfmt-support stop || true
bluez-utils.prerm:              invoke-rc.d bluetooth stop || exit $?
capiutils.prerm:                invoke-rc.d capiutils stop || exit $?
console-common.prerm:           invoke-rc.d keymap.sh stop || exit $?
console-setup.prerm:            invoke-rc.d console-setup stop || exit $?
console-tools.prerm:            invoke-rc.d console-screen.sh stop || exit $?
cpufrequtils.prerm:             invoke-rc.d cpufrequtils stop || exit $?
cron.prerm:            invoke-rc.d cron stop
cupsys.prerm:           invoke-rc.d cupsys stop || exit $?
dbus.prerm:             invoke-rc.d dbus stop || exit $?
dhcdbd.prerm:           invoke-rc.d dhcdbd stop || exit $?
exim4-daemon-heavy.prerm:                   invoke-rc.d exim4 stop
fuse-utils.prerm:               invoke-rc.d fuse stop || exit $?
gdm.prerm:      invoke-rc.d gdm stop
gpm.prerm:  invoke-rc.d gpm stop ||
hal.prerm:              invoke-rc.d hal stop || exit $?
mysql-server-5.0.prerm:         invoke-rc.d mysql stop || exit $?
network-manager.prerm:          invoke-rc.d network-manager stop || exit $?
network-manager.prerm:          invoke-rc.d network-manager-dispatcher stop ||
exit $?
nfs-common.prerm:           invoke-rc.d nfs-common stop
openbsd-inetd.prerm:            invoke-rc.d openbsd-inetd stop || exit $?
openssh-server.prerm:                   invoke-rc.d ssh stop
openvpn.prerm:                  invoke-rc.d openvpn stop
partimage-server.prerm:         invoke-rc.d partimaged stop || exit $?
portmap.prerm:          invoke-rc.d portmap stop || exit $?
postgresql-8.3.prerm:           invoke-rc.d postgresql-8.3 stop || exit $?
powersaved.prerm:               invoke-rc.d powersaved stop || check_return_code
procps.prerm:           invoke-rc.d procps stop || exit $?
rsync.prerm:                    invoke-rc.d rsync stop
rsyslog.prerm:          invoke-rc.d rsyslog stop || exit $?
samba.prerm:            invoke-rc.d samba stop || exit $?
sl-modem-daemon.prerm:          invoke-rc.d sl-modem-daemon stop || true
smartmontools.prerm:            invoke-rc.d smartmontools stop || exit $?
udftools.prerm:         invoke-rc.d udftools stop || exit $?
virtualbox-ose.prerm:           invoke-rc.d virtualbox-ose stop || exit $?
x11-common.prerm:               invoke-rc.d x11-common stop || exit $?


Now, that's just on my machine.

> i've been a DD for over 10 years, and it's only recently that some
> daemons have been doing this on upgrade rather than reloading/restarting
> in the postinst. in fact, most still do just a reload/restart.
> 
> there is NO NEED WHATSOEVER to stop a daemon just because it is being
> upgraded.

Please don't shout.


> 
> postfix, like MOST other daemon packages i use, also doesn't. postfix's

Wrong, most packages use the way I described.


> 
> 
>> One of the reasons, why it is done this way, ist that you can't
>> guarantee a clean shutdown of the daemon, when you have replaced it's
>> files, while it is still running.
> 
> name one daemon where that's a case.

I already gave you one.


> 
> the correct thing to do is to handle that as a special case in the
> postinst script - check if rklogd is running, stop it if it is, and then
> restart rsyslogd as normal.

Great idea, let's make our maintainer scripts an unmaintainable mess of
special cases.

If you question the default behaviour of dh_installinit, discuss this
with the dh_installinit maintainer, but please don't act like a smart-ass.

Michael
-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to