diff --git a/.gitignore b/.gitignore index 6afb700..feba743 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/nvme-cli-2.0.tar.gz +SOURCES/nvme-cli-2.2.1.tar.gz diff --git a/.nvme-cli.metadata b/.nvme-cli.metadata index 3a55172..2a37014 100644 --- a/.nvme-cli.metadata +++ b/.nvme-cli.metadata @@ -1 +1 @@ -ba824c8c79b2f5bbe77f3940481981ef02fa9787 SOURCES/nvme-cli-2.0.tar.gz +1b66c5cb0d83948557c431157130565f1710b665 SOURCES/nvme-cli-2.2.1.tar.gz diff --git a/SOURCES/0001-nvme-Return-status-error-code-for-effects-log-comman.patch b/SOURCES/0001-nvme-Return-status-error-code-for-effects-log-comman.patch deleted file mode 100644 index 16b565c..0000000 --- a/SOURCES/0001-nvme-Return-status-error-code-for-effects-log-comman.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 43c1ac652b74182e483f2e8033a5f5fe417fb429 Mon Sep 17 00:00:00 2001 -From: Daniel Wagner -Date: Mon, 11 Jul 2022 13:39:39 +0200 -Subject: [PATCH] nvme: Return status/error code for effects-log command - -collect_effects_log eats up the return code from -nvme_get_log_cmd_effects. Forward it to the shell.. - -Fixes: 155fbebfe7b7 ("Update effects-log to handle multiple command sets") - -Signed-off-by: Daniel Wagner ---- - nvme.c | 44 ++++++++++++++++++++++++-------------------- - 1 file changed, 24 insertions(+), 20 deletions(-) - -diff --git a/nvme.c b/nvme.c -index a2a9996a..6df08d7e 100644 ---- a/nvme.c -+++ b/nvme.c -@@ -587,18 +587,22 @@ ret: - return err; - } - --void collect_effects_log(int fd, enum nvme_csi csi, struct list_head *list, int flags) -+static int collect_effects_log(int fd, enum nvme_csi csi, -+ struct list_head *list, int flags) - { -+ nvme_effects_log_node_t *node; - int err; -- nvme_effects_log_node_t *node = malloc(sizeof(nvme_effects_log_node_t)); -+ -+ node = malloc(sizeof(nvme_effects_log_node_t)); - if (!node) -- return; -+ return -ENOMEM; -+ - node->csi = csi; - - err = nvme_get_log_cmd_effects(fd, csi, &node->effects); - if (!err) { - list_add(list, &node->node); -- return; -+ return err; - } - else if (err > 0) - nvme_show_status(err); -@@ -606,6 +610,7 @@ void collect_effects_log(int fd, enum nvme_csi csi, struct list_head *list, int - fprintf(stderr, "effects log page: %s\n", nvme_strerror(errno)); - - free(node); -+ return err; - } - - static int get_effects_log(int argc, char **argv, struct command *cmd, struct plugin *plugin) -@@ -676,29 +681,28 @@ static int get_effects_log(int argc, char **argv, struct command *cmd, struct pl - nvme_command_set_supported = NVME_CAP_CSS(cap) & NVME_CAP_CSS_NVM; - other_command_sets_supported = NVME_CAP_CSS(cap) & NVME_CAP_CSS_CSI; - -+ if (nvme_command_set_supported) -+ err = collect_effects_log(fd, NVME_CSI_NVM, -+ &log_pages, flags); - -- if (nvme_command_set_supported) { -- collect_effects_log(fd, NVME_CSI_NVM, &log_pages, flags); -- } -- -- if (other_command_sets_supported) { -- collect_effects_log(fd, NVME_CSI_ZNS, &log_pages, flags); -- } -- -- nvme_print_effects_log_pages(&log_pages, flags); -+ if (!err && other_command_sets_supported) -+ err = collect_effects_log(fd, NVME_CSI_ZNS, -+ &log_pages, flags); - -- } -- else { -- collect_effects_log(fd, cfg.csi, &log_pages, flags); -- nvme_print_effects_log_pages(&log_pages, flags); -+ } else { -+ err = collect_effects_log(fd, cfg.csi, &log_pages, flags); - } - -+ if (!err) -+ nvme_print_effects_log_pages(&log_pages, flags); -+ else if (err > 0) -+ nvme_show_status(err); -+ else -+ perror("effects log page"); - - close_fd: -- while ((node = list_pop(&log_pages, nvme_effects_log_node_t, node))) { -+ while ((node = list_pop(&log_pages, nvme_effects_log_node_t, node))) - free(node); -- } -- - close(fd); - ret: - return err; --- -2.31.1 - diff --git a/SOURCES/0002-completions-Collapse-declaration-and-attribute-assig.patch b/SOURCES/0002-completions-Collapse-declaration-and-attribute-assig.patch deleted file mode 100644 index 3640ba9..0000000 --- a/SOURCES/0002-completions-Collapse-declaration-and-attribute-assig.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 25fd8c707b106ca0763402566ad657ef710bf09e Mon Sep 17 00:00:00 2001 -From: Brad Mouring -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 ---- - 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 - diff --git a/SOURCES/0003-bash-nvme-completion.sh-fixed-error-when-sourced-twi.patch b/SOURCES/0003-bash-nvme-completion.sh-fixed-error-when-sourced-twi.patch deleted file mode 100644 index 54d30ef..0000000 --- a/SOURCES/0003-bash-nvme-completion.sh-fixed-error-when-sourced-twi.patch +++ /dev/null @@ -1,28 +0,0 @@ -From eac9f9b70081ff2df2e2ea11efb8fc6ec3754f64 Mon Sep 17 00:00:00 2001 -From: Evgeny Grin -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 - diff --git a/SOURCES/0004-bash-nvme-completion.sh-fixed-typo-with-seagate-plug.patch b/SOURCES/0004-bash-nvme-completion.sh-fixed-typo-with-seagate-plug.patch deleted file mode 100644 index fea56be..0000000 --- a/SOURCES/0004-bash-nvme-completion.sh-fixed-typo-with-seagate-plug.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 4284d4cc299e8604f898856bdd38fc4979e56586 Mon Sep 17 00:00:00 2001 -From: Evgeny Grin -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 - diff --git a/SPECS/nvme-cli.spec b/SPECS/nvme-cli.spec index 5207252..04e4c83 100644 --- a/SPECS/nvme-cli.spec +++ b/SPECS/nvme-cli.spec @@ -2,26 +2,21 @@ #%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7}) Name: nvme-cli -Version: 2.0 -Release: 4%{?dist} +Version: 2.2.1 +Release: 2%{?dist} Summary: NVMe management command line interface License: GPLv2+ URL: https://github.com/linux-nvme/nvme-cli Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz -#Patch0: nvme-cli-makefile-dont-install-host-params-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.48.0 BuildRequires: gcc gcc-c++ BuildRequires: libuuid-devel BuildRequires: systemd-devel +BuildRequires: systemd-rpm-macros BuildRequires: zlib-devel -BuildRequires: libnvme-devel >= 1.0 +BuildRequires: libnvme-devel >= 1.2 BuildRequires: json-c-devel >= 0.14 BuildRequires: asciidoc BuildRequires: xmlto @@ -35,11 +30,6 @@ nvme-cli provides NVM-Express user space tooling for Linux. #%%setup -qn %%{name}-%%{commit0} %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 - %build %meson -Dudevrulesdir=%{_udevrulesdir} -Dsystemddir=%{_unitdir} -Ddocs=all -Ddocs-build=true -Dhtmldir=%{_pkgdocdir} %meson_build @@ -88,13 +78,21 @@ if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then fi # apply udev and systemd changes that we did - systemctl enable nvmefc-boot-connections + if [ $1 -eq 1 ]; then + systemctl enable nvmefc-boot-connections + fi systemctl daemon-reload udevadm control --reload-rules && udevadm trigger exit 0 fi %changelog +* Thu Nov 10 2022 Maurizio Lombardi - 2.1.2-2 +- Do not re-enable nvmefc-boot-connections when the package gets updated + +* Mon Sep 26 2022 Maurizio Lombardi - 2.1.2-1 +- Update to version v2.1.2 + * Fri Aug 29 2022 Maurizio Lombardi - 2.0-4 - Fix BZ2104945