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@xxxxxxxxxx> --- 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list