Bug#702102: fails to upgrade (cowbuilder) chroot

Thorsten Glaser tg at mirbsd.de
Tue Mar 26 18:48:40 UTC 2013


Chris Knadle dixit:

>+    if [ "$DEB_BUILD_ARCH_OS" = "linux" ] && [ "$USEDEVSHM" = "yes" ]; then
>+       SHM_PATH="run/shm"                                                                                                               
>+       [ ! -d "/$SHM_PATH" ] && SHM_PATH="dev/shm"

This logic is totally and utterly borken.

Correct logic would be:

if outside_os = linux and inside_os = linux and USEDEVSHM:
	if exists CHROOT/run/shm:
		targetdir=run/shm
	else if exists CHROOT/dev/shm:
		targetdir=dev/shm
	else:
		abort
	mount --bind $(realpath /dev/shm) CHROOT/$targetdir

This separates the resolution of /dev/shm outside (Linux)
from the resolution of /dev/shm or /run/shm inside.

I still believe this is not entirely right. If CHROOT/run
exists, it should be populated with a tmpfs, including
creation of subdirectories.

Does CHROOT/dev/shm/. need to be bind-mounted to whatever
/dev/shm/. is outside of the chroot, for the eglibc shm
semantics to work? If not… just mount a tmpfs there, too!

bye,
//mirabilos
-- 
[DJBDNS Zone] TTL 86400 – <Natureshadow> kann man da auch 1d schreiben?
<mirabilos> nö, außerdem kann ein Deutscher oder ein Japaner mit 1d
    ja erstmal nix anfangen, oder könntest du 1日 im zone file lesen?
<Natureshadow> das heißt für mich: ein Regal, das u.U. schiefstehen könnte



More information about the Pbuilder-maint mailing list