Bug#1071462: installing/upgrading libc6 does not work in sbuild when systemd is installed as ischroot declines
Chris Hofstaedtler
zeha at debian.org
Mon May 20 09:38:04 BST 2024
* Johannes Schauer Marin Rodrigues <josch at 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
More information about the Pkg-systemd-maintainers
mailing list