[libvirt PATCH v4 0/7] spec: Reorganize some packages

Changes from [v3]: * generate per-command bash completion scripts using Meson instead of tweaking the contents after the fact for RPM build; * update documentation as files are moved around and packages are dropped. Changes from [v2]: * move virt-admin to -daemon rather than -client; * move other host-only tools from -client to -daemon; * move systemtap probes from -client to -libs. Changes from [v1]: * add Obsoletes/Provides for a smooth transition. [v3] https://listman.redhat.com/archives/libvir-list/2021-April/msg00900.html [v2] https://listman.redhat.com/archives/libvir-list/2021-April/msg00613.html [v1] https://listman.redhat.com/archives/libvir-list/2021-April/msg00604.html Andrea Bolognani (7): docs: Use consistent vertical spacing docs: Expand upon the contents of the -daemon package spec: Merge -admin package into -daemon spec: Move some files from -client to -daemon spec: Move systemtap probes from -client to -libs tools: Generate per-command bash completion script spec: Drop -bash-completion package docs/kbase/rpm-deployment.rst | 55 ++++--------------- libvirt.spec.in | 76 ++++++++++----------------- tools/bash-completion/meson.build | 24 +++++---- tools/bash-completion/{vsh => vsh.in} | 7 ++- 4 files changed, 54 insertions(+), 108 deletions(-) rename tools/bash-completion/{vsh => vsh.in} (91%) -- 2.26.3

Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- docs/kbase/rpm-deployment.rst | 35 +---------------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) diff --git a/docs/kbase/rpm-deployment.rst b/docs/kbase/rpm-deployment.rst index 568cf5b3eb..c580c52e79 100644 --- a/docs/kbase/rpm-deployment.rst +++ b/docs/kbase/rpm-deployment.rst @@ -34,14 +34,12 @@ RPM packages reconfigured on a running daemon without a restart. This is recommended to be installed on any host running a libvirt daemon. - * libvirt-bash-completion Argument auto-completion support for the Bash shell. This is shared code that is pulled in by either the libvirt-admin or libvirt-clients RPMs, so there is no need to explicitly ask for this package to be installed. - * libvirt-client The virsh tool, used for interacting with any libvirt driver, both primary @@ -49,14 +47,12 @@ RPM packages installs should have this installed as it provides a useful way to view and debug what is being done by other applications using libvirt. - * libvirt-daemon The monolithic libvirtd daemon, traditionally used for running all the stateful drivers. This package does not contain any drivers, so further packages need to be installed to provide the desired drivers. - * libvirt-daemon-config-network The sample configuration file providing the 'default' virtual network that @@ -64,7 +60,6 @@ RPM packages on desktop installations, but is not typically desired on server installations where VMs will use full bridged connectivity. - * libvirt-daemon-config-nwfilter The sample configuration files providing the network filters for protecting @@ -72,14 +67,12 @@ RPM packages MAC and IP spoofing. This is typically desired on server installations, if the mgmt app is using libvirt's network filtering features. - * libvirt-daemon-driver-interface The dynamically loadable driver providing an implementation of the host network interface management APIs, as well as the virtinterfaced daemon binary. - * libvirt-daemon-driver-libxl The dynamically loadable driver providing an implementation of the hypervisor @@ -89,13 +82,11 @@ RPM packages Note that this is a minimal package so does not actually pull in the full Xen hypervisor package set. This be must requested separately. - * libvirt-daemon-driver-lxc The dynamically loadable driver providing an implementation of the hypervisor APIs for Linux containers, as well as the virtlxcd daemon binary. - * libvirt-daemon-driver-network The dynamically loadable driver providing an implementation of the virtual @@ -103,20 +94,17 @@ RPM packages binary. Typically the libvirt-daemon-config-network RPM will also be desired when this is installed. - * libvirt-daemon-driver-nodedev The dynamically loadable driver providing an implementation of the host device management APIs, as well as the virtnodedevd daemon binary. - * libvirt-daemon-driver-nwfilter The dynamically loadable driver providing an implementation of the host network firewall management APIs, as well as the virtnwfilterd daemon binary. - * libvirt-daemon-driver-qemu The dynamically loadable driver providing an implementation of the hypervisor @@ -126,12 +114,11 @@ RPM packages Note that this is a minimal package so does not actually pull in the full QEMU or KVM package set. This be must requested separately. - * libvirt-daemon-driver-secret + The dynamically loadable driver providing an implementation of the secret data management APIs, as well as the virtsecretd daemon binary. - * libvirt-daemon-driver-storage This is an empty package that exists only as a convenient way to request @@ -141,7 +128,6 @@ RPM packages a smaller install footprint can be obtained by requesting the individual drivers. - * libvirt-daemon-driver-storage-core The dynamically loadable driver providing an implementation of the host @@ -151,74 +137,62 @@ RPM packages Note that this is a minimal package so does not actually pull in any pool implementations. - * libvirt-daemon-driver-storage-disk The dynamically loadable driver providing an implementation of the disk partition storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-storage-gluster The dynamically loadable driver providing an implementation of the GlusterFS file storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-storage-iscsi The dynamically loadable driver providing an implementation of the ISCSI disk storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-storage-iscsi-direct The dynamically loadable driver providing an implementation of the ISCSI network storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-storage-logical The dynamically loadable driver providing an implementation of the LVM storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-storage-mpath The dynamically loadable driver providing an implementation of the multipath disk storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-storage-rbd The dynamically loadable driver providing an implementation of the RBD network storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-storage-scsi The dynamically loadable driver providing an implementation of the SCSI disk storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-storage-sheepdog The dynamically loadable driver providing an implementation of the SheepDog network storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-storage-zfs The dynamically loadable driver providing an implementation of the ZFS file storage pool type, for the storage pool management APIs. - * libvirt-daemon-driver-vbox The dynamically loadable driver providing an implementation of the host network interface management APIs, as well as the virtinterfaced daemon binary. - * libvirt-daemon-kvm This is an empty package that exists only as a convenient way to request @@ -235,7 +209,6 @@ RPM packages features, the subset of libvirt-daemon-driver-XXX packages should be used instead. - * libvirt-daemon-lxc This is an empty package that exists only as a convenient way to request @@ -249,7 +222,6 @@ RPM packages features, the subset of libvirt-daemon-driver-XXX packages should be used instead. - * libvirt-daemon-qemu This is an empty package that exists only as a convenient way to request @@ -266,7 +238,6 @@ RPM packages features, the subset of libvirt-daemon-driver-XXX packages should be used instead. - * libvirt-daemon-vbox This is an empty package that exists only as a convenient way to request @@ -280,7 +251,6 @@ RPM packages features, the subset of libvirt-daemon-driver-XXX packages should be used instead. - * libvirt-daemon-xen This is an empty package that exists only as a convenient way to request @@ -297,7 +267,6 @@ RPM packages features, the subset of libvirt-daemon-driver-XXX packages should be used instead. - * libvirt-devel The header files required to build applications, or language bindings against @@ -327,14 +296,12 @@ RPM packages A simple login shell that automatically spawns an LXC container for the user logging in and places them in a shell inside that container. - * libvirt-nss A NSS plugin that provides hostname resolution for guests attached to a libvirt virtual network. It is recommended to be installed on any host with guests using the libvirt virtual network connectivity. - * libvirt-wireshark A wireshark plugin that allows for dissecting the XDR based RPC protocol used -- 2.26.3

