[debhelper-devel] Bug#749400: Bug#749400: dh_installinit: disable init scripts on removal of package

Niels Thykier niels at thykier.net
Fri Jun 9 17:55:00 UTC 2017


Alan Jenkins:
> On Thu, 24 Dec 2015 00:34:22 -0300 Felipe Sateler <fsateler at debian.org>
> wrote:
> 
> [...]
> 

Hi Alan,

> Thanks for the analysis on this bug!  I'd like to see it progress.
> 

Great. :)  I am happy to receive help.  Especially because it is not my
area of experience.

> I want to avoid a boot-time warning, which is caused by how
> `dh_systemd_enable` handles package removal.  I can see a clear path,
> but only if we can get `dh_installinit` to disable init scripts on
> package removal.
> 

:)

> Why don't we use `update-rc.d FOO remove` on package removal?  This
> would simply remove all the symlinks. [...]
> 

As I read the "update-rc.d" manpage, the symlinks are a part of the
customization that a admin can do.  So if we remove them, then we remove
configuration during "remove" (which must only be done during "purge").
Note this paragraph in update-rc.d(1):

"""
A  common  system administration error is to delete the links with the
thought that this will "disable" the service, i.e., that this will
prevent the service from being started.  However, if all links have been
deleted then the next time the package is upgraded,  the  package's
postinst  script  will  run update-rc.d  again  and  this will reinstall
links at their factory default locations.  The correct way to disable
services is to configure the service as  stopped in all runlevels in
which it is started by default.  In the System V init system this means
renaming the service's symbolic links from S to K.
"""


Thanks,
~Niels




More information about the debhelper-devel mailing list