nvme-cli/nvme-cli.spec

163 lines
4.8 KiB
RPMSpec
Raw Normal View History

#
# spec file for package nvme-cli
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: nvme-cli
Version: 2.1.2
Release: 0
Summary: NVM Express user space tools
License: GPL-2.0-only
Group: Hardware/Other
URL: https://github.com/linux-nvme/nvme-cli/
Source0: nvme-cli-%{version}.tar.gz
Source1: nvme-cli-rpmlintrc
# downstream patches
Patch100: 0100-harden_nvmf-connect@.service.patch
BuildRequires: gcc
BuildRequires: gcc-c++
Accepting request 749536 from home:hreinecke:branches:Base:System - Add libhugetlbfs to the list of build requirements - Update to version 1.9+git122.c5097d5: * [NVMe-CLI] Get DUI for SN-340 failing with Data Area 4 - Buffer Misalignment * Minor intel-nvme print refactor * Use simpler nvme ioctl api for admin * Relocate functions and constants to the files that use them * Move all spec defined structs to single file * Update build rules for .c with no .h * Update my email address * Makefile: fix cleaning subdirectories * remove unused "paths" controller field * reign in line lengths * Add print for directive receive * Unify print routines * regenerate documentation * fix fw-download reference to committing fw * argconfig: Remove unused paramters * fix huawei filter to search all namespaces * nvme-cli: Support for hugetlbfs * Remove all 'struct nvme_command' usage * nvme-cli: Update PMR Capability and PMR Status 1. Adding Controller Memory Space Supported(CMSS) in PMRCAP 2. Adding Persistent Memory Region Status(CBAI) in PMRSTS * nvme-cli: Update Controller Capabilities Register 1. Add Controller Memory Buffer Supported (CMBS) * nvme-cli: Update NVMe Registers 1. Add Controller Memory Buffer Memory Space Control (CMBMSC) 2. Add Controller Memory Buffer Status (CMBSTS) 3. Add Persistent Memory Region Memory Space Control (PMRMSC) * fixup attach-ns documentation * Add files via upload * [NVMe-CLI] Updates and fixes to WDC plugin command vs-internal-log for the SN340 drive. * Regen docs, add host-nqn man page * [NVMe-ClI] Add Documentation files for clear-fw-activate-history command * [NVMe-CLI] Add clear-fw-activate-history WDC plugin command OBS-URL: https://build.opensuse.org/request/show/749536 OBS-URL: https://build.opensuse.org/package/show/Base:System/nvme-cli?expand=0&rev=79
2019-11-19 15:15:45 +01:00
BuildRequires: libhugetlbfs-devel
BuildRequires: libjson-c-devel
BuildRequires: libnvme-devel
BuildRequires: libuuid-devel
BuildRequires: make
BuildRequires: meson >= 0.47.0
BuildRequires: pkgconfig
BuildRequires: xmlto
BuildRequires: zlib-devel
BuildRequires: pkgconfig(bash-completion)
BuildRequires: pkgconfig(libudev)
%description
NVM Express (NVMe) is a direct attached storage interface. The
nvme-cli package contains core management tools with minimal
dependencies.
%package -n nvme-cli-regress-script
Summary: A small script to test the nvme binary for regressions
Group: Hardware/Other
Requires: nvme-cli
%description -n nvme-cli-regress-script
A small shell script to test the nvme binary for regressions. It requires an
NVMe device for testing purposes. Do NOT use in a production environment.
%package bash-completion
Summary: NVM Express user space tools bash completion
Group: System/Shells
Requires: %{name} = %{version}
Requires: bash-completion
Supplements: (nvme-cli and bash-completion)
%description bash-completion
Optional dependency offering bash completion for NVM Express user space tools
%package zsh-completion
Summary: NVM Express user space tools zsh completion
Group: System/Shells
Requires: %{name} = %{version}
Requires: zsh
Supplements: (nvme-cli and zsh)
%description zsh-completion
Optional dependency offering zsh completion for NVM Express user space tools
%prep
%autosetup -p1
%build
%meson \
-Dudevrulesdir=%{_udevrulesdir} \
-Ddracutrulesdir=%{_sysconfdir}/dracut/dracut.conf.d \
-Dsystemddir=%{_unitdir} \
-Ddocs=man \
-Dsystemctl=%{_bindir}/systemctl
%meson_build
%install
%meson_install
install -m 644 -D /dev/null %{buildroot}%{_sysconfdir}/nvme/hostnqn
install -m 644 -D /dev/null %{buildroot}%{_sysconfdir}/nvme/hostid
install -m 644 -D /dev/null %{buildroot}%{_sysconfdir}/nvme/discovery.conf
rm %{buildroot}%{_sysconfdir}/dracut/dracut.conf.d/70-nvmf-autoconnect.conf
# for subpackage nvme-cli-regress-script:
install -m 744 -D regress %{buildroot}%{_sbindir}/nvme-regress
Accepting request 669055 from home:hreinecke:branches:Base:System - Update to version 1.7 - Drop obsolete patches: - 0001-Use-tnvmcap-register-for-creating-namespace.patch - 0002-don-t-execute-a-command-if-dry-run-is-supplied.patch - 0003-Remove-trailing-n-so-that-the-output-is-valid-json.patch - 0004-nvme-cli-remove-unnecessary-assignments.patch - 0005-nvme-print.c-fix-ns-descs-JSON-output.patch - 0006-nvme-cli-fix-typo-in-json_print_list_items.patch - 0007-nvme-get-property-Add-documentation.patch - 0008-fabrics-write-ctrl_loss_tmo-to-fabrics-device-on-con.patch - 0009-fabrics-write-keep-alive-timeout-to-fabrics-device-o.patch - 0010-nvme-models.c-search-for-pci.ids.patch - 0011-nvme-cli-add-ns-write-protect-feature-support.patch - 0012-nvme-cli-add-minimal-ana-log-page-support.patch - 0013-nvme-cli-add-ana-log-documentation.patch - 0014-Fix-print-format-specifier-for-64-bit.patch - 0015-nvme-ana-log-fixup-compiler-warning-in-show_ana_log.patch - 0016-nvme-vendor-fixup-c99-declaration-in-huawei-plugin.patch - 0017-nvme-discover-sanitize-options.patch - 0018-Fix-nvme-id-namespace-struct.patch - 0019-nvme-cli-make-show_registers_cap-static.patch - 0020-nvme-cli-wdc-plugin-mark-array-static-declaration.patch - 0021-nvme-cli-fix-sparse-warnings-for-declaration.patch - 0022-nvme-cli-don-t-use-unsigned-for-fd-in-lnvm-nvme.c.patch - 0023-nvme-cli-remove-always-true-condition-for-u8.patch - 0024-nvme-cli-fix-dead-code-nvmf-log-page-discovery.patch - 0025-nvme-cli-code-cleanup-for-passthru-handlers.patch - 0026-nvme-cli-fix-scaandir-return-value.patch - 0027-nvme-cli-netapp-plugin-handle-empty-strings.patch - 0028-nvme-cli-Fix-the-displayed-metadata-length-value-on-.patch OBS-URL: https://build.opensuse.org/request/show/669055 OBS-URL: https://build.opensuse.org/package/show/Base:System/nvme-cli?expand=0&rev=64
2019-01-28 13:12:59 +01:00
%define services nvmefc-boot-connections.service nvmf-connect.target nvmf-autoconnect.service
Accepting request 669055 from home:hreinecke:branches:Base:System - Update to version 1.7 - Drop obsolete patches: - 0001-Use-tnvmcap-register-for-creating-namespace.patch - 0002-don-t-execute-a-command-if-dry-run-is-supplied.patch - 0003-Remove-trailing-n-so-that-the-output-is-valid-json.patch - 0004-nvme-cli-remove-unnecessary-assignments.patch - 0005-nvme-print.c-fix-ns-descs-JSON-output.patch - 0006-nvme-cli-fix-typo-in-json_print_list_items.patch - 0007-nvme-get-property-Add-documentation.patch - 0008-fabrics-write-ctrl_loss_tmo-to-fabrics-device-on-con.patch - 0009-fabrics-write-keep-alive-timeout-to-fabrics-device-o.patch - 0010-nvme-models.c-search-for-pci.ids.patch - 0011-nvme-cli-add-ns-write-protect-feature-support.patch - 0012-nvme-cli-add-minimal-ana-log-page-support.patch - 0013-nvme-cli-add-ana-log-documentation.patch - 0014-Fix-print-format-specifier-for-64-bit.patch - 0015-nvme-ana-log-fixup-compiler-warning-in-show_ana_log.patch - 0016-nvme-vendor-fixup-c99-declaration-in-huawei-plugin.patch - 0017-nvme-discover-sanitize-options.patch - 0018-Fix-nvme-id-namespace-struct.patch - 0019-nvme-cli-make-show_registers_cap-static.patch - 0020-nvme-cli-wdc-plugin-mark-array-static-declaration.patch - 0021-nvme-cli-fix-sparse-warnings-for-declaration.patch - 0022-nvme-cli-don-t-use-unsigned-for-fd-in-lnvm-nvme.c.patch - 0023-nvme-cli-remove-always-true-condition-for-u8.patch - 0024-nvme-cli-fix-dead-code-nvmf-log-page-discovery.patch - 0025-nvme-cli-code-cleanup-for-passthru-handlers.patch - 0026-nvme-cli-fix-scaandir-return-value.patch - 0027-nvme-cli-netapp-plugin-handle-empty-strings.patch - 0028-nvme-cli-Fix-the-displayed-metadata-length-value-on-.patch OBS-URL: https://build.opensuse.org/request/show/669055 OBS-URL: https://build.opensuse.org/package/show/Base:System/nvme-cli?expand=0&rev=64
2019-01-28 13:12:59 +01:00
%pre
%service_add_pre %{services} nvmf-connect@.service
%post
if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
%{_bindir}/echo "Generating host NQN."
%{_sbindir}/nvme gen-hostnqn > %{_sysconfdir}/nvme/hostnqn
fi
if [ ! -s %{_sysconfdir}/nvme/hostid ]; then
%{_bindir}/uuidgen > %{_sysconfdir}/nvme/hostid
fi
%service_add_post %{services} nvmf-connect@.service
Accepting request 669055 from home:hreinecke:branches:Base:System - Update to version 1.7 - Drop obsolete patches: - 0001-Use-tnvmcap-register-for-creating-namespace.patch - 0002-don-t-execute-a-command-if-dry-run-is-supplied.patch - 0003-Remove-trailing-n-so-that-the-output-is-valid-json.patch - 0004-nvme-cli-remove-unnecessary-assignments.patch - 0005-nvme-print.c-fix-ns-descs-JSON-output.patch - 0006-nvme-cli-fix-typo-in-json_print_list_items.patch - 0007-nvme-get-property-Add-documentation.patch - 0008-fabrics-write-ctrl_loss_tmo-to-fabrics-device-on-con.patch - 0009-fabrics-write-keep-alive-timeout-to-fabrics-device-o.patch - 0010-nvme-models.c-search-for-pci.ids.patch - 0011-nvme-cli-add-ns-write-protect-feature-support.patch - 0012-nvme-cli-add-minimal-ana-log-page-support.patch - 0013-nvme-cli-add-ana-log-documentation.patch - 0014-Fix-print-format-specifier-for-64-bit.patch - 0015-nvme-ana-log-fixup-compiler-warning-in-show_ana_log.patch - 0016-nvme-vendor-fixup-c99-declaration-in-huawei-plugin.patch - 0017-nvme-discover-sanitize-options.patch - 0018-Fix-nvme-id-namespace-struct.patch - 0019-nvme-cli-make-show_registers_cap-static.patch - 0020-nvme-cli-wdc-plugin-mark-array-static-declaration.patch - 0021-nvme-cli-fix-sparse-warnings-for-declaration.patch - 0022-nvme-cli-don-t-use-unsigned-for-fd-in-lnvm-nvme.c.patch - 0023-nvme-cli-remove-always-true-condition-for-u8.patch - 0024-nvme-cli-fix-dead-code-nvmf-log-page-discovery.patch - 0025-nvme-cli-code-cleanup-for-passthru-handlers.patch - 0026-nvme-cli-fix-scaandir-return-value.patch - 0027-nvme-cli-netapp-plugin-handle-empty-strings.patch - 0028-nvme-cli-Fix-the-displayed-metadata-length-value-on-.patch OBS-URL: https://build.opensuse.org/request/show/669055 OBS-URL: https://build.opensuse.org/package/show/Base:System/nvme-cli?expand=0&rev=64
2019-01-28 13:12:59 +01:00
%preun
%service_del_preun %{services}
Accepting request 669055 from home:hreinecke:branches:Base:System - Update to version 1.7 - Drop obsolete patches: - 0001-Use-tnvmcap-register-for-creating-namespace.patch - 0002-don-t-execute-a-command-if-dry-run-is-supplied.patch - 0003-Remove-trailing-n-so-that-the-output-is-valid-json.patch - 0004-nvme-cli-remove-unnecessary-assignments.patch - 0005-nvme-print.c-fix-ns-descs-JSON-output.patch - 0006-nvme-cli-fix-typo-in-json_print_list_items.patch - 0007-nvme-get-property-Add-documentation.patch - 0008-fabrics-write-ctrl_loss_tmo-to-fabrics-device-on-con.patch - 0009-fabrics-write-keep-alive-timeout-to-fabrics-device-o.patch - 0010-nvme-models.c-search-for-pci.ids.patch - 0011-nvme-cli-add-ns-write-protect-feature-support.patch - 0012-nvme-cli-add-minimal-ana-log-page-support.patch - 0013-nvme-cli-add-ana-log-documentation.patch - 0014-Fix-print-format-specifier-for-64-bit.patch - 0015-nvme-ana-log-fixup-compiler-warning-in-show_ana_log.patch - 0016-nvme-vendor-fixup-c99-declaration-in-huawei-plugin.patch - 0017-nvme-discover-sanitize-options.patch - 0018-Fix-nvme-id-namespace-struct.patch - 0019-nvme-cli-make-show_registers_cap-static.patch - 0020-nvme-cli-wdc-plugin-mark-array-static-declaration.patch - 0021-nvme-cli-fix-sparse-warnings-for-declaration.patch - 0022-nvme-cli-don-t-use-unsigned-for-fd-in-lnvm-nvme.c.patch - 0023-nvme-cli-remove-always-true-condition-for-u8.patch - 0024-nvme-cli-fix-dead-code-nvmf-log-page-discovery.patch - 0025-nvme-cli-code-cleanup-for-passthru-handlers.patch - 0026-nvme-cli-fix-scaandir-return-value.patch - 0027-nvme-cli-netapp-plugin-handle-empty-strings.patch - 0028-nvme-cli-Fix-the-displayed-metadata-length-value-on-.patch OBS-URL: https://build.opensuse.org/request/show/669055 OBS-URL: https://build.opensuse.org/package/show/Base:System/nvme-cli?expand=0&rev=64
2019-01-28 13:12:59 +01:00
%postun
%service_del_postun %{services}
%systemd_requires
%posttrans
if [ -f /sys/class/fc/fc_udev_device/nvme_discovery ]; then
%{_bindir}/echo add > /sys/class/fc/fc_udev_device/nvme_discovery
fi
%pre -n nvme-cli-bash-completion
if [ -d %{_datadir}/bash-completion/completions/nvme ]; then
rm -r %{_datadir}/bash-completion/completions/nvme;
fi
%files
%license LICENSE
%doc README.md
%{_sbindir}/nvme
%{_mandir}/man1/nvme*.1*%{?ext_man}
Accepting request 749536 from home:hreinecke:branches:Base:System - Add libhugetlbfs to the list of build requirements - Update to version 1.9+git122.c5097d5: * [NVMe-CLI] Get DUI for SN-340 failing with Data Area 4 - Buffer Misalignment * Minor intel-nvme print refactor * Use simpler nvme ioctl api for admin * Relocate functions and constants to the files that use them * Move all spec defined structs to single file * Update build rules for .c with no .h * Update my email address * Makefile: fix cleaning subdirectories * remove unused "paths" controller field * reign in line lengths * Add print for directive receive * Unify print routines * regenerate documentation * fix fw-download reference to committing fw * argconfig: Remove unused paramters * fix huawei filter to search all namespaces * nvme-cli: Support for hugetlbfs * Remove all 'struct nvme_command' usage * nvme-cli: Update PMR Capability and PMR Status 1. Adding Controller Memory Space Supported(CMSS) in PMRCAP 2. Adding Persistent Memory Region Status(CBAI) in PMRSTS * nvme-cli: Update Controller Capabilities Register 1. Add Controller Memory Buffer Supported (CMBS) * nvme-cli: Update NVMe Registers 1. Add Controller Memory Buffer Memory Space Control (CMBMSC) 2. Add Controller Memory Buffer Status (CMBSTS) 3. Add Persistent Memory Region Memory Space Control (PMRMSC) * fixup attach-ns documentation * Add files via upload * [NVMe-CLI] Updates and fixes to WDC plugin command vs-internal-log for the SN340 drive. * Regen docs, add host-nqn man page * [NVMe-ClI] Add Documentation files for clear-fw-activate-history command * [NVMe-CLI] Add clear-fw-activate-history WDC plugin command OBS-URL: https://build.opensuse.org/request/show/749536 OBS-URL: https://build.opensuse.org/package/show/Base:System/nvme-cli?expand=0&rev=79
2019-11-19 15:15:45 +01:00
%{_udevrulesdir}/70-nvmf-autoconnect.rules
%{_udevrulesdir}/71-nvmf-iopolicy-netapp.rules
%{_unitdir}/nvmf-autoconnect.service
Accepting request 669055 from home:hreinecke:branches:Base:System - Update to version 1.7 - Drop obsolete patches: - 0001-Use-tnvmcap-register-for-creating-namespace.patch - 0002-don-t-execute-a-command-if-dry-run-is-supplied.patch - 0003-Remove-trailing-n-so-that-the-output-is-valid-json.patch - 0004-nvme-cli-remove-unnecessary-assignments.patch - 0005-nvme-print.c-fix-ns-descs-JSON-output.patch - 0006-nvme-cli-fix-typo-in-json_print_list_items.patch - 0007-nvme-get-property-Add-documentation.patch - 0008-fabrics-write-ctrl_loss_tmo-to-fabrics-device-on-con.patch - 0009-fabrics-write-keep-alive-timeout-to-fabrics-device-o.patch - 0010-nvme-models.c-search-for-pci.ids.patch - 0011-nvme-cli-add-ns-write-protect-feature-support.patch - 0012-nvme-cli-add-minimal-ana-log-page-support.patch - 0013-nvme-cli-add-ana-log-documentation.patch - 0014-Fix-print-format-specifier-for-64-bit.patch - 0015-nvme-ana-log-fixup-compiler-warning-in-show_ana_log.patch - 0016-nvme-vendor-fixup-c99-declaration-in-huawei-plugin.patch - 0017-nvme-discover-sanitize-options.patch - 0018-Fix-nvme-id-namespace-struct.patch - 0019-nvme-cli-make-show_registers_cap-static.patch - 0020-nvme-cli-wdc-plugin-mark-array-static-declaration.patch - 0021-nvme-cli-fix-sparse-warnings-for-declaration.patch - 0022-nvme-cli-don-t-use-unsigned-for-fd-in-lnvm-nvme.c.patch - 0023-nvme-cli-remove-always-true-condition-for-u8.patch - 0024-nvme-cli-fix-dead-code-nvmf-log-page-discovery.patch - 0025-nvme-cli-code-cleanup-for-passthru-handlers.patch - 0026-nvme-cli-fix-scaandir-return-value.patch - 0027-nvme-cli-netapp-plugin-handle-empty-strings.patch - 0028-nvme-cli-Fix-the-displayed-metadata-length-value-on-.patch OBS-URL: https://build.opensuse.org/request/show/669055 OBS-URL: https://build.opensuse.org/package/show/Base:System/nvme-cli?expand=0&rev=64
2019-01-28 13:12:59 +01:00
%{_unitdir}/nvmefc-boot-connections.service
Accepting request 749536 from home:hreinecke:branches:Base:System - Add libhugetlbfs to the list of build requirements - Update to version 1.9+git122.c5097d5: * [NVMe-CLI] Get DUI for SN-340 failing with Data Area 4 - Buffer Misalignment * Minor intel-nvme print refactor * Use simpler nvme ioctl api for admin * Relocate functions and constants to the files that use them * Move all spec defined structs to single file * Update build rules for .c with no .h * Update my email address * Makefile: fix cleaning subdirectories * remove unused "paths" controller field * reign in line lengths * Add print for directive receive * Unify print routines * regenerate documentation * fix fw-download reference to committing fw * argconfig: Remove unused paramters * fix huawei filter to search all namespaces * nvme-cli: Support for hugetlbfs * Remove all 'struct nvme_command' usage * nvme-cli: Update PMR Capability and PMR Status 1. Adding Controller Memory Space Supported(CMSS) in PMRCAP 2. Adding Persistent Memory Region Status(CBAI) in PMRSTS * nvme-cli: Update Controller Capabilities Register 1. Add Controller Memory Buffer Supported (CMBS) * nvme-cli: Update NVMe Registers 1. Add Controller Memory Buffer Memory Space Control (CMBMSC) 2. Add Controller Memory Buffer Status (CMBSTS) 3. Add Persistent Memory Region Memory Space Control (PMRMSC) * fixup attach-ns documentation * Add files via upload * [NVMe-CLI] Updates and fixes to WDC plugin command vs-internal-log for the SN340 drive. * Regen docs, add host-nqn man page * [NVMe-ClI] Add Documentation files for clear-fw-activate-history command * [NVMe-CLI] Add clear-fw-activate-history WDC plugin command OBS-URL: https://build.opensuse.org/request/show/749536 OBS-URL: https://build.opensuse.org/package/show/Base:System/nvme-cli?expand=0&rev=79
2019-11-19 15:15:45 +01:00
%{_unitdir}/nvmf-connect@.service
%{_unitdir}/nvmf-connect.target
%dir %{_sysconfdir}/nvme/
%ghost %{_sysconfdir}/nvme/hostnqn
%ghost %{_sysconfdir}/nvme/hostid
%ghost %{_sysconfdir}/nvme/discovery.conf
%files -n nvme-cli-regress-script
%{_sbindir}/nvme-regress
%files bash-completion
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/nvme
%files zsh-completion
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_nvme
%changelog