If it does make sense, the implementation that follows is:
if mountpoint -q /dev && mountpoint -q /dev/shm; then
compat_link /dev/shm /run/shm
else
[ -d /run/shm ] || mkdir -p /run/shm
mountpoint -q /dev/ || compat_link /run/shm /dev/shm
fi
BTW, I realize there's another possible scenario, which is that /dev/shm is a bind mount when /dev itself is not. We should probably handle that the same as if they both are (make /run/shm a symlink to /dev/shm), in which case the first check just needs to be "if mountpoint -q /dev/shm".
If it does make sense, the implementation that follows is:
if mountpoint -q /dev && mountpoint -q /dev/shm; then
compat_link /dev/shm /run/shm
else
[ -d /run/shm ] || mkdir -p /run/shm
mountpoint -q /dev/ || compat_link /run/shm /dev/shm
fi
BTW, I realize there's another possible scenario, which is that /dev/shm is a bind mount when /dev itself is not. We should probably handle that the same as if they both are (make /run/shm a symlink to /dev/shm), in which case the first check just needs to be "if mountpoint -q /dev/shm".