
On Fri, Nov 04, 2022 at 10:09:31 -0600, Jim Fehlig wrote:
On 11/4/22 09:22, Martin Kletzander wrote:
On Thu, Nov 03, 2022 at 05:24:18PM +0100, Jiri Denemark wrote:
The libvirt-daemon subpackage contains libvirt-guests.sh script (used by libvirt-guests service), which requires virsh to actually work. But since dynamic libraries were separated from libvirt-client to libvirt-libs more than 6 years ago, libvirt-daemon no longer requires virsh to be installed. So unless libvirt-client is explicitly installed (either manually or by installing the libvirt meta package), libvirt-guests will not work.
Just adding libvirt-client as a dependency of libvirt-daemon would go against the original idea behind splitting libvirt-client: users may not want to install or use any client binaries on the host where the daemon runs (either they just use various language bindings or access the daemon remotely). To solve this we could possibly turn libvirt-daemon into an empty package and separate the daemons and libvirt-guests into subpackages to make sure we support both use cases, but marking libvirt-client as Recommended for libvirt-daemon does the same job in a much simpler way.
Or you could just move the libvirt-guests files to libvirt-client package since they couldn't work without it anyway.
This actually seems like a better approach, especially in the context of modular daemons.
I think installing system services as part of libvirt-client is even stranger than requiring libvirt-client as a dependency of the daemon package. It would make more sense to split the daemon package, separate the monolithic daemon, proxy, and libvirt-guests so that one can only install the parts that are actually needed when using modular daemons, but I think it's quite an overkill for several reasons. First, the monolithic daemon is supposed to completely disappear at some point. And the ancient libvirt-guests service should really be replaced by a solution implemented by the daemons themselves. And not only because the libvirt-guests service may cause a modular daemon to be started when a host is being shut down in case no domain is running. Jirka