Comment 20 for bug 974584

Steve Langasek (vorlon) wrote :

I think there are the following possible valid end states that we want to get to at the end of the postinst:

 - we're not in a chroot. /dev/shm is bind mounted to /run/shm, with the reboot script handling the fix-up to make /dev/shm a symlink to /run/shm before next boot.
 - we're in a chroot and /dev is not bind mounted. sysvshm should be mounted *somewhere* within the chroot, but we don't know where this will be done and we're not going to do it ourselves. So dictate that this should be /run/shm, and make /dev/shm a symlink there.
 - we're in a chroot and /dev is bind mounted, and /dev/shm is a symlink to /run/shm (because the parent environment is also a recent Debian/Ubuntu release). Make the /run/shm directory.
 - we're in a chroot, /dev is bind mounted, and /dev/shm is also bind mounted. This is not a good situation to be in, because it means that the future correctness of the chroot is dependent on the setup remaining the same on the host system - which it won't if the host system is an older Debian/Ubuntu release that is later upgraded. But we do the best we can for now, and make /run/shm a symlink to /dev/shm.
 - we're in a chroot, /dev/ is bind mounted, and /dev/shm is a non-bind-mounted directory. We can't fix this, so we should just create the /run/shm directory and leave /dev/shm alone.

Does that make sense?