Felipe Sateler writes: > On 5 May 2016 at 10:05, Ansgar Burchardt <ans...@debian.org> wrote: >> As maintainer scripts call `invoke-rc.d` and `update-rc.d` >> unconditionally, the package providing these scripts should be made >> essential (i.e. add "Essential: yes" to init-system-helpers). > > Just thinking out loud, but maybe it would be reasonable to provide > dummy implementations for container/chroot uses. If the real > implementation lives in the Essential: yes package, that makes it more > difficult to swap them. > > Of course, that indirection package need not be init.
The indirection package is currently "init-system-helpers". The implementation provided there should work with all init systems (and hopefully also with no init system). >> So, suggestion to proceed: >> >> - Now: >> + "init" package: Remove "Essential: yes" >> + "init-system-helpers" package: Add "Essential: yes" Oh, and another idea: apt understand an "Important" field that makes it warn when removing packages (the "I know what I am doing" prompt). It might make sense to add this to either "init" or the actual init systems so people don't uninstall an init system or switch to another by accident. >> - Later: >> + "init": Change priority from "required" to "important". > > Later, as in post-stretch? No, after removing the "Essential" bit and confirming with d-boot@, but hopefully before the next freeze. >> Do we miss anything to start with moving the "Essential" field? I think >> /bin/pidof was mentioned which is provided by sysvinit-utils; however >> sysvinit-utils will continue to stay quasi-essential as util-linux has >> Depends: sysvinit-utils (>= 2.88dsf-59.1~) >> and util-linux is an essential package. > > The util-linux maintainer is very much trying to get rid of that > dependency (I can't find an online reference, but discussed on IRC), > and it is not done only because apt currently does not deal > particularly well with versioned Breaks "loops" involving essential > packages. Hmm, then alternatives include: - Make "sysvinit-utils" essential (not so nice IMHO). - Have "init-system-helpers" depend on it. This makes sure it stays quasi-essential for now. Ansgar