summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-06-11 00:12:21 +0200
committerLennart Poettering <lennart@poettering.net>2014-06-11 00:12:21 +0200
commit9339db7187c61eb7ae7e6ffcddb2b2f2686954eb (patch)
tree0e2e548e623af78908ec86ed70a8e0d375d9a873
parent61147436a37ecf523cf3a08f10d139371a4a55ad (diff)
tmpfiles: always recreate the most basic directory structure in /var
Let's allow booting up with /var empty. Only create the most basic directories to get to a working directory structure and symlink set in /var.
-rw-r--r--Makefile.am3
-rw-r--r--src/tmpfiles/tmpfiles.c2
-rw-r--r--tmpfiles.d/legacy.conf1
-rw-r--r--tmpfiles.d/systemd.conf5
-rw-r--r--tmpfiles.d/var.conf20
5 files changed, 24 insertions, 7 deletions
diff --git a/Makefile.am b/Makefile.am
index c67f0634b1..3ea95e9480 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1725,7 +1725,8 @@ dist_tmpfiles_DATA = \
tmpfiles.d/systemd.conf \
tmpfiles.d/systemd-nologin.conf \
tmpfiles.d/tmp.conf \
- tmpfiles.d/x11.conf
+ tmpfiles.d/x11.conf \
+ tmpfiles.d/var.conf
if HAVE_SYSV_COMPAT
dist_tmpfiles_DATA += \
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index 89f6c6bd15..4c0f23e2ed 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -750,7 +750,7 @@ static int create_item(Item *i) {
}
if (!streq(i->argument, x)) {
- log_error("%s is not the right symlinks.", i->path);
+ log_error("%s is not the right symlink.", i->path);
return -EEXIST;
}
diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf
index a1656873da..32196723f9 100644
--- a/tmpfiles.d/legacy.conf
+++ b/tmpfiles.d/legacy.conf
@@ -11,6 +11,7 @@
# systems.
d /run/lock 0755 root root -
+L /var/lock - - - - ../run/lock
# /run/lock/subsys is used for serializing SysV service execution, and
# hence without use on SysV-less systems.
diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
index 85dc35699d..9554f38d36 100644
--- a/tmpfiles.d/systemd.conf
+++ b/tmpfiles.d/systemd.conf
@@ -10,11 +10,6 @@
d /run/user 0755 root root ~10d
F! /run/utmp 0664 root utmp -
-f /var/log/wtmp 0664 root utmp -
-f /var/log/btmp 0600 root utmp -
-
-d /var/cache/man - - - 30d
-
d /run/systemd/ask-password 0755 root root -
d /run/systemd/seats 0755 root root -
d /run/systemd/sessions 0755 root root -
diff --git a/tmpfiles.d/var.conf b/tmpfiles.d/var.conf
new file mode 100644
index 0000000000..10d2e4965d
--- /dev/null
+++ b/tmpfiles.d/var.conf
@@ -0,0 +1,20 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+# See tmpfiles.d(5) for details
+
+L /var/run - - - - ../run
+
+d /var/log 0755 - - -
+f /var/log/wtmp 0664 root utmp -
+f /var/log/btmp 0600 root utmp -
+
+d /var/cache 0755 - - -
+d /var/cache/man - - - 30d
+
+d /var/lib 0755 - - -
+d /var/spool 0755 - - -