On Wed, Nov 30, 2011 at 03:34:42PM -0700, Eric Blake wrote: > 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 f61a243..06c949b 100644 > --- a/libvirt.spec.in > +++ b/libvirt.spec.in > @@ -1082,7 +1082,7 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysctl.d/libvirtd > %{_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/filesystems/ > @@ -1090,24 +1090,24 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysctl.d/libvirtd > %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 ACK, and pushed for 0.9.8-rc1, thanks ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list