Package: initscripts Version: 2.93-1 In /usr/share/doc/initscripts/README.Debian it is documented that /tmp could be a symlink to (for example) /run/tmp. This feature was implemented in version 2.88dsf-13.3 (see https://salsa.debian.org/debian/sysvinit/commit/3bec14850 ).
But currently it does not work, because bootclean.sh happens to run before mountall.sh and chokes on a broken symlink. Another issue is that mount_tmp() function creates the pointed-to directory with the 755 mode, which is wrong for /tmp. The following is a possible patch to fix these two problems (first posted and discussed here: http://www.chiark.greenend.org.uk/pipermail/debian-init-diversity/2018-December/000544.html ): --- debian/src/initscripts/lib/init/bootclean.sh | 2 ++ debian/src/initscripts/lib/init/mount-functions.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/src/initscripts/lib/init/bootclean.sh b/debian/src/initscripts/lib/init/bootclean.sh index 67e15a66..55f1c8b2 100644 --- a/debian/src/initscripts/lib/init/bootclean.sh +++ b/debian/src/initscripts/lib/init/bootclean.sh @@ -52,6 +52,8 @@ checkflagfile() } clean_tmp() { + # Will be created by mount_tmp() + [ -L /tmp ] && [ -d /tmp ] || return 0 # Does not exist [ -d /tmp ] || return 1 # tmpfs does not require cleaning diff --git a/debian/src/initscripts/lib/init/mount-functions.sh b/debian/src/initscripts/lib/init/mount-functions.sh index e453f6a8..cd09883f 100644 --- a/debian/src/initscripts/lib/init/mount-functions.sh +++ b/debian/src/initscripts/lib/init/mount-functions.sh @@ -627,7 +627,7 @@ mount_tmp () # If /tmp is a symlink, make sure the linked-to directory exists. if [ -L /tmp ] && [ ! -d /tmp ]; then TMPPATH="$(readlink /tmp)" - mkdir -p --mode=755 "$TMPPATH" + mkdir -p --mode="$TMP_MODE" "$TMPPATH" [ -x /sbin/restorecon ] && /sbin/restorecon "$TMPPATH" fi

