[libvirt] [PATCH] spec: mark directories in /var/run as ghosts

Daniel Veillard veillard at redhat.com
Thu Dec 1 03:51:39 UTC 2011


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 at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list