[libvirt] [PATCH 1/2] spec: Split libvirt-client
Andrea Bolognani
abologna at redhat.com
Mon Jul 4 12:26:17 UTC 2016
On Fri, 2016-07-01 at 12:04 +0200, Michal Privoznik wrote:
> 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(-)
Not an RPM expert, but I'm gonna give this a go nonetheless :)
> 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}
Can't we just call it libvirt? libvirt-libs is kinda awkward.
Oh, nevermind: the libvirt package already exists, and drags
in everything. I guess libvirt-libs is the only option then.
> # 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).
s/to access to/to access/
> +%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}
Looks good otherwise.
ACK with the typo fixed, although you might want to wait
for someone with more RPM expertise to have a look :)
--
Andrea Bolognani / Red Hat / Virtualization
More information about the libvir-list
mailing list