[PATCH 0/7] spec: Decompose the daemon subpackage

Andrea Bolognani abologna at redhat.com
Sun Dec 11 17:46:06 UTC 2022


On Fri, Dec 02, 2022 at 05:17:31PM -0700, Jim Fehlig wrote:
> The libvirt-daemon package still contains the following files, which likely
> need to move somewhere since they are needed by the modular daemons too.
>
> %{_unitdir}/virt-guest-shutdown.target
> I thought of moving this to the libs package, but that would be a change
> for installations with only libvirt-client. AFAICT, it's used by
> libvirt-guests and the qemu and lxc drivers.

IIUC this basically acts as a synchronization point during shutdown:
no guest will be torn down before it has been reached, and the daemon
will not be shut down either. On a default install, this is where
libvirt-guests.service would have a chance to perform the ON_SHUTDOWN
action, but the local admin or management application can replace
that with their own custom implementation.

> %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
> Another file related to remote access. Should it go to libvirt-libs?

This configures the remote side of the connection.

> %ghost %dir %{_rundir}/libvirt/
> %ghost %dir %{_rundir}/libvirt/common/
> %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
> %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
> %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
> %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
> %dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
> %dir %attr(0755, root, root) %{_libdir}/libvirt/
> %dir %attr(0755, root, root) %{_libdir}/libvirt/connection-driver/
> These files and directories are needed by the modular daemons as well,
> right? Where should they go? libvirt-daemon-<hypervisor> or
> libvirt-daemon-driver-<hypervisor>?

Server-side, and not specific to any hypervisor.

> %{_datadir}/polkit-1/actions/org.libvirt.unix.policy
> %{_datadir}/polkit-1/actions/org.libvirt.api.policy
> %{_datadir}/polkit-1/rules.d/50-libvirt.rules
> More files related to access. libvirt-libs?

These are for access to a local daemon, not remote access. And again
it's the server configuring what clients should be allowed to connect
to it.


Assuming I've gotten all of the above right :) then it seems to me
that all these files need to go in one of the server-side packages.

I think we should just have a libvirt-daemon-common package that
includes what you currently have put into the libvirt-daemon-client
package plus these files, and have all hypervisor drivers depend on
it directly. Which would basically keep things as they are: right now
installing libvirt-daemon-driver-qemu results in these files begin
present because they're part of the libvirt-daemon package, and after
this change the same would be true except for the monolithic daemon
not coming along for the ride.

-- 
Andrea Bolognani / Red Hat / Virtualization



More information about the libvir-list mailing list