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@xxxxxxxxxx> > --- > 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 :|