Hello!

This information is not directly related to procps, but it is
kind of related to the reason why we'd want to introduce procps-base
as there's no big point in doing it if we can't also make sysvinit-utils
non-essential. Also we don't really have a good tracking bug so posting
here to archive the information somewhere before I forget about it....

I've looked closer at the users of /lib/init/init-d-script which was
mentioned in a previous post that some packages init script unconditionally
sources. Apparently "new school" init scripts as generated by current
dh-make and as visible in /etc/init.d/skeleton is the reason for these
unconditional sourcing of the file which causes problems if we downgrade
sysvinit-utils (which ships /lib/init/init-d-script) to non-essential.

Given this style of init script is apparently the currently recommended
form, I assume we can see the number of packages using it rise over
time...
The problem should be (partially?) less problematic if the package
using "new school" init script also ships a native systemd unit
file, which should avoid the init script being executed at all...
(Though some people still manually execute init scripts even under
systemd out of old habits and this only works because systemd
ships an LSB hook that catches this and issues systemctl seamlessly.)



a) packages shipping an init script that uses /lib/init/init-d-script according 
to codesearch.d.n
b) if it's not a big practical issue, because the init script will not be used 
under systemd.

pkg                             has masking systemd unit file
========================================================================
sddm                            yes
coquelicot                      yes
open-iscsi                      yes
graphite-api                    yes
apache2                         no! (only partial snippet to extend 
autoconverted script)
batmand                         yes
netplan                         no! (but carries own fallback copy of 
init-d-script!)
courier-authdaemon              yes
uwsgi-emperor                   no!
opendnssec-signer               yes
kxd                             yes
lvm2                            yes
waagent                         yes
prometheus                      yes
dbab                            yes (also carries own fallback copy of 
init-d-script!)
prometheus-pgbouncer-exporter   yes
shairport-sync                  yes
freeipmi-ipmiseld               no!
knot-resolver                   yes
prometheus-mysqld-exporter      yes
hhvm                            yes
prometheus-pushgateway          no!
courier-mta                     yes
prometheus-node-exporter        no!


The investigation was done using (so might very well be incomplete):

for pkg in .... ; do
        apt-file show $pkg | grep -e 'init.d' -e 'systemd/system'
done

TODO: Investigate what happens if executing such an init script directly
under systemd where normally systemd-installed LSB hooks would override
it and use systemctl...


Regards,
Andreas Henriksson

Reply via email to