Since last emerge --sync i noticed that openrc wants to pull in sys-apps/sysvinit which in turn results into file collisions as i use sys-process/runit with the required shutdown/reboot scripts . (as reccomened by the wiki) It should depend on either or, as i am stuck now in a state where sysvinit blocks all -avuDN upgrades and masking it just blocks it with a unmask request. Perhaps a new useflag with sysvinit as default and if none is set require no init?
(In reply to Tazy from comment #0) > Since last emerge --sync i noticed that openrc wants to pull in > sys-apps/sysvinit which in turn results into file collisions as i use > sys-process/runit with the required shutdown/reboot scripts . (as > reccomened by the wiki) I am also the maintainer of runit, and I am not aware of these scripts. Can you please provide the link to the wiki page? > It should depend on either or, as i am stuck now in a state where sysvinit > blocks all -avuDN upgrades and masking it just blocks it with a unmask > request. > > Perhaps a new useflag with sysvinit as default and if none is set require no > init? The killprocs service, which is part of the OpenRC shutdown process, has a hard requirement for killall5, which Is part of sys-apps/sysvinit. That is the reason for this hard dependency.
(In reply to William Hubbs from comment #1) > I am also the maintainer of runit, and I am not aware of these scripts. Can > you please provide the link to the wiki page? > > The killprocs service, which is part of the OpenRC shutdown process, has a > hard requirement for killall5, which Is part of sys-apps/sysvinit. That is > the reason for this hard dependency. according to this page: https://wiki.gentoo.org/wiki/Runit#Reboot_and_shutdown i've put these both short shell scripts onto /sbin/reboot and /sbin/shutdown And reboot's seem to work just fine once i followed the alternative suggestion on: https://wiki.gentoo.org/wiki/Runit#PID_1_-_init_replacement At least it stops running services, not sure about killall5 missing causing issues yet.
Since openrc-0.25 openrc provides its own PID1 implementation which adds to this issue. I'll suggest the following possible solution: -add the USE=init to sys-apps/openrc that symlinks /sbin/init to openrc-init -add virtual/init which depends on all relevant providers of PID1 a) sys-apps/sysvinit b) sys-process/runit c) sys-apps/openrc[init] -these three options block each other
Probably, we could use eselect (add eselect modules to sysvinit/runit/openrc in order to switch system init). In this way we could switch system init and provide scripts/symlinks on halt/reboot/shutdown/killall5 in easy way without re-emerge any packets.
(In reply to William Hubbs from comment #1) > The killprocs service, which is part of the OpenRC shutdown process, has a > hard requirement for killall5, which Is part of sys-apps/sysvinit. That is > the reason for this hard dependency. https://github.com/OpenRC/openrc/commit/44bac3c3798f7eb9186c3ea8774552aa191bfae7 Looks like killprocs service don't require killall5 (for openrc v0.27.2 and later), and use kill_all instead (part of openrc).