* 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. Chris