Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b68767989 | ||
|
|
08d796bb5a | ||
|
|
cf593b1d1d | ||
|
|
5d7a9ab739 | ||
|
|
c791897dc5 |
9 changed files with 182 additions and 215 deletions
20
.gitignore
vendored
20
.gitignore
vendored
|
|
@ -22,23 +22,3 @@
|
|||
/nvme-cli-2.0-rc6.tar.gz
|
||||
/nvme-cli-2.0-rc8.tar.gz
|
||||
/nvme-cli-2.0.tar.gz
|
||||
/nvme-cli-2.1-rc0.tar.gz
|
||||
/nvme-cli-2.1.1.tar.gz
|
||||
/nvme-cli-2.1.2.tar.gz
|
||||
/nvme-cli-2.2.tar.gz
|
||||
/nvme-cli-2.2.1.tar.gz
|
||||
/nvme-cli-2.3.tar.gz
|
||||
/nvme-cli-2.4.tar.gz
|
||||
/nvme-cli-2.5.tar.gz
|
||||
/nvme-cli-2.6.tar.gz
|
||||
/nvme-cli-2.7.1.tar.gz
|
||||
/nvme-cli-2.8.tar.gz
|
||||
/nvme-cli-2.9.1.tar.gz
|
||||
/nvme-cli-2.10.tar.gz
|
||||
/nvme-cli-2.10.2.tar.gz
|
||||
/nvme-cli-2.11.tar.gz
|
||||
/nvme-cli-2.12.tar.gz
|
||||
/nvme-cli-2.13.tar.gz
|
||||
/nvme-cli-2.14.tar.gz
|
||||
/nvme-cli-2.15.tar.gz
|
||||
/nvme-cli-2.16.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ "$1" == nbft* ]] && [[ "$2" == "up" ]]; then
|
||||
systemctl start nvmf-connect-nbft.service
|
||||
fi
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# Boot from NVMe over TCP (NBFT)
|
||||
#
|
||||
# For NVMe/TCP connections that provide namespaces containing rootfs
|
||||
# it is crucial to react on carrier events and reconnect any missing
|
||||
# NVMe/TCP connections as defined in the ACPI NBFT table. A custom
|
||||
# /usr/lib/NetworkManager/dispatcher.d/99-nvme-nbft-connect.sh hook
|
||||
# will respawn nvmf-connect-nbft.service on such occasion.
|
||||
|
||||
[device-nbft-no-ignore-carrier]
|
||||
|
||||
# only affects nbft0, nbft1, ... interfaces
|
||||
match-device=interface-name:nbft*
|
||||
|
||||
# react on link up/down events
|
||||
ignore-carrier=no
|
||||
208
nvme-cli.spec
208
nvme-cli.spec
|
|
@ -1,36 +1,35 @@
|
|||
# RHEL 8 compatibility
|
||||
%{!?version_no_tilde: %define version_no_tilde %{shrink:%(echo '%{version}' | tr '~' '-')}}
|
||||
|
||||
%global nmlibdir %{_prefix}/lib/NetworkManager
|
||||
|
||||
Name: nvme-cli
|
||||
Version: 2.16
|
||||
Release: 1%{?dist}
|
||||
Version: 2.0
|
||||
Release: 2%{?dist}
|
||||
Summary: NVMe management command line interface
|
||||
|
||||
License: GPL-2.0-only
|
||||
License: GPLv2+
|
||||
URL: https://github.com/linux-nvme/nvme-cli
|
||||
Source0: %{url}/archive/v%{version_no_tilde}/%{name}-%{version_no_tilde}.tar.gz
|
||||
Source1: 99-nvme-nbft-connect.sh
|
||||
Source2: 99-nvme-nbft-no-ignore-carrier.conf
|
||||
|
||||
BuildRequires: meson >= 0.53
|
||||
BuildRequires: meson >= 0.47.0
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: gcc gcc-c++
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: openssl-devel
|
||||
%if (0%{?rhel} == 0) || (0%{?rhel} > 9)
|
||||
BuildRequires: kernel-headers
|
||||
%endif
|
||||
|
||||
BuildRequires: libnvme-devel >= 1.16.1
|
||||
BuildRequires: libnvme-devel >= 1.0
|
||||
BuildRequires: json-c-devel >= 0.14
|
||||
|
||||
BuildRequires: python3-nose2
|
||||
BuildRequires: python3-mypy
|
||||
BuildRequires: python3-flake8
|
||||
BuildRequires: python3-autopep8
|
||||
BuildRequires: python3-isort
|
||||
BuildRequires: asciidoc
|
||||
BuildRequires: xmlto
|
||||
|
||||
Requires: util-linux
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2115983
|
||||
# backport of bash completion fixes from git master
|
||||
Patch0: nvme-cli_2.1-completions_Collapse_declaration_and_attribute_assignment.patch
|
||||
Patch1: nvme-cli_2.1-bash-nvme-completion.sh_fixed_error_when_sourced_twice.patch
|
||||
Patch2: nvme-cli_2.1-bash-nvme-completion.sh_fixed_typo_with_seagate_plugin.patch
|
||||
Patch3: nvme-cli_2.1-bash-nvme-completion.sh_a_better_fix_for_readonly_with_bash_5x.patch
|
||||
|
||||
|
||||
%description
|
||||
|
|
@ -41,22 +40,15 @@ nvme-cli provides NVM-Express user space tooling for Linux.
|
|||
|
||||
|
||||
%build
|
||||
%meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Dpdc-enabled=false -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir}
|
||||
%meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir}
|
||||
%meson_build
|
||||
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
%{__install} -pm 644 README.md %{buildroot}%{_pkgdocdir}
|
||||
mkdir -p $RPM_BUILD_ROOT%{nmlibdir}/dispatcher.d
|
||||
mkdir -p $RPM_BUILD_ROOT%{nmlibdir}/conf.d
|
||||
%{__install} -pm 755 %{SOURCE1} $RPM_BUILD_ROOT%{nmlibdir}/dispatcher.d/
|
||||
%{__install} -pm 644 %{SOURCE2} $RPM_BUILD_ROOT%{nmlibdir}/conf.d/
|
||||
|
||||
# hostid and hostnqn are supposed to be unique per machine. We obviously
|
||||
# can't package them.
|
||||
# nvme-stas ships the stas-config@.service that will take care
|
||||
# of generating these files if missing. See rhbz 2065886#c19
|
||||
rm -f %{buildroot}%{_sysconfdir}/nvme/hostid
|
||||
rm -f %{buildroot}%{_sysconfdir}/nvme/hostnqn
|
||||
|
||||
|
|
@ -68,172 +60,40 @@ mv %{buildroot}%{_pkgdocdir}/nvme %{buildroot}%{_pkgdocdir}/html
|
|||
rm -rf %{buildroot}%{_pkgdocdir}/nvme
|
||||
|
||||
|
||||
%post
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_systemd
|
||||
%systemd_post nvmefc-boot-connections.service
|
||||
%systemd_post nvmf-autoconnect.service
|
||||
%systemd_post nvmf-connect@.service
|
||||
%systemd_post nvmf-connect-nbft.service
|
||||
if [ -S /run/udev/control ]; then
|
||||
udevadm control --reload
|
||||
udevadm trigger
|
||||
fi
|
||||
|
||||
%preun
|
||||
%systemd_preun nvmefc-boot-connections.service
|
||||
%systemd_preun nvmf-autoconnect.service
|
||||
%systemd_preun nvmf-connect@.service
|
||||
%systemd_preun nvmf-connect-nbft.service
|
||||
|
||||
%postun
|
||||
%systemd_postun nvmefc-boot-connections.service
|
||||
%systemd_postun nvmf-autoconnect.service
|
||||
%systemd_postun nvmf-connect@.service
|
||||
%systemd_postun nvmf-connect-nbft.service
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%doc %{_pkgdocdir}
|
||||
%{_sbindir}/nvme
|
||||
%{_mandir}/man1/nvme*.gz
|
||||
%{_datadir}/bash-completion/completions/nvme
|
||||
%{_datadir}/zsh/site-functions/_nvme
|
||||
%dir %{_sysconfdir}/nvme
|
||||
%config(noreplace) %{_sysconfdir}/nvme/discovery.conf
|
||||
%{_sysconfdir}/nvme/discovery.conf
|
||||
%{_unitdir}/nvmefc-boot-connections.service
|
||||
%{_unitdir}/nvmf-autoconnect.service
|
||||
%{_unitdir}/nvmf-connect.target
|
||||
%{_unitdir}/nvmf-connect@.service
|
||||
%{_unitdir}/nvmf-connect-nbft.service
|
||||
%{_udevrulesdir}/65-persistent-net-nbft.rules
|
||||
%{_udevrulesdir}/70-nvmf-autoconnect.rules
|
||||
%{_udevrulesdir}/70-nvmf-keys.rules
|
||||
%{_udevrulesdir}/71-nvmf-netapp.rules
|
||||
%{_udevrulesdir}/71-nvmf-vastdata.rules
|
||||
%{_udevrulesdir}/71-nvmf-hpe.rules
|
||||
%{_udevrulesdir}/71-nvmf-iopolicy-netapp.rules
|
||||
# Do not install the dracut rule yet. See rhbz 1742764
|
||||
# /usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf
|
||||
%{nmlibdir}/dispatcher.d/99-nvme-nbft-connect.sh
|
||||
%{nmlibdir}/conf.d/99-nvme-nbft-no-ignore-carrier.conf
|
||||
|
||||
|
||||
%post
|
||||
if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then
|
||||
if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
|
||||
echo $(nvme gen-hostnqn) > %{_sysconfdir}/nvme/hostnqn
|
||||
fi
|
||||
if [ ! -s %{_sysconfdir}/nvme/hostid ]; then
|
||||
uuidgen > %{_sysconfdir}/nvme/hostid
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Dec 04 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.16-1
|
||||
- Update to 2.16
|
||||
|
||||
* Fri Aug 15 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.15-2
|
||||
- Fix nvme-list JSON output compatibility
|
||||
- Rename 71-nvme-hpe.rules to 71-nvmf-hpe.rules
|
||||
|
||||
* Fri Jul 25 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.15-1
|
||||
- Update to 2.15
|
||||
|
||||
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Wed Jul 09 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.14-1
|
||||
- Update to 2.14
|
||||
- Disable Persistent Discovery Controllers by default
|
||||
|
||||
* Fri Apr 11 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.13-1
|
||||
- Update to 2.13
|
||||
|
||||
* Mon Mar 17 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.12-1
|
||||
- Update to 2.12
|
||||
|
||||
* Tue Feb 04 2025 Tomas Bzatek <tbzatek@redhat.com> - 2.11-3
|
||||
- Add systemd units scriptlets
|
||||
- Reload udevd after installing udev rules
|
||||
|
||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.11-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Thu Oct 31 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.11-1
|
||||
- Update to 2.11
|
||||
|
||||
* Mon Aug 26 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.10.2-2
|
||||
- Install NetworkManager override for nbft interfaces
|
||||
- Rename reconnect NetworkManager hook to 99-nvme-nbft-connect.sh
|
||||
|
||||
* Mon Aug 05 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.10.2-1
|
||||
- Update to 2.10.2
|
||||
|
||||
* Mon Aug 05 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.10-1
|
||||
- Update to 2.10
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Mon Jun 03 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.9.1-2
|
||||
- Install custom nvmf-connect-nbft.sh NetworkManager hook
|
||||
|
||||
* Fri May 03 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.9.1-1
|
||||
- Update to 2.9.1
|
||||
|
||||
* Tue Apr 23 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.8-2
|
||||
- Harden the systemd units
|
||||
|
||||
* Wed Feb 14 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.8-1
|
||||
- Update to 2.8
|
||||
|
||||
* Fri Feb 09 2024 Tomas Bzatek <tbzatek@redhat.com> - 2.7.1-4
|
||||
- Lower the verbosity of TP4126 hostnqn-hostid consistency checks
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Thu Dec 28 2023 Tomas Bzatek <tbzatek@redhat.com> - 2.7.1-1
|
||||
- Update to 2.7.1
|
||||
|
||||
* Fri Sep 29 2023 Tomas Bzatek <tbzatek@redhat.com> - 2.6-1
|
||||
- Update to 2.6
|
||||
|
||||
* Thu Aug 17 2023 Tomas Bzatek <tbzatek@redhat.com> - 2.5-4
|
||||
- Mark /etc/nvme/discovery.conf as (noreplace)
|
||||
|
||||
* Mon Aug 14 2023 Tomas Bzatek <tbzatek@redhat.com> - 2.5-3
|
||||
- Backport 'fabrics: Use corresponding hostid when hostnqn is generated'
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jul 04 2023 Tomas Bzatek <tbzatek@redhat.com> - 2.5-1
|
||||
- Update to 2.5
|
||||
|
||||
* Thu Apr 20 2023 Tomas Bzatek <tbzatek@redhat.com> - 2.4-2
|
||||
- Backport the NBFT support from git master
|
||||
|
||||
* Mon Apr 03 2023 Tomas Bzatek <tbzatek@redhat.com> - 2.4-1
|
||||
- Update to 2.4
|
||||
|
||||
* Wed Feb 01 2023 Tomas Bzatek <tbzatek@redhat.com> - 2.3-1
|
||||
- Update to 2.3
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Nov 04 2022 Tomas Bzatek <tbzatek@redhat.com> - 2.2.1-1
|
||||
- Update to 2.2.1
|
||||
|
||||
* Tue Nov 01 2022 Tomas Bzatek <tbzatek@redhat.com> - 2.2-1
|
||||
- Update to 2.2
|
||||
|
||||
* Fri Aug 19 2022 Tomas Bzatek <tbzatek@redhat.com> - 2.1.2-1
|
||||
- Update to 2.1.2
|
||||
|
||||
* Fri Aug 05 2022 Tomas Bzatek <tbzatek@redhat.com> - 2.1.1-1
|
||||
- Update to 2.1.1
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.1~rc0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Fri Jul 15 2022 Tomas Bzatek <tbzatek@redhat.com> - 2.1~rc0-1
|
||||
- Update to 2.1-rc0
|
||||
- Drop the hostnqn generate scriptlet (#2065886)
|
||||
* Fri Aug 19 2022 Tomas Bzatek <tbzatek@redhat.com> - 2.0-2
|
||||
- Fix bash completion (#2115983)
|
||||
|
||||
* Mon Apr 11 2022 Tomas Bzatek <tbzatek@redhat.com> - 2.0-1
|
||||
- Update to 2.0
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
From 86b73b3136ec96dd3eefd5a721744ed2d6d7bd41 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: a better fix for "readonly" with
|
||||
bash 5.x
|
||||
|
||||
The error with one-line "readonly" with assignment on bash 5.x was fixed
|
||||
by 25fd8c707b106ca0763402566ad657ef710bf09e. This commit restores "readonly"
|
||||
functionality and adds some uniformity.
|
||||
---
|
||||
completions/bash-nvme-completion.sh | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/completions/bash-nvme-completion.sh b/completions/bash-nvme-completion.sh
|
||||
index 00593b96a..e8177018a 100644
|
||||
--- a/completions/bash-nvme-completion.sh
|
||||
+++ b/completions/bash-nvme-completion.sh
|
||||
@@ -55,6 +55,7 @@ typeset -Ar _plugin_subcmds=(
|
||||
[nvidia]="id-ctrl"
|
||||
[ymtc]="smart-log-add"
|
||||
)
|
||||
+readonly _plugin_subcmds
|
||||
|
||||
# Associative array mapping plugins to coresponding option completions
|
||||
typeset -Ar _plugin_funcs=(
|
||||
@@ -75,6 +76,7 @@ typeset -Ar _plugin_funcs=(
|
||||
[nvidia]="plugin_nvidia_opts"
|
||||
[ymtc]="plugin_ymtc_opts"
|
||||
)
|
||||
+readonly _plugin_funcs
|
||||
|
||||
# Top level commands
|
||||
_cmds="list list-subsys id-ctrl id-ns \
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
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 e5d9ff190..7b8a2121d 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
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
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 7b8a2121d..00593b96a 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=""
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
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 5e0eb23bb..51931bc19 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
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (nvme-cli-2.16.tar.gz) = 507018ff41832574bef5b88ea6a17336b9792c54f8e5c619d041bce23124e1d6d5e5e824407f46d4f1b4d6899125885eb14289f3399e61c7e7a59a603f1635e2
|
||||
SHA512 (nvme-cli-2.0.tar.gz) = 24a00ee8e0fc963c1757797413ff5725cec18f821a714d6bbbf37906010d72934d6fdd7b466c085f13716a5279d1a7bd3254ee474e37a0ecd00a85ef23e12417
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue