From: Frederic Crozat Date: Mon, 29 Oct 2012 13:01:20 +0000 Subject: restore /var/run and /var/lock bind mount if they aren't symlink --- Makefile.am | 9 +++++++++ units/var-lock.mount | 19 +++++++++++++++++++ units/var-run.mount | 19 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 units/var-lock.mount create mode 100644 units/var-run.mount diff --git a/Makefile.am b/Makefile.am index 8730f66..b8cf696 100644 --- a/Makefile.am +++ b/Makefile.am @@ -409,6 +409,12 @@ dist_systemunit_DATA = \ units/system-update.target \ units/initrd-switch-root.target +if HAVE_SYSV_COMPAT +dist_systemunit_DATA += \ + units/var-run.mount \ + units/var-lock.mount +endif + nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ @@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service +LOCAL_FS_TARGET_WANTS += \ + var-run.mount \ + var-lock.mount endif SHUTDOWN_TARGET_WANTS += \ systemd-update-utmp-shutdown.service diff --git a/units/var-lock.mount b/units/var-lock.mount new file mode 100644 index 0000000..07277ad --- /dev/null +++ b/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Lock Directory +Before=local-fs.target +# skip mounting if the directory does not exist or is a symlink +ConditionPathIsDirectory=/var/lock +ConditionPathIsSymbolicLink=!/var/lock + +[Mount] +What=/run/lock +Where=/var/lock +Type=bind +Options=bind diff --git a/units/var-run.mount b/units/var-run.mount new file mode 100644 index 0000000..ab4da42 --- /dev/null +++ b/units/var-run.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Runtime Directory +Before=local-fs.target +# skip mounting if the directory does not exist or is a symlink +ConditionPathIsDirectory=/var/run +ConditionPathIsSymbolicLink=!/var/run + +[Mount] +What=/run +Where=/var/run +Type=bind +Options=bind