pbuilder issue which is related to systemd

Martin Pitt mpitt at debian.org
Wed Dec 24 08:34:07 GMT 2014


Hey Daniel,

Daniel Schepler [2014-12-23 13:54 -0800]:
> I was wondering if you could take a look at #773765 and provide your input
> on it.  Basically, if you create a new pbuilder chroot and then try to use
> it to build libxshmfence, it's failing because it doesn't have a working
> shm filesystem in the chroot.  The cause is that the chroot gets systemd
> installed instead of sysvinit, and the systemd package doesn't include any
> /run/shm directory (or symlink).  So, when pbuilder tries to mount a tmpfs
> on <chroot>/run/shm that fails.

The init system (systemd-sysv vs. sysvinit) is largely irrelevant
here. The binary package which sets up /dev/shm vs. /run/shm for
chroots is "initscripts" (sysvinit source), and more recent versions
removed a lot of the old postinst magic to handle the gazillion
possible combinations of {dev,run}/shm being a symlink or a directory.
In Ubuntu we already had funny bugs like
https://launchpad.net/bugs/1399772 or https://launchpad.net/bugs/1389891
which Ubuntu now handles in the initscript postinst. I didn't forward
these to Debian as there is still no real consensus how the layout
should be :/

> The pbuilder maintainers are saying this is a bug in systemd, as the /run
> release goal says the system should have /run/shm with /dev/shm being a
> compatibility/ABI symlink to it.

IMHO /run/shm was a really bad idea, but that's a different topic.
/run must never be an actual directory, it must be a tmpfs mount.
Usually the init system sets this up, but as init doesn't run in
schroot, pbuilder, and friends, it's the job of those *chroot
construction packages to set it up. schroot does, maybe pbuilder
doesn't always set this up?

Anyway, I think this is between pbuilder and initscripts to negotiate
what package sets up which directory. I think initscripts should
either create a /dev/shm directory and all init systems and
schroot/pbuilder etc. mount tmpfs there, or we stick to the weird
debianism of /run/shm and then initscripts sets up /dev/shm → /run/shm
and schroot/pbuilder etc. mout a tmpfs there.

Thanks,

Martin

-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)




More information about the Pkg-systemd-maintainers mailing list