[libvirt] [PATCH 1/2] spec: Split libvirt-client

Michal Privoznik mprivozn at redhat.com
Fri Jul 1 10:04:08 UTC 2016


Currently, we have libvirt-client library which serves as a
collection point for all the libraries and client binaries we
have. Therefore we have couple of silly dependencies, for
instance libvirt-daemon depends on libvirt-client. Only because
the shared library is in the client package.
To solve this, new package libvirt-libs is introduced where all
the libraries are going to live. The client package is then set
to depend on this new package, just like the rest of packages
that suffer the same problem.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 libvirt.spec.in | 74 ++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 42 insertions(+), 32 deletions(-)

diff --git a/libvirt.spec.in b/libvirt.spec.in
index 106351c..8d4df50 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -256,6 +256,7 @@ Requires: libvirt-daemon-driver-storage = %{version}-%{release}
 Requires: libvirt-daemon-driver-network = %{version}-%{release}
 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
 Requires: libvirt-client = %{version}-%{release}
+Requires: libvirt-libs = %{version}-%{release}
 
 # All build-time requirements. Run-time requirements are
 # listed against each sub-RPM
@@ -430,8 +431,8 @@ Group: Development/Libraries
 # All runtime requirements for the libvirt package (runtime requrements
 # for subpackages are listed later in those subpackages)
 
-# The client side, i.e. shared libs and virsh are in a subpackage
-Requires: %{name}-client = %{version}-%{release}
+# The client side, i.e. shared libs are in a subpackage
+Requires: %{name}-libs = %{version}-%{release}
 
 # for modprobe of pci devices
 Requires: module-init-tools
@@ -822,13 +823,11 @@ capabilities of VirtualBox
 %endif
 
 %package client
-Summary: Client side library and utilities of the libvirt library
+Summary: Client side utilities of the libvirt library
 Group: Development/Libraries
+Requires: %{name}-libs = %{version}-%{release}
 Requires: readline
 Requires: ncurses
-# So remote clients can access libvirt over SSH tunnel
-# (client invokes 'nc' against the UNIX socket on the server)
-Requires: nc
 # Needed by /usr/libexec/libvirt-guests.sh script.
 Requires: gettext
 # Needed by virt-pki-validate script.
@@ -837,21 +836,31 @@ Requires: gnutls-utils
 # Needed for probing the power management features of the host.
 Requires: pm-utils
 %endif
+
+%description client
+The client binaries needed to access to the virtualization
+capabilities of recent versions of Linux (and other OSes).
+
+%package libs
+Summary: Client side libraries
+Group: Development/Libraries
+# So remote clients can access libvirt over SSH tunnel
+# (client invokes 'nc' against the UNIX socket on the server)
+Requires: nc
 Requires: cyrus-sasl
 # Not technically required, but makes 'out-of-box' config
 # work correctly & doesn't have onerous dependencies
 Requires: cyrus-sasl-md5
 
-%description client
-Shared libraries and client binaries needed to access to the
-virtualization capabilities of recent versions of Linux (and other OSes).
+%description libs
+Shared libraries for accessing the libvirt daemon.
 
 %if %{with_wireshark}
 %package wireshark
 Summary: Wireshark dissector plugin for libvirt RPC transactions
 Group: Development/Libraries
 Requires: wireshark >= 1.12.6-4
-Requires: %{name}-client = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
 
 %description wireshark
 Wireshark dissector plugin for better analysis of libvirt RPC traffic.
@@ -861,7 +870,7 @@ Wireshark dissector plugin for better analysis of libvirt RPC traffic.
 %package login-shell
 Summary: Login shell for connecting users to an LXC container
 Group: Development/Libraries
-Requires: %{name}-client = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
 
 %description login-shell
 Provides the set-uid virt-login-shell binary that is used to
@@ -872,7 +881,7 @@ namespaces.
 %package devel
 Summary: Libraries, includes, etc. to compile with the libvirt library
 Group: Development/Libraries
-Requires: %{name}-client = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
 Requires: pkgconfig
 
 %description devel
@@ -886,7 +895,7 @@ Requires: sanlock >= 2.4
 #for virt-sanlock-cleanup require augeas
 Requires: augeas
 Requires: %{name}-daemon = %{version}-%{release}
-Requires: %{name}-client = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
 
 %description lock-sanlock
 Includes the Sanlock lock manager plugin for the QEMU
@@ -1741,11 +1750,7 @@ exit 0
 %attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper
 %endif
 
-%files client -f %{name}.lang
-%doc COPYING COPYING.LESSER
-
-%config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
-%config(noreplace) %{_sysconfdir}/libvirt/libvirt-admin.conf
+%files client
 %{_mandir}/man1/virsh.1*
 %{_mandir}/man1/virt-admin.1*
 %{_mandir}/man1/virt-xml-validate.1*
@@ -1756,17 +1761,31 @@ exit 0
 %{_bindir}/virt-xml-validate
 %{_bindir}/virt-pki-validate
 %{_bindir}/virt-host-validate
+
+%{_datadir}/systemtap/tapset/libvirt_probes*.stp
+%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
+%{_datadir}/systemtap/tapset/libvirt_functions.stp
+
+
+%if %{with_systemd}
+%{_unitdir}/libvirt-guests.service
+%else
+%{_sysconfdir}/rc.d/init.d/libvirt-guests
+%endif
+%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
+%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
+
+%files libs -f %{name}.lang
+%doc COPYING COPYING.LESSER
+%config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
+%config(noreplace) %{_sysconfdir}/libvirt/libvirt-admin.conf
 %{_libdir}/libvirt.so.*
 %{_libdir}/libvirt-qemu.so.*
 %{_libdir}/libvirt-lxc.so.*
 %{_libdir}/libvirt-admin.so.*
-
-%{_datadir}/systemtap/tapset/libvirt_probes*.stp
-%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
-%{_datadir}/systemtap/tapset/libvirt_functions.stp
-
 %dir %{_datadir}/libvirt/
 %dir %{_datadir}/libvirt/schemas/
+%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
 
 %{_datadir}/libvirt/schemas/basictypes.rng
 %{_datadir}/libvirt/schemas/capability.rng
@@ -1787,15 +1806,6 @@ exit 0
 %{_datadir}/libvirt/cpu_map.xml
 %{_datadir}/libvirt/libvirtLogo.png
 
-%if %{with_systemd}
-%{_unitdir}/libvirt-guests.service
-%else
-%{_sysconfdir}/rc.d/init.d/libvirt-guests
-%endif
-%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
-%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
-%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
-
 %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
 
 %if %{with_wireshark}
-- 
2.8.4




More information about the libvir-list mailing list