[meta-virtualization] [PATCH] libvirt: switch to use volatile system for directory creation in /var/run

Mark Asselstine mark.asselstine at windriver.com
Thu Jun 27 12:23:34 PDT 2013


libvirt relies on its Makefile's install rules to create several
directories in /var/run/libvirt. The use of ALLOW_EMPTY_ allows these
to be included in the RPM, however, they are cleared out at boot by
the volatile system. This causes issues since the libvirt runtime does
not check for the existence of these directories prior to attempting
to create files in them, resulting in errors. Here we add to the
volatiles allowing the required directories to be created at boot or
when the volatiles are updated.

Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
---
 recipes-extended/libvirt/libvirt_1.0.3.bb | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/recipes-extended/libvirt/libvirt_1.0.3.bb b/recipes-extended/libvirt/libvirt_1.0.3.bb
index 479ce7e..768ccc8 100644
--- a/recipes-extended/libvirt/libvirt_1.0.3.bb
+++ b/recipes-extended/libvirt/libvirt_1.0.3.bb
@@ -150,4 +150,25 @@ do_install_append() {
 	# This will wind up in the libvirtd package, but will NOT be invoked by default.
 	#
 	mv ${D}/${libexecdir}/libvirt-guests.sh ${D}/${sysconfdir}/init.d
+
+	# The /var/run/libvirt directories created by the Makefile
+	# are wiped out in volatile, we need to create these at boot.
+	rm -rf ${D}${localstatedir}/run
+	install -d ${D}${sysconfdir}/default/volatiles
+	echo "d root root 0755 ${localstatedir}/run/libvirt none" \
+	     > ${D}${sysconfdir}/default/volatiles/99_libvirt
+	echo "d root root 0755 ${localstatedir}/run/libvirt/lockd none" \
+	     >> ${D}${sysconfdir}/default/volatiles/99_libvirt
+	echo "d root root 0755 ${localstatedir}/run/libvirt/lxc none" \
+	     >> ${D}${sysconfdir}/default/volatiles/99_libvirt
+	echo "d root root 0755 ${localstatedir}/run/libvirt/network none" \
+	     >> ${D}${sysconfdir}/default/volatiles/99_libvirt
+	echo "d root root 0755 ${localstatedir}/run/libvirt/qemu none" \
+	     >> ${D}${sysconfdir}/default/volatiles/99_libvirt
+}
+
+pkg_postinst_libvirt() {
+        if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
+                /etc/init.d/populate-volatile.sh update
+        fi
 }
-- 
1.8.1.2




More information about the meta-virtualization mailing list