From c4432c79f96394f0a874436fc769f093c6f3bcd5 Mon Sep 17 00:00:00 2001 From: Mark Asselstine Date: Thu, 27 Jun 2013 15:23:34 -0400 Subject: libvirt: switch to use volatile system for directory creation in /var/run 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 Signed-off-by: Bruce Ashfield --- 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 479ce7e1..768ccc8d 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 } -- cgit v1.2.3-54-g00ecf