On Tue, Apr 20, 2021 at 02:30:33PM +0200, Andrea Bolognani wrote:
The completion script is so tiny that it makes more sense to
potentially have two copies of it on disk than for it to have
its own package.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
libvirt.spec.in | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 0fec79c133..11abbb080e 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
@@ -1296,6 +1290,17 @@ mv
$RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
%endif
%endif
+# Turning these symlinks into regular files allows us to make the
+# -client and -daemon packages, both of which need bash-completion
+# support, completely independent by only paying a tiny price in
+# terms of additional disk usage
+for cmd in virsh virt-admin; do
+ rm -f $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/$cmd
+ cp $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/vsh \
+ $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/$cmd
+done
+rm -f $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/vsh
IMHO this is not good. It results in a "virt-admin" completion
file that installs completions for "virsh", and vica-verca.
If we're going to separate them, then do it properly in the
source build, not the RPM.
+
%check
# Building on slow archs, like emulated s390x in Fedora copr, requires
# raising the test timeout
@@ -1912,9 +1917,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
--
2.26.3
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|