Red Hat Bugzilla – Bug 656611
Provide /etc/tmpfiles.d/libvirt.conf so systemd+selinux+libvirt plays nice
Last modified: 2016-03-22 18:50:28 EDT
Your package libvirt appears to include a file in /var/run or /var/lock. With an upcoming change in Rawhide these directories will now be mounted as tmpfs. For details about this change please consult http://lists.fedoraproject.org/pipermail/devel-announce/2010-November/000726.html For your package this means that you need add %ghost to all files that are placed in either of these two directories. Please make sure to make this change in time for the F15 cycle. For details about %ghost see http://www.rpm.org/max-rpm-snapshot/s1-rpm-inside-files-list-directives.html#S3-RPM-INSIDE-FLIST-GHOST-DIRECTIVE , for more information on the F15 feature see the feature page https://fedoraproject.org/wiki/Features/var-run-tmpfs . If your package already uses %ghost on these files, feel free to close this bug report right-away. Sorry for this mass bug filing, and if you have any further questions, don't hesitate to ask on fedora-devel or ask me personally. Thank you, Lennart
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
Upstream patch proposed:
The next build will have this.
Author: Eric Blake <firstname.lastname@example.org>
Date: Wed Nov 30 15:34:42 2011 -0700
spec: mark directories in /var/run as ghosts
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.
* libvirt.spec.in (%files): Add %ghost to temporary directories
that we don't install, but want cleaned up on libvirt removal.
Reopening - see bug 788985 - we also need to add /etc/tmpfiles.d/libvirt.conf when targetting systemd, in order for the temporary directory to get created with correct SELinux labels.
Since this doesn't seem to have caused much issue in practice, and has lingered for a while, moving to the upstream tracker.
I don't think there's actually anything left to do here... AFAIK our current setup hasn't caused any issues