Fix tab completion
Resolves: #2104945 Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
This commit is contained in:
parent
6b792a1ff4
commit
d3cb36d296
@ -0,0 +1,69 @@
|
|||||||
|
From 25fd8c707b106ca0763402566ad657ef710bf09e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brad Mouring <brad@the-bradlands.net>
|
||||||
|
Date: Mon, 2 May 2022 22:38:24 -0500
|
||||||
|
Subject: [PATCH] completions: Collapse declaration and attribute assignment
|
||||||
|
|
||||||
|
Previously, the associative arrays for the vendor/subcommands and
|
||||||
|
vendor/functions listings were split into a declaration of type
|
||||||
|
(using "typeset") and attribute definition (using "readonly"). On
|
||||||
|
bash 5.1.16 (at least), this lead to the following error (reported
|
||||||
|
after enabling -xv to expand and print shell inputs)
|
||||||
|
|
||||||
|
...
|
||||||
|
+ . /usr/share/bash-completion/completions/nvme
|
||||||
|
# bash tab completion for the nvme command line utility
|
||||||
|
# (unfortunately, bash won't let me add descriptions to cmds)
|
||||||
|
# Kelly Kaoudis kelly.n.kaoudis at intel.com, Aug. 2015
|
||||||
|
|
||||||
|
# Constant to indicate command has no options
|
||||||
|
readonly NO_OPTS=""
|
||||||
|
++ readonly NO_OPTS=
|
||||||
|
++ NO_OPTS=
|
||||||
|
|
||||||
|
# Associative array of plugins and associated subcommands
|
||||||
|
# Order here is same as PLUGIN_OBJS in Makefile
|
||||||
|
typeset -A _plugin_subcmds
|
||||||
|
++ typeset -A _plugin_subcmds
|
||||||
|
readonly _plugin_subcmds=(
|
||||||
|
[intel]="id-ctrl internal-log lat-stats \
|
||||||
|
...
|
||||||
|
++ _plugin_subcmds=(['intel']='id-ctrl internal-log lat-stats...
|
||||||
|
bash: 'intel': syntax error: operand expected (error token is "'intel'")
|
||||||
|
...
|
||||||
|
|
||||||
|
Using the available flags for "typeset" to declare the variables as
|
||||||
|
readonly arrays resolved the issue (and allows for bash completion
|
||||||
|
to work as-expected)
|
||||||
|
|
||||||
|
Signed-off-by: Brad Mouring <bmouring@gmail.com>
|
||||||
|
---
|
||||||
|
completions/bash-nvme-completion.sh | 6 ++----
|
||||||
|
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/completions/bash-nvme-completion.sh b/completions/bash-nvme-completion.sh
|
||||||
|
index 5e0eb23b..51931bc1 100644
|
||||||
|
--- a/completions/bash-nvme-completion.sh
|
||||||
|
+++ b/completions/bash-nvme-completion.sh
|
||||||
|
@@ -7,8 +7,7 @@ readonly NO_OPTS=""
|
||||||
|
|
||||||
|
# Associative array of plugins and associated subcommands
|
||||||
|
# Order here is same as PLUGIN_OBJS in Makefile
|
||||||
|
-typeset -A _plugin_subcmds
|
||||||
|
-readonly _plugin_subcmds=(
|
||||||
|
+typeset -Ar _plugin_subcmds=(
|
||||||
|
[intel]="id-ctrl internal-log lat-stats \
|
||||||
|
set-bucket-thresholds lat-stats-tracking \
|
||||||
|
market-name smart-log-add temp-stats"
|
||||||
|
@@ -55,8 +54,7 @@ readonly _plugin_subcmds=(
|
||||||
|
)
|
||||||
|
|
||||||
|
# Associative array mapping plugins to coresponding option completions
|
||||||
|
-typeset -A _plugin_funcs
|
||||||
|
-readonly _plugin_funcs=(
|
||||||
|
+typeset -Ar _plugin_funcs=(
|
||||||
|
[intel]="plugin_intel_opts"
|
||||||
|
[amzn]="plugin_amzn_opts"
|
||||||
|
[memblaze]="plugin_memblaze_opts"
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
From eac9f9b70081ff2df2e2ea11efb8fc6ec3754f64 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Evgeny Grin <k2k@narod.ru>
|
||||||
|
Date: Fri, 17 Jun 2022 15:00:39 +0300
|
||||||
|
Subject: [PATCH] bash-nvme-completion.sh: fixed error when sourced twice
|
||||||
|
|
||||||
|
One-line "readonly" with assignment produce error if completion file
|
||||||
|
is sourced for the second time (/etc/profile reload, su etc.)
|
||||||
|
---
|
||||||
|
completions/bash-nvme-completion.sh | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/completions/bash-nvme-completion.sh b/completions/bash-nvme-completion.sh
|
||||||
|
index e5d9ff19..7b8a2121 100644
|
||||||
|
--- a/completions/bash-nvme-completion.sh
|
||||||
|
+++ b/completions/bash-nvme-completion.sh
|
||||||
|
@@ -5,7 +5,8 @@
|
||||||
|
# Kelly Kaoudis kelly.n.kaoudis at intel.com, Aug. 2015
|
||||||
|
|
||||||
|
# Constant to indicate command has no options
|
||||||
|
-readonly NO_OPTS=""
|
||||||
|
+NO_OPTS=""
|
||||||
|
+readonly NO_OPTS
|
||||||
|
|
||||||
|
# Associative array of plugins and associated subcommands
|
||||||
|
# Order here is same as PLUGIN_OBJS in Makefile
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -0,0 +1,26 @@
|
|||||||
|
From 4284d4cc299e8604f898856bdd38fc4979e56586 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Evgeny Grin <k2k@narod.ru>
|
||||||
|
Date: Fri, 17 Jun 2022 15:08:02 +0300
|
||||||
|
Subject: [PATCH] bash-nvme-completion.sh: fixed typo with seagate plugin
|
||||||
|
|
||||||
|
Obvious typo resulted in broken completion for seagete plugin
|
||||||
|
---
|
||||||
|
completions/bash-nvme-completion.sh | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/completions/bash-nvme-completion.sh b/completions/bash-nvme-completion.sh
|
||||||
|
index 7b8a2121..00593b96 100644
|
||||||
|
--- a/completions/bash-nvme-completion.sh
|
||||||
|
+++ b/completions/bash-nvme-completion.sh
|
||||||
|
@@ -940,7 +940,7 @@ plugin_micron_opts () {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-lugin_seagate_opts () {
|
||||||
|
+plugin_seagate_opts () {
|
||||||
|
local opts=""
|
||||||
|
local compargs=""
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
Name: nvme-cli
|
Name: nvme-cli
|
||||||
Version: 2.0
|
Version: 2.0
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: NVMe management command line interface
|
Summary: NVMe management command line interface
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -12,6 +12,9 @@ Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
|||||||
|
|
||||||
#Patch0: nvme-cli-makefile-dont-install-host-params-patch
|
#Patch0: nvme-cli-makefile-dont-install-host-params-patch
|
||||||
Patch0: 0001-nvme-Return-status-error-code-for-effects-log-comman.patch
|
Patch0: 0001-nvme-Return-status-error-code-for-effects-log-comman.patch
|
||||||
|
Patch1: 0002-completions-Collapse-declaration-and-attribute-assig.patch
|
||||||
|
Patch2: 0003-bash-nvme-completion.sh-fixed-error-when-sourced-twi.patch
|
||||||
|
Patch3: 0004-bash-nvme-completion.sh-fixed-typo-with-seagate-plug.patch
|
||||||
|
|
||||||
BuildRequires: meson >= 0.47.0
|
BuildRequires: meson >= 0.47.0
|
||||||
BuildRequires: gcc gcc-c++
|
BuildRequires: gcc gcc-c++
|
||||||
@ -33,7 +36,9 @@ nvme-cli provides NVM-Express user space tooling for Linux.
|
|||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir}
|
%meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir}
|
||||||
@ -90,6 +95,9 @@ if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Aug 29 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.0-4
|
||||||
|
- Fix BZ2104945
|
||||||
|
|
||||||
* Fri Jul 15 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.0-3
|
* Fri Jul 15 2022 Maurizio Lombardi <mlombard@redhat.com> - 2.0-3
|
||||||
- Fix BZ2105742
|
- Fix BZ2105742
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user