It doesn't only contain the libvirtd binary. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- docs/kbase/rpm-deployment.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/kbase/rpm-deployment.rst b/docs/kbase/rpm-deployment.rst index c580c52e79..2563142a50 100644 --- a/docs/kbase/rpm-deployment.rst +++ b/docs/kbase/rpm-deployment.rst @@ -53,6 +53,10 @@ RPM packages stateful drivers. This package does not contain any drivers, so further packages need to be installed to provide the desired drivers. + In addition to the libvirtd daemon this package also contains the virtlogd, + virtlockd and virtproxyd daemons, plus a number of helpers, configuration + files and other bits necessary to create and admin a virtualization host. + * libvirt-daemon-config-network The sample configuration file providing the 'default' virtual network that -- 2.26.3

It's useful to have virt-admin around when debugging issues with libvirtd, and since it's a tiny binary we can simply include it in the -daemon package to ensure it's always going to be available when needed. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- docs/kbase/rpm-deployment.rst | 12 +++++------- libvirt.spec.in | 24 +++++++++++------------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/docs/kbase/rpm-deployment.rst b/docs/kbase/rpm-deployment.rst index 2563142a50..cc2a4eb288 100644 --- a/docs/kbase/rpm-deployment.rst +++ b/docs/kbase/rpm-deployment.rst @@ -27,13 +27,6 @@ RPM packages every other libvirt RPM package. Almost every deployment scenario would be better served by picking one of the other RPMs listed below. -* libvirt-admin - - The virt-admin tool, used for administrative operations on any libvirt - daemons. Most usefully it allows for logging filters and outputs to be - reconfigured on a running daemon without a restart. This is recommended - to be installed on any host running a libvirt daemon. - * libvirt-bash-completion Argument auto-completion support for the Bash shell. This is shared code that @@ -57,6 +50,11 @@ RPM packages virtlockd and virtproxyd daemons, plus a number of helpers, configuration files and other bits necessary to create and admin a virtualization host. + The virt-admin tool, also included in this package, is used for + administrative operations on any libvirt daemons. Most usefully it allows + for logging filters and outputs to be reconfigured on a running daemon + without a restart. + * libvirt-daemon-config-network The sample configuration file providing the 'default' virtual network that diff --git a/libvirt.spec.in b/libvirt.spec.in index f9af330186..db88b1bf3d 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -430,6 +430,9 @@ Summary: Server side daemon and supporting files for libvirt library # The client side, i.e. shared libs are in a subpackage Requires: %{name}-libs = %{version}-%{release} +# bash completion support for virt-admin +Requires: %{name}-bash-completion = %{version}-%{release} + # (client invokes 'nc' against the UNIX socket on the server) Requires: /usr/bin/nc @@ -461,6 +464,10 @@ Requires: dbus # For uid creation during pre Requires(pre): shadow-utils +# Ensure smooth upgrades +Obsoletes: libvirt-admin < 7.3.0 +Provides: libvirt-admin + %description daemon Server side daemon required to manage the virtualization capabilities of recent versions of Linux. Requires a hypervisor specific sub-RPM @@ -918,14 +925,6 @@ Requires: cyrus-sasl-gssapi %description libs Shared libraries for accessing the libvirt daemon. -%package admin -Summary: Set of tools to control libvirt daemon -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-bash-completion = %{version}-%{release} - -%description admin -The client side utilities to control the libvirt daemon. - %package bash-completion Summary: Bash completion script @@ -1589,12 +1588,16 @@ exit 0 %attr(0755, root, root) %{_sbindir}/virtlogd %attr(0755, root, root) %{_sbindir}/virtlockd +%{_mandir}/man1/virt-admin.1* %{_mandir}/man8/libvirtd.8* %{_mandir}/man8/virtlogd.8* %{_mandir}/man8/virtlockd.8* %{_mandir}/man8/virtproxyd.8* %{_mandir}/man7/virkey*.7* +%{_bindir}/virt-admin +%{_datadir}/bash-completion/completions/virt-admin + %files daemon-config-network %dir %{_datadir}/libvirt/networks/ %{_datadir}/libvirt/networks/default.xml @@ -1911,11 +1914,6 @@ exit 0 %{_datadir}/libvirt/test-screenshot.png -%files admin -%{_mandir}/man1/virt-admin.1* -%{_bindir}/virt-admin -%{_datadir}/bash-completion/completions/virt-admin - %files bash-completion %{_datadir}/bash-completion/completions/vsh -- 2.26.3

