Hi, Quoting Chris Hofstaedtler (2024-05-20 10:38:04) > * Johannes Schauer Marin Rodrigues <jo...@debian.org> [240520 07:35]: > > [..] But maybe it [glibc's postinst] should be doing some > > more involved checks about what PID 1 is? It could then make sure to only > > call > > systemd telinit if systemd is pid 1. [..] > > Well, that would probably suck. Putting the knowledge when to call > telinit, and a specific telinit, into a ton of different things > makes all those things hard to get right, hard to update, the usual. > > I've checked the sysvinit and the systemd implementations now, and > they are not that different. Both try to talk to their respective > pid1 daemons first using their respective communication socket. > > But then, if that doesn't work, they diverge: > - sysvinit's telinit just gives up > - systemd's telinit, *as an explicit fallback*, sends signals. > > systemd's telinit (aka systemctl) helpfully exits if it detects > being in a chroot, before doing any of that. > > IWSTM systemd's telinit could, if called as telinit, not do the > fallback to stick with sysvinit's behaviour? > > As a bonus, sysvinit's telinit could also gain the chroot check, and glibc's > postinst (and other places) can become simpler again.
via irc, jochen also pointed out: telinit could be the component which checks what PID 1 actually is and only do its thing after it confirmed that it is indeed an init system like systemd that is providing PID 1? Thanks! cheers, josch
signature.asc
Description: signature