Bug#1131136: sysvinit-utils does not need to be in Essential set

Gioele Barabucci gioele at svario.it
Sat Apr 25 00:12:53 BST 2026


On 24/04/26 16:56, Lorenzo wrote:
> On Fri, 24 Apr 2026 15:19:21 +0200
> Gioele Barabucci <gioele at svario.it> wrote:
>> My position is: not all packages that ship an init-script should
>> depend on sysvinit-utils. Why? Because init-scripts are not run-time
>> components of upstream programs (except a handful of cases that will,
>> in fact require Depends: sysvinit-utils). If a user (not a program)
>> wants to run an init-script, they must take care of making available
>> everything that the init-script requires. That means installing at
>> least sysvinit-core or -utils.
> 
> I know that you likely already checked this, but just to be on the safe
> side; You already checked or know for fact that all daemon's
> postinst script in Sid use invoke-rc.d's "--skip-systemd-native"
> option, that's correct?

In fact I did not check that. Thanks for the suggestion.

A quick analysis reveals that most maintscripts use 
--skip-systemd-native except in ~120 cases (plus ~160 cases of 
invoke-rc.d without --skip-systemd-native generated by dh_installinit in 
compat <= 10). Pretty much all these cases come from manually written 
maintscripts, whose correctness and robustness are questionable.

* config: 2
* preinst: 6 (+ 3 via dh_installinit)
* postinst: 70 (+ 78 via dh_installinit)
* prerm: 37 (+75 via dh_installinit)
* postrm: 18 (+ 4 via dh_installinit)

These are worst-case/upper-limit figures. Many of these occurrences are 
surrounded by ad-hoc logic that tests whether systemd is running before 
launching invoke-rc.d.

dh_installinit should be fixed to unconditionally use 
`--skip-systemd-native` (see <https://bugs.debian.org/1134840>).

Regards,

-- 
Gioele Barabucci



More information about the Debian-init-diversity mailing list