To avoid needlessly installing the monolithic daemon, replace the
libvirt-daemon dependency with libvirt-daemon-common in the primary
drivers.
The qemu and libxl drivers need additional adjustment to break the
dependency on libvirt-daemon. The virtqemud systemd service file
has a hard dependency on virtlogd, hence libvirt-daemon-driver-qemu
must depend on libvirt-daemon-log. The systemd service files of both
drivers currently have a 'Requires' dependency on virtlockd, which
is too strong since virtlockd is not enabled by default in either
driver. Change the dependency to a 'Wants' to avoid a pacakge
dependency between libvirt-daemon-driver-{libxl,qemu} and
libvirt-daemon-lock.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
libvirt.spec.in | 10 ++++++----
src/libxl/virtxend.service.in | 2 +-
src/qemu/virtqemud.service.in | 2 +-
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 4c39555ca9..fb318ad599 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -749,7 +749,8 @@ parted and more.
%if %{with_qemu}
%package daemon-driver-qemu
Summary: QEMU driver plugin for the libvirtd daemon
-Requires: libvirt-daemon = %{version}-%{release}
+Requires: libvirt-daemon-common = %{version}-%{release}
+Requires: libvirt-daemon-log = %{version}-%{release}
Requires: libvirt-libs = %{version}-%{release}
Requires: /usr/bin/qemu-img
# For image compression
@@ -775,7 +776,8 @@ QEMU
%if %{with_lxc}
%package daemon-driver-lxc
Summary: LXC driver plugin for the libvirtd daemon
-Requires: libvirt-daemon = %{version}-%{release}
+Requires: libvirt-daemon-common = %{version}-%{release}
+Requires: libvirt-daemon-log = %{version}-%{release}
Requires: libvirt-libs = %{version}-%{release}
# There really is a hard cross-driver dependency here
Requires: libvirt-daemon-driver-network = %{version}-%{release}
@@ -795,7 +797,7 @@ the Linux kernel
%if %{with_vbox}
%package daemon-driver-vbox
Summary: VirtualBox driver plugin for the libvirtd daemon
-Requires: libvirt-daemon = %{version}-%{release}
+Requires: libvirt-daemon-common = %{version}-%{release}
Requires: libvirt-libs = %{version}-%{release}
%description daemon-driver-vbox
@@ -807,7 +809,7 @@ VirtualBox
%if %{with_libxl}
%package daemon-driver-libxl
Summary: Libxl driver plugin for the libvirtd daemon
-Requires: libvirt-daemon = %{version}-%{release}
+Requires: libvirt-daemon-common = %{version}-%{release}
Requires: libvirt-libs = %{version}-%{release}
Obsoletes: libvirt-daemon-driver-xen < 4.3.0
diff --git a/src/libxl/virtxend.service.in b/src/libxl/virtxend.service.in
index 6b083c414f..9171d4fdf8 100644
--- a/src/libxl/virtxend.service.in
+++ b/src/libxl/virtxend.service.in
@@ -1,10 +1,10 @@
[Unit]
Description=Virtualization xen daemon
Conflicts=libvirtd.service
-Requires=virtlockd.socket
Requires=virtxend.socket
Requires=virtxend-ro.socket
Requires=virtxend-admin.socket
+Wants=virtlockd.socket
After=network.target
After=dbus.service
After=apparmor.service
diff --git a/src/qemu/virtqemud.service.in b/src/qemu/virtqemud.service.in
index 9ae3f01fa0..315359e287 100644
--- a/src/qemu/virtqemud.service.in
+++ b/src/qemu/virtqemud.service.in
@@ -2,10 +2,10 @@
Description=Virtualization qemu daemon
Conflicts=libvirtd.service
Requires=virtlogd.socket
-Requires=virtlockd.socket
Requires=virtqemud.socket
Requires=virtqemud-ro.socket
Requires=virtqemud-admin.socket
+Wants=virtlockd.socket
Wants=systemd-machined.service
After=network.target
After=dbus.service
--
2.38.1