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