aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Asselstine <mark.asselstine@windriver.com>2013-06-27 15:23:34 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2013-06-28 14:05:48 -0400
commitc4432c79f96394f0a874436fc769f093c6f3bcd5 (patch)
tree711436ddbd5b0dd1db11b713bd7fc59adc959fea
parentb6dc9613cda67df165e6d0a058e82ccb33282a1d (diff)
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 <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r--recipes-extended/libvirt/libvirt_1.0.3.bb21
1 files changed, 21 insertions, 0 deletions
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
}