summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2012-10-31 10:53:37 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2012-10-31 17:38:41 -0500
commitc73173ae5389e1a82aaebf2b4503ec7af32052fb (patch)
treeecb2b41dc8249292388e2b09588b6dc4e11f9c18
parent2964fc47f1da9b038b5ae4870c5fa9a78c5d2065 (diff)
downloadopenrc-c73173ae5389e1a82aaebf2b4503ec7af32052fb.tar.gz
openrc-c73173ae5389e1a82aaebf2b4503ec7af32052fb.tar.bz2
openrc-c73173ae5389e1a82aaebf2b4503ec7af32052fb.tar.xz
Tmpfiles: create and delete entries once in the boot runlevel.
Initially, we were creating tmpfiles entries in the sysinit runlevel and again in the boot runlevel. Systemd runs the --create and --remove options in one service called systemd-tmpfiles-setup after the local file systems are mounted. Now we have a service called tmpfiles.setup which emulates this. This also closes the bug mentioned below, since we were originally writing to files that were on read-only file systems and that were not available. Reported-by: <devurandom@gmx.net> X-Gentoo-Bug: 439012 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=439012
-rw-r--r--conf.d/Makefile2
-rw-r--r--conf.d/tmpfiles (renamed from conf.d/tmpfilesd)0
-rw-r--r--init.d/.gitignore3
-rw-r--r--init.d/Makefile3
-rw-r--r--init.d/tmpfiles.setup.in (renamed from init.d/tmpfilesd.boot.in)6
-rw-r--r--init.d/tmpfilesd.sysinit.in20
-rw-r--r--runlevels/Makefile4
7 files changed, 8 insertions, 30 deletions
diff --git a/conf.d/Makefile b/conf.d/Makefile
index 1f28967..24db589 100644
--- a/conf.d/Makefile
+++ b/conf.d/Makefile
@@ -1,5 +1,5 @@
DIR= ${CONFDIR}
-CONF= bootmisc fsck hostname localmount netmount urandom tmpfilesd \
+CONF= bootmisc fsck hostname localmount netmount urandom tmpfiles \
${CONF-${OS}}
ifeq (${MKNET},)
diff --git a/conf.d/tmpfilesd b/conf.d/tmpfiles
index c3f208f..c3f208f 100644
--- a/conf.d/tmpfilesd
+++ b/conf.d/tmpfiles
diff --git a/init.d/.gitignore b/init.d/.gitignore
index 515348b..c42cd77 100644
--- a/init.d/.gitignore
+++ b/init.d/.gitignore
@@ -41,5 +41,4 @@ syslogd
termencoding
ttys
wscons
-tmpfilesd.boot
-tmpfilesd.sysinit
+tmpfiles.setup
diff --git a/init.d/Makefile b/init.d/Makefile
index 54e5fd5..04e09a7 100644
--- a/init.d/Makefile
+++ b/init.d/Makefile
@@ -1,8 +1,7 @@
DIR= ${INITDIR}
SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in netmount.in \
root.in savecache.in swap.in swapfiles.in \
- tmpfilesd.boot.in tmpfilesd.sysinit.in \
- swclock.in sysctl.in urandom.in ${SRCS-${OS}}
+ tmpfiles.setup.in swclock.in sysctl.in urandom.in ${SRCS-${OS}}
BIN= ${OBJS}
# Build our old net foo or not
diff --git a/init.d/tmpfilesd.boot.in b/init.d/tmpfiles.setup.in
index 471c128..a3ecd31 100644
--- a/init.d/tmpfilesd.boot.in
+++ b/init.d/tmpfiles.setup.in
@@ -2,7 +2,7 @@
# Copyright 1999-2012 Gentoo Foundation
# Released under the 2-clause BSD license.
-description="Create tmpfiles.d entries (boot)"
+description="set up tmpfiles.d entries"
depend()
{
@@ -11,8 +11,8 @@ depend()
start()
{
- ebegin "Creating ${description#Create }"
- @LIBEXECDIR@/sh/tmpfiles.sh --create ${tmpfiles_opts}
+ ebegin "setting up tmpfiles.d entries"
+ @LIBEXECDIR@/sh/tmpfiles.sh --create --remove ${tmpfiles_opts}
eend $?
return 0
}
diff --git a/init.d/tmpfilesd.sysinit.in b/init.d/tmpfilesd.sysinit.in
deleted file mode 100644
index 303a1cf..0000000
--- a/init.d/tmpfilesd.sysinit.in
+++ /dev/null
@@ -1,20 +0,0 @@
-#!@PREFIX@/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
-# Released under the 2-clause BSD license.
-
-description="Create tmpfiles.d entries (sysinit)"
-
-depend()
-{
- # Convert to 'need dev' when the new udev is ready, for OpenRC 0.11
- #need dev-mount
- use dev
-}
-
-start()
-{
- ebegin "Creating ${description#Create }"
- @LIBEXECDIR@/sh/tmpfiles.sh --create ${tmpfiles_opts}
- eend $?
- return 0
-}
diff --git a/runlevels/Makefile b/runlevels/Makefile
index a4fd006..e459d15 100644
--- a/runlevels/Makefile
+++ b/runlevels/Makefile
@@ -38,9 +38,9 @@ BOOT-FreeBSD+= hostid newsyslog savecore syslogd
# FreeBSD specific stuff
BOOT-FreeBSD+= adjkerntz dumpon syscons
-BOOT-Linux+= hwclock keymaps modules mtab procfs termencoding tmpfilesd.boot
+BOOT-Linux+= hwclock keymaps modules mtab procfs termencoding tmpfiles.setup
SHUTDOWN-Linux= killprocs mount-ro
-SYSINIT-Linux= devfs dmesg sysfs tmpfilesd.sysinit
+SYSINIT-Linux= devfs dmesg sysfs
# Generic BSD stuff
BOOT-NetBSD+= hostid newsyslog savecore syslogd