Bugzilla – Bug 105845
Deinstall directory installation kills running daemons
Last modified: 2005-08-22 14:07:08 UTC
Best way to reproduce: Install on a Beta2 the Beta2 into a directory with YaST2 (for example for Xen). Remove openssh from this installation: rpm --root=/var/tmp/dirinstall -e openssh chroot /var/tmp/dirinstall /etc/init.d/sshd stop will be called. This calls killproc -p $PIDFILE -TERM /usr/bin/sshd The file $PIDFILE does not exist. Afterwards, all running sshd daemons are killed. Same is true for all other packages.
This is a killproc bug. From LSB definition of "killproc -p": "If the -p pidfile option is specified, and the named pidfile exists, a single line at the start of the pidfile shall be read. If this line contains one or more numeric values, separated by spaces, these values shall be used. If the -p pidfile option is specified and the named pidfile does not exist, the functions shall assume that the daemon is not running." Our killproc does not assume that the daemon is not running, but instead kills every running process with this name.
Why is this a blocker?
Data lossage, connection crashes, unuseable system.
FIXED