Install auto-complete script

This commit is contained in:
Daniil Fedotov 2017-01-16 17:57:42 +00:00
parent bc33f2984b
commit 31dac38fb7
5 changed files with 34 additions and 0 deletions

View File

@ -295,6 +295,8 @@ install-scripts: install-escripts
"$(DESTDIR)$(RMQ_ERLAPP_DIR)/sbin"; \
chmod 0755 "$(DESTDIR)$(RMQ_ERLAPP_DIR)/sbin/$$script"; \
done
$(inst_verbose) cp "$(DEPS_DIR)/rabbitmq_cli/scripts/
# FIXME: We do symlinks to scripts in $(RMQ_ERLAPP_DIR))/sbin but this
# code assumes a certain hierarchy to make relative symlinks.

View File

@ -41,6 +41,7 @@ RabbitMQ is an open source multi-protocol messaging broker.
%define _rabbit_server_ocf scripts/rabbitmq-server.ocf
%define _plugins_state_dir %{_localstatedir}/lib/rabbitmq/plugins
%define _rabbit_server_ha_ocf scripts/rabbitmq-server-ha.ocf
%define _rabbitmqctl_autocomplete scripts/rabbitmqctl-autocomplete
%define _maindir %{buildroot}%{_rabbit_erllibdir}
@ -72,6 +73,7 @@ install -p -D -m 0755 %{S:1} %{buildroot}%{_initrddir}/rabbitmq-server
install -p -D -m 0755 %{_rabbit_server_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
install -p -D -m 0755 %{_rabbit_server_ha_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
install -p -D -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
install -p -d -m 0755 %{_rabbitmqctl_autocomplete} %{buildroot}%{_sysconfdir}/profile.d/rabbitmqctl-autocomplete
mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq
@ -196,6 +198,8 @@ fi
%{_initrddir}/rabbitmq-server
%endif
%{_sysconfdir}/profile.d/rabbitmqctl-autocomplete
%config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server
%doc LICENSE*
%doc README

View File

@ -35,6 +35,9 @@ case "$1" in
if [ -d /etc/rabbitmq ]; then
rm -r /etc/rabbitmq
fi
if [ -f /etc/profile.d/rabbitmqctl-autocomplete ]; then
rm -r /etc/profile.d/rabbitmqctl-autocomplete
fi
remove_plugin_traces
if getent passwd rabbitmq >/dev/null; then
# Stop epmd if run by the rabbitmq user

View File

@ -49,6 +49,9 @@ override_dh_auto_install:
install -p -D -m 0755 scripts/rabbitmq-server-ha.ocf \
$(DEB_DESTDIR)$(PREFIX)/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
install -p -D -m 0755 scripts/rabbitmqctl-autocomplete \
$(DEB_DESTDIR)/etc/profile.d/
rm $(DEB_DESTDIR)$(RMQ_ERLAPP_DIR)/LICENSE* \
$(DEB_DESTDIR)$(RMQ_ERLAPP_DIR)/INSTALL

View File

@ -0,0 +1,22 @@
if which rabbitmqctl; then
if [ -n "$BASH_VERSION" ]; then
_rabbitmqctl_complete() {
COMPREPLY=()
local word="${COMP_WORDS[COMP_CWORD]}"
local completions="$(/usr/lib/rabbitmq/bin/rabbitmqctl --auto-complete "$COMP_LINE")"
COMPREPLY=( $(compgen -W "$completions" -- "$word") )
}
complete -f -F _rabbitmqctl_complete rabbitmqctl
elif [ -n "$ZSH_VERSION" ]; then
_rabbitmqctl_complete() {
local word completions a
read -cl a
word="$1"
completions="$(/usr/lib/rabbitmq/bin/rabbitmqctl --auto-complete "${a}")"
reply=( "${(ps:\n:)completions}" )
}
compctl -f -K _rabbitmqctl_complete rabbitmqctl
fi
fi