From 15dbf094eb90a896ecb73c4c92bed649eb8b5f4c Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Wed, 30 Nov 2011 15:34:42 -0700 Subject: [PATCH 06/13] spec: mark directories in /var/run as ghosts (direct cherry-pick of upstream 764574f to resolve https://bugzilla.redhat.com/show_bug.cgi?id=758896) We have several directories that are created on the fly, and which only contain state relevant to a running libvirtd process (all located in /var/run). Since the directories are created as needed, and make no sense without a running libvirtd, we want them deleted if libvirt is uninstalled. And in F15 and newer, /var/run is on tmpfs (forcing us to recreate on the fly); which means that someone trying to verify a complete rpm will fail if the directory does not currently exist because libvirtd has not been started since boot. The solution, then, is to mark the directories as %ghost, so that rpm knows that we own them and will clean it up if libvirt is uninstalled, but will no longer create the directory for us at install, nor complain at verify time if the directory does not exist. See https://bugzilla.redhat.com/show_bug.cgi?id=656611. * libvirt.spec.in (%files): Add %ghost to temporary directories that we don't install, but want cleaned up on libvirt removal. --- libvirt.spec.in | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index b87e3f6..5cb87fb 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -992,31 +992,31 @@ fi %{_datadir}/libvirt/networks/default.xml %endif -%dir %{_localstatedir}/run/libvirt/ +%ghost %dir %{_localstatedir}/run/libvirt/ %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/ %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/ %dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/ %if %{with_qemu} -%dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/ +%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/ %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ %endif %if %{with_lxc} -%dir %{_localstatedir}/run/libvirt/lxc/ +%ghost %dir %{_localstatedir}/run/libvirt/lxc/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ %endif %if %{with_uml} -%dir %{_localstatedir}/run/libvirt/uml/ +%ghost %dir %{_localstatedir}/run/libvirt/uml/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ %endif %if %{with_libxl} -%dir %{_localstatedir}/run/libvirt/libxl/ +%ghost %dir %{_localstatedir}/run/libvirt/libxl/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ %endif %if %{with_network} -%dir %{_localstatedir}/run/libvirt/network/ +%ghost %dir %{_localstatedir}/run/libvirt/network/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/ %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/ %endif -- 1.7.7.3