Bug#756023: init: Move "Essential: yes" from init to init-system-helpers

Ansgar Burchardt ansgar at debian.org
Thu May 5 14:49:57 BST 2016


Felipe Sateler writes:
> On 5 May 2016 at 10:05, Ansgar Burchardt <ansgar at 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




More information about the Pkg-systemd-maintainers mailing list