The -client package's purpose is enabling remote machines to connect to a virtualization host, but the virt-host-validate and libvirt-guests tools are designed to be run directly on the virtualization host and as such are a better fit for the -daemon package. With this change, installing and removing the -client package no longer needs to touch the systemd configuration. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- libvirt.spec.in | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index db88b1bf3d..35e7219006 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -463,6 +463,8 @@ Requires: numad Requires: dbus # For uid creation during pre Requires(pre): shadow-utils +# Needed by /usr/libexec/libvirt-guests.sh script. +Requires: gettext # Ensure smooth upgrades Obsoletes: libvirt-admin < 7.3.0 @@ -904,8 +906,6 @@ capabilities of VirtualBox %package client Summary: Client side utilities of the libvirt library Requires: %{name}-libs = %{version}-%{release} -# Needed by /usr/libexec/libvirt-guests.sh script. -Requires: gettext # Needed by virt-pki-validate script. Requires: gnutls-utils Requires: %{name}-bash-completion = %{version}-%{release} @@ -1326,6 +1326,7 @@ exit 0 %systemd_post libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket %systemd_post libvirtd-tcp.socket libvirtd-tls.socket %systemd_post libvirtd.service +%systemd_post libvirt-guests.service # request daemon restart in posttrans mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || : @@ -1337,6 +1338,7 @@ touch %{_localstatedir}/lib/rpm-state/libvirt/restart || : %systemd_preun libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket %systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service %systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service +%systemd_preun libvirt-guests.service %postun daemon /bin/systemctl daemon-reload >/dev/null 2>&1 || : @@ -1344,6 +1346,7 @@ if [ $1 -ge 1 ] ; then /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || : /bin/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || : fi +%systemd_postun libvirt-guests.service # In upgrade scenario we must explicitly enable virtlockd/virtlogd # sockets, if libvirtd is already enabled and start them if @@ -1488,16 +1491,6 @@ fi exit 0 %endif -%preun client - -%systemd_preun libvirt-guests.service - -%post client -%systemd_post libvirt-guests.service - -%postun client -%systemd_postun libvirt-guests.service - %if %{with_lxc} %pre login-shell getent group virtlogin >/dev/null || groupadd -r virtlogin @@ -1533,6 +1526,7 @@ exit 0 %{_unitdir}/virtlockd.service %{_unitdir}/virtlockd.socket %{_unitdir}/virtlockd-admin.socket +%{_unitdir}/libvirt-guests.service %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd %config(noreplace) %{_sysconfdir}/sysconfig/virtproxyd %config(noreplace) %{_sysconfdir}/sysconfig/virtlogd @@ -1542,6 +1536,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf %config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf +%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests %config(noreplace) %{_prefix}/lib/sysctl.d/60-libvirtd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd @@ -1587,14 +1582,17 @@ exit 0 %attr(0755, root, root) %{_sbindir}/virtproxyd %attr(0755, root, root) %{_sbindir}/virtlogd %attr(0755, root, root) %{_sbindir}/virtlockd +%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh %{_mandir}/man1/virt-admin.1* +%{_mandir}/man1/virt-host-validate.1* %{_mandir}/man8/libvirtd.8* %{_mandir}/man8/virtlogd.8* %{_mandir}/man8/virtlockd.8* %{_mandir}/man8/virtproxyd.8* %{_mandir}/man7/virkey*.7* +%{_bindir}/virt-host-validate %{_bindir}/virt-admin %{_datadir}/bash-completion/completions/virt-admin @@ -1877,11 +1875,9 @@ exit 0 %{_mandir}/man1/virsh.1* %{_mandir}/man1/virt-xml-validate.1* %{_mandir}/man1/virt-pki-validate.1* -%{_mandir}/man1/virt-host-validate.1* %{_bindir}/virsh %{_bindir}/virt-xml-validate %{_bindir}/virt-pki-validate -%{_bindir}/virt-host-validate %{_datadir}/systemtap/tapset/libvirt_probes*.stp %{_datadir}/systemtap/tapset/libvirt_functions.stp @@ -1891,11 +1887,6 @@ exit 0 %{_datadir}/bash-completion/completions/virsh - -%{_unitdir}/libvirt-guests.service -%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests -%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh - %files libs -f %{name}.lang %license COPYING COPYING.LESSER %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf -- 2.26.3

Any application that uses the libraries can take advantage of the systemtap probes, so they should be shipped in the -libs package rather than in -client. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- libvirt.spec.in | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index 35e7219006..6d2206633f 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -1879,12 +1879,6 @@ exit 0 %{_bindir}/virt-xml-validate %{_bindir}/virt-pki-validate -%{_datadir}/systemtap/tapset/libvirt_probes*.stp -%{_datadir}/systemtap/tapset/libvirt_functions.stp -%if %{with_qemu} -%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp -%endif - %{_datadir}/bash-completion/completions/virsh %files libs -f %{name}.lang @@ -1899,6 +1893,12 @@ exit 0 %dir %{_datadir}/libvirt/schemas/ %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/ +%{_datadir}/systemtap/tapset/libvirt_probes*.stp +%{_datadir}/systemtap/tapset/libvirt_functions.stp +%if %{with_qemu} +%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp +%endif + %{_datadir}/libvirt/schemas/*.rng %{_datadir}/libvirt/cpu_map/*.xml -- 2.26.3

The current setup uses a single script that is symlinked twice and that tries to configure bash completion for both virsh and virt-admin, even if only one of them is installed. This also forces us to have a -bash-completion RPM package that only contains the tiny shared file. Rework bash completion support so that two scripts are generated, each one tailored to a specific command. Since the shared script no longer exists after this change, the corresponding RPM package becomes empty. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- libvirt.spec.in | 3 --- tools/bash-completion/meson.build | 24 ++++++++++++++---------- tools/bash-completion/{vsh => vsh.in} | 7 +++---- 3 files changed, 17 insertions(+), 17 deletions(-) rename tools/bash-completion/{vsh => vsh.in} (91%) diff --git a/libvirt.spec.in b/libvirt.spec.in index 6d2206633f..76af267681 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -1905,9 +1905,6 @@ exit 0 %{_datadir}/libvirt/test-screenshot.png -%files bash-completion -%{_datadir}/bash-completion/completions/vsh - %if %{with_wireshark} %files wireshark %{wireshark_plugindir}/libvirt.so diff --git a/tools/bash-completion/meson.build b/tools/bash-completion/meson.build index 8924c93adf..deda7c4f46 100644 --- a/tools/bash-completion/meson.build +++ b/tools/bash-completion/meson.build @@ -1,11 +1,15 @@ -install_data('vsh', install_dir: bash_completion_dir) +completion_commands = [ + 'virsh', + 'virt-admin', +] -meson.add_install_script( - meson_python_prog.path(), python3_prog.path(), meson_install_symlink_prog.path(), - bash_completion_dir, 'vsh', 'virsh', -) - -meson.add_install_script( - meson_python_prog.path(), python3_prog.path(), meson_install_symlink_prog.path(), - bash_completion_dir, 'vsh', 'virt-admin', -) +foreach command : completion_commands + completion_conf = configuration_data() + completion_conf.set('command', command) + completion = configure_file( + input: 'vsh.in', + output: command, + configuration: completion_conf, + ) + install_data(completion, install_dir: bash_completion_dir) +endforeach diff --git a/tools/bash-completion/vsh b/tools/bash-completion/vsh.in similarity index 91% rename from tools/bash-completion/vsh rename to tools/bash-completion/vsh.in index bbb25fc3eb..8dde38474f 100644 --- a/tools/bash-completion/vsh +++ b/tools/bash-completion/vsh.in @@ -1,8 +1,8 @@ # -# virsh & virt-admin completion command +# @command@ completion support # -_vsh_complete() +_@command@_complete() { local words cword c=0 i=0 cur RO URI CMDLINE INPUT A @@ -62,7 +62,6 @@ _vsh_complete() __ltrim_colon_completions "$cur" return 0 } && -complete -o default -o filenames -F _vsh_complete virsh && -complete -o default -o filenames -F _vsh_complete virt-admin +complete -o default -o filenames -F _@command@_complete @command@ # vim: ft=sh:et:ts=4:sw=4:tw=80 -- 2.26.3

It's now empty, so no point in keeping it around. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- docs/kbase/rpm-deployment.rst | 6 ------ libvirt.spec.in | 14 ++++---------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/docs/kbase/rpm-deployment.rst b/docs/kbase/rpm-deployment.rst index cc2a4eb288..7b3bbfefe8 100644 --- a/docs/kbase/rpm-deployment.rst +++ b/docs/kbase/rpm-deployment.rst @@ -27,12 +27,6 @@ RPM packages every other libvirt RPM package. Almost every deployment scenario would be better served by picking one of the other RPMs listed below. -* libvirt-bash-completion - - Argument auto-completion support for the Bash shell. This is shared code that - is pulled in by either the libvirt-admin or libvirt-clients RPMs, so there is - no need to explicitly ask for this package to be installed. - * libvirt-client The virsh tool, used for interacting with any libvirt driver, both primary diff --git a/libvirt.spec.in b/libvirt.spec.in index 76af267681..b7359b3763 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -430,9 +430,6 @@ Summary: Server side daemon and supporting files for libvirt library # The client side, i.e. shared libs are in a subpackage Requires: %{name}-libs = %{version}-%{release} -# bash completion support for virt-admin -Requires: %{name}-bash-completion = %{version}-%{release} - # (client invokes 'nc' against the UNIX socket on the server) Requires: /usr/bin/nc @@ -469,6 +466,7 @@ Requires: gettext # Ensure smooth upgrades Obsoletes: libvirt-admin < 7.3.0 Provides: libvirt-admin +Obsoletes: libvirt-bash-completion < 7.3.0 %description daemon Server side daemon required to manage the virtualization capabilities @@ -908,7 +906,9 @@ Summary: Client side utilities of the libvirt library Requires: %{name}-libs = %{version}-%{release} # Needed by virt-pki-validate script. Requires: gnutls-utils -Requires: %{name}-bash-completion = %{version}-%{release} + +# Ensure smooth upgrades +Obsoletes: libvirt-bash-completion < 7.3.0 %description client The client binaries needed to access the virtualization @@ -925,12 +925,6 @@ Requires: cyrus-sasl-gssapi %description libs Shared libraries for accessing the libvirt daemon. -%package bash-completion -Summary: Bash completion script - -%description bash-completion -Bash completion script stub. - %if %{with_wireshark} %package wireshark Summary: Wireshark dissector plugin for libvirt RPC transactions -- 2.26.3

On Tue, Apr 20, 2021 at 1:13 PM Andrea Bolognani <abologna@redhat.com> wrote:
Changes from [v3]:
* generate per-command bash completion scripts using Meson instead of tweaking the contents after the fact for RPM build;
* update documentation as files are moved around and packages are dropped.
Changes from [v2]:
* move virt-admin to -daemon rather than -client;
* move other host-only tools from -client to -daemon;
* move systemtap probes from -client to -libs.
Changes from [v1]:
* add Obsoletes/Provides for a smooth transition.
[v3] https://listman.redhat.com/archives/libvir-list/2021-April/msg00900.html [v2] https://listman.redhat.com/archives/libvir-list/2021-April/msg00613.html [v1] https://listman.redhat.com/archives/libvir-list/2021-April/msg00604.html
Andrea Bolognani (7): docs: Use consistent vertical spacing docs: Expand upon the contents of the -daemon package spec: Merge -admin package into -daemon spec: Move some files from -client to -daemon spec: Move systemtap probes from -client to -libs tools: Generate per-command bash completion script spec: Drop -bash-completion package
docs/kbase/rpm-deployment.rst | 55 ++++--------------- libvirt.spec.in | 76 ++++++++++----------------- tools/bash-completion/meson.build | 24 +++++---- tools/bash-completion/{vsh => vsh.in} | 7 ++- 4 files changed, 54 insertions(+), 108 deletions(-) rename tools/bash-completion/{vsh => vsh.in} (91%)
-- 2.26.3
Series LGTM. Reviewed-by: Neal Gompa <ngompa13@gmail.com> -- 真実はいつも一つ!/ Always, there's only one truth!

On 4/20/21 7:13 PM, Andrea Bolognani wrote:
Changes from [v3]:
* generate per-command bash completion scripts using Meson instead of tweaking the contents after the fact for RPM build;
* update documentation as files are moved around and packages are dropped.
Changes from [v2]:
* move virt-admin to -daemon rather than -client;
* move other host-only tools from -client to -daemon;
* move systemtap probes from -client to -libs.
Changes from [v1]:
* add Obsoletes/Provides for a smooth transition.
[v3] https://listman.redhat.com/archives/libvir-list/2021-April/msg00900.html [v2] https://listman.redhat.com/archives/libvir-list/2021-April/msg00613.html [v1] https://listman.redhat.com/archives/libvir-list/2021-April/msg00604.html
Andrea Bolognani (7): docs: Use consistent vertical spacing docs: Expand upon the contents of the -daemon package spec: Merge -admin package into -daemon spec: Move some files from -client to -daemon spec: Move systemtap probes from -client to -libs tools: Generate per-command bash completion script spec: Drop -bash-completion package
docs/kbase/rpm-deployment.rst | 55 ++++--------------- libvirt.spec.in | 76 ++++++++++----------------- tools/bash-completion/meson.build | 24 +++++---- tools/bash-completion/{vsh => vsh.in} | 7 ++- 4 files changed, 54 insertions(+), 108 deletions(-) rename tools/bash-completion/{vsh => vsh.in} (91%)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal
participants (3)
-
Andrea Bolognani
-
Michal Privoznik
-
Neal Gompa