提交 08327dff 编写于 作者: M Michal Privoznik

tools: Make symlinks to vsh bash-completion script

The bash-completion project documents that only those scripts
from $BASH_COMPLETIONS_DIR that share name with the current
command for which <TAB> was hit are loaded [1]. This means, that
vsh script we have there is not loaded. We have to create
symlinks for virsh and virt-admin.

At the same time, we have to create new RPM package because
virt-admin and client packages are independent. That means we
cannot place the vsh script in either of them. What we can do is
to have a different package that contains the completion script
and then virt-admin and client packages contain only the symlink
and require the bash-completion package.

1: https://github.com/scop/bash-completion#faqSigned-off-by: NMichal Privoznik <mprivozn@redhat.com>
上级 74f044ac
...@@ -1017,6 +1017,9 @@ Requires: gnutls-utils ...@@ -1017,6 +1017,9 @@ Requires: gnutls-utils
# Needed for probing the power management features of the host. # Needed for probing the power management features of the host.
Requires: pm-utils Requires: pm-utils
%endif %endif
%if %{with_bash_completion}
Requires: %{name}-bash-completion = %{version}-%{release}
%endif
%description client %description client
The client binaries needed to access the virtualization The client binaries needed to access the virtualization
...@@ -1041,10 +1044,22 @@ Summary: Set of tools to control libvirt daemon ...@@ -1041,10 +1044,22 @@ Summary: Set of tools to control libvirt daemon
Group: Development/Libraries Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
Requires: readline Requires: readline
%if %{with_bash_completion}
Requires: %{name}-bash-completion = %{version}-%{release}
%endif
%description admin %description admin
The client side utilities to control the libvirt daemon. The client side utilities to control the libvirt daemon.
%if %{with_bash_completion}
%package bash-completion
Summary: Bash completion script
Group: Development/Libraries
%description bash-completion
Bash completion script stub.
%endif
%if %{with_wireshark} %if %{with_wireshark}
%package wireshark %package wireshark
Summary: Wireshark dissector plugin for libvirt RPC transactions Summary: Wireshark dissector plugin for libvirt RPC transactions
...@@ -2059,7 +2074,7 @@ exit 0 ...@@ -2059,7 +2074,7 @@ exit 0
%{_datadir}/systemtap/tapset/libvirt_functions.stp %{_datadir}/systemtap/tapset/libvirt_functions.stp
%if %{with_bash_completion} %if %{with_bash_completion}
%{_datadir}/bash-completion/completions/vsh %{_datadir}/bash-completion/completions/virsh
%endif %endif
...@@ -2111,7 +2126,14 @@ exit 0 ...@@ -2111,7 +2126,14 @@ exit 0
%files admin %files admin
%{_mandir}/man1/virt-admin.1* %{_mandir}/man1/virt-admin.1*
%{_bindir}/virt-admin %{_bindir}/virt-admin
%if %{with_bash_completion}
%{_datadir}/bash-completion/completions/virt-admin
%endif
%if %{with_bash_completion}
%files bash-completion
%{_datadir}/bash-completion/completions/vsh
%endif
%if %{with_wireshark} %if %{with_wireshark}
%files wireshark %files wireshark
......
...@@ -424,9 +424,14 @@ install-bash-completion: ...@@ -424,9 +424,14 @@ install-bash-completion:
$(MKDIR_P) "$(DESTDIR)$(BASH_COMPLETIONS_DIR)" $(MKDIR_P) "$(DESTDIR)$(BASH_COMPLETIONS_DIR)"
$(INSTALL_SCRIPT) $(srcdir)/bash-completion/vsh \ $(INSTALL_SCRIPT) $(srcdir)/bash-completion/vsh \
"$(DESTDIR)$(BASH_COMPLETIONS_DIR)/vsh" "$(DESTDIR)$(BASH_COMPLETIONS_DIR)/vsh"
( cd $(DESTDIR)$(BASH_COMPLETIONS_DIR) && \
$(LN_S) vsh virsh && \
$(LN_S) vsh virt-admin )
uninstall-bash-completion: uninstall-bash-completion:
rm -f $(DESTDIR)$(BASH_COMPLETIONS_DIR)/vsh rm -f $(DESTDIR)$(BASH_COMPLETIONS_DIR)/vsh \
$(DESTDIR)$(BASH_COMPLETIONS_DIR)/virsh \
$(DESTDIR)$(BASH_COMPLETIONS_DIR)/virt-admin
rmdir $(DESTDIR)$(BASH_COMPLETIONS_DIR) ||: rmdir $(DESTDIR)$(BASH_COMPLETIONS_DIR) ||:
else ! WITH_BASH_COMPLETION else ! WITH_BASH_COMPLETION
install-bash-completion: install-bash-completion:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册