udev: move /run volatile entry to udev instead of initscripts
authorRoss Burton <ross.burton@intel.com>
Tue, 26 Mar 2013 16:18:28 +0000 (16:18 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 26 Mar 2013 22:43:05 +0000 (22:43 +0000)
initscripts is generally installed on systemd-using images, but because it
specifies that /run is a symlink to /var/run managed by volatiles it totally
breaks systemd by copying/deleting /run from underneath systemd.  Deleting
sockets mid-boot doesn't leave systemd in a happy place.

As this volatile reference of /run was introduced by udev 182, move it's
reference to the udev recipe.  This way it will never be present on systemd
images, as systemd manages /run as a tmpfs itself.

(From OE-Core rev: 5b0257e318340c2d6c8d3b0c3fa32272d6e9526b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/initscripts/initscripts-1.0/volatiles
meta/recipes-core/udev/udev.inc
meta/recipes-core/udev/udev/volatiles [new file with mode: 0644]

index f0c796c..270f128 100644 (file)
@@ -35,4 +35,3 @@ f root root 0664 /var/log/wtmp none
 f root root 0664 /var/run/utmp none
 l root root 0644 /etc/resolv.conf /var/run/resolv.conf
 f root root 0644 /var/run/resolv.conf none
-l root root 0755 /run /var/run
index bd82c34..e358d2d 100644 (file)
@@ -27,7 +27,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
            file://local.rules \
            file://udev-cache \
            file://udev-cache.default \
-           file://init"
+           file://init \
+           file://volatiles"
 
 inherit autotools pkgconfig update-rc.d
 
@@ -81,6 +82,9 @@ do_install_append () {
        install -d ${D}${sysconfdir}/default
        install -m 0755 ${WORKDIR}/udev-cache.default ${D}${sysconfdir}/default/udev-cache
 
+       install -d ${D}${sysconfdir}/default/volatiles
+       install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/00_udev
+
        touch ${D}${sysconfdir}/udev/cache.data
 
        install -d ${D}${sysconfdir}/udev/rules.d/
diff --git a/meta/recipes-core/udev/udev/volatiles b/meta/recipes-core/udev/udev/volatiles
new file mode 100644 (file)
index 0000000..e33561b
--- /dev/null
@@ -0,0 +1 @@
+l root root 0755 /run /var/run