Breaking init swtich: was Re: sysvinit_3.14-2_source.changes ACCEPTED into experimental

Mark Hindley mark at hindley.org.uk
Mon Feb 24 07:28:33 GMT 2025


On Mon, Feb 24, 2025 at 12:11:09AM +0100, lorenzo wrote:
> as far as I know there is no flag to remove a protected package in apt,
> for example (you can just test in a debootstrap sid chroot)

That is what I thought too. But, based on Thorsten's suggestion,
--allow-remove-essential works:

root at apollo:/# dpkg -s sysvinit-core|grep 'Version\|Protected'
Protected: yes
Version: 3.14-2 
root at apollo:/# apt --allow-remove-essential install runit-init sysvinit-core-
Removing 'diversion of /usr/share/man/fi/man8/telinit.8.gz to /usr/share/man/fi/man8/telinit.8.dist by sysvinit-core'
Removing 'diversion of /usr/share/man/fr/man8/init.8.gz to /usr/share/man/fr/man8/init.8.dist by sysvinit-core'
[...]
Preparing to unpack .../runit-init_2.1.2-61_amd64.deb ...
 copying invoke-rc.d into invoke-rc.d.real
 copying service into service.real
 copying invoke-rc.d.8.gz into invoke-rc.d.8.gz.real
 copying service.8.gz into service.8.gz.real
Adding 'diversion of /usr/sbin/invoke-rc.d to /usr/sbin/invoke-rc.d.real by runit-init'
Adding 'diversion of /usr/sbin/service to /usr/sbin/service.real by runit-init'
Adding 'diversion of /usr/share/man/man8/invoke-rc.d.8.gz to /usr/share/man/man8/invoke-rc.d.8.gz.real by runit-init'
Adding 'diversion of /usr/share/man/man8/service.8.gz to /usr/share/man/man8/service.8.gz.real by runit-init'
Unpacking runit-init (2.1.2-61) ...
Setting up runit-init (2.1.2-61) ...

So the 'cost' of  adding Protected: yes is having to use
--allow-remove-essential and explicitly remove sysvinit-core.

Is that acceptable?

Mark



More information about the Debian-init-diversity mailing list