Followup-For: Bug #953875
Control: reassign -1 apt 2.0.2

Dear apt maintainers,

runit package has a recommends that is in the form

Recommends: runit-sysv | runit-init | runit-systemd

Runit-sysv needs sysvinit as init, and runit-systemd needs systemd as init.
The problem is that, when installing runit, apt chooses to install
'runit-sysv'(forcing an init switch), regardless of the fact that there is 
another 
alternative listed (runit-systemd) that does not cause an init switch and also 
it's very
unlikely to cause the removal of any installed package.

Please implement a logic where apt parse the alternative recommends in order 
and pick up
the first that does not require a removal of any installed package in the 
system. If none
of the listed recommends can be installed without removing any packages, then I 
think it's
ok to pick the first listed.

Note that this bug is not easy to fix on runit side:
* changing the order of the recommends will cause the same issue for sysvinit 
users
* the trick suggested by Adam Borowski in #10 does not work
* bundle the sysv and the systemd implementation in runit package, like a 
common service,
  is not easy since the sysv implementation is respawned with a line in 
/etc/inittab which
  is a conffile of sysvinit-core. And even if I ship and maintain my own 
version of inittab,
  I would still have to deal with 'runit-init'.

Regards,
Lorenzo 


-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.5.9-van (SMP w/4 CPU cores; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: runit (via /run/runit.stopit)

Reply via email to