bf2469
#%%global commit0 bdbb4da0979fbdc079cf98410cdb31cf799e83b3
bf2469
#%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
aeaa63
aeaa63
Name:           nvme-cli
955b2d
Version:        1.16
45b3c8
Release:        7%{?dist}
aeaa63
Summary:        NVMe management command line interface
aeaa63
aeaa63
License:        GPLv2+
aeaa63
URL:            https://github.com/linux-nvme/nvme-cli
aeaa63
Source0:        https://github.com/linux-nvme/%{name}/archive/v%{version}.tar.gz
aeaa63
9df436
Patch0:         nvme-cli-makefile-dont-install-host-params-patch
955b2d
Patch1:         0001-fabrics-fix-nvme-connect-segfault-if-transport-type-.patch
955b2d
Patch2:         0002-fabrics-fix-a-buffer-overrun.patch
955b2d
Patch3:         0003-bash-Fix-nvme-completion.patch
955b2d
Patch4:         0004-nvme-do-not-leak-an-open-file-handle.patch
955b2d
Patch5:         0005-nvme-topology-fix-memory-leaks-in-nvme_logical_block.patch
955b2d
Patch6:         0006-nvme-cli-nvmf-connect-.service-Remove-matching-from-.patch
955b2d
Patch7:         0007-nvme-cli-Make-connect-all-matching-be-case-insensiti.patch
61fcf4
Patch8:         0008-nvme-cli-nvme-gen-hostnqn-use-partition-UUID-on-IBM-.patch
61fcf4
Patch9:         0009-Add-new-events-support-in-PEL.patch
61fcf4
Patch10:        0010-nvme-cli-Decode-Supported-Events-Bitmap-in-PEL-heade.patch
61fcf4
Patch11:        0011-nvme-cli-Adds-event-number-in-persistent-event-entri.patch
61fcf4
Patch12:        0012-nvme-cli-Adds-readable-firmware-level-in-persistent.patch
61fcf4
Patch13:        0013-nvme-cli-Add-support-set-feature-event-in-PEL.patch
61fcf4
Patch14:        0014-nvme-cli-Add-support-Telemetry-CRT-in-PEL.patch
61fcf4
Patch15:        0015-fix-firmware-log-page-frs-variable-sign.patch
45b3c8
Patch16:        0016-fix-file-permissions-nvme-print.c.patch
8b3e94
bf2469
BuildRequires:  libuuid-devel
bf2469
BuildRequires:  gcc
9df436
BuildRequires:  systemd-devel
98c317
Requires:       util-linux
aeaa63
aeaa63
%description
aeaa63
nvme-cli provides NVM-Express user space tooling for Linux.
aeaa63
aeaa63
%prep
bf2469
#%%setup -qn %%{name}-%%{commit0}
bf2469
%setup -q
8b3e94
%patch0 -p1
30c59b
%patch1 -p1
30c59b
%patch2 -p1
1b38b6
%patch3 -p1
1b38b6
%patch4 -p1
1b38b6
%patch5 -p1
1b38b6
%patch6 -p1
955b2d
%patch7 -p1
61fcf4
%patch8 -p1
61fcf4
%patch9 -p1
61fcf4
%patch10 -p1
61fcf4
%patch11 -p1
61fcf4
%patch12 -p1
61fcf4
%patch13 -p1
61fcf4
%patch14 -p1
61fcf4
%patch15 -p1
45b3c8
%patch16 -p1
aeaa63
aeaa63
%build
bf2469
bf2469
# CFLAGS on the command line breaks the build.  It works okay as an
bf2469
# environment variable, though.  See:
bf2469
# https://github.com/linux-nvme/nvme-cli/pull/480
bf2469
CFLAGS="%{optflags}" make PREFIX=/usr LDFLAGS="%{__global_ldflags}" %{?_smp_mflags}
aeaa63
aeaa63
aeaa63
%install
bf2469
%make_install PREFIX=/usr UDEVDIR="%{_udevrulesdir}/.." SYSTEMDDIR="%{_unitdir}/.."
44bbf1
mkdir -p %{buildroot}%{_sysconfdir}/nvme
aeaa63
bf2469
# hostid and hostnqn are supposed to be unique per machine.  We obviously
bf2469
# can't package them.
9df436
#rm -f %{buildroot}%{_sysconfdir}/nvme/hostid
9df436
#rm -f %{buildroot}%{_sysconfdir}/nvme/hostnqn
bf2469
bf2469
# Do not install the dracut rule yet.  See rhbz 1742764
bf2469
rm -f %{buildroot}/usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf
bf2469
aeaa63
aeaa63
%files
aeaa63
%license LICENSE
aeaa63
%doc README.md
aeaa63
%{_sbindir}/nvme
aeaa63
%{_mandir}/man1/nvme*.gz
44bbf1
%{_datadir}/bash-completion/completions/nvme
44bbf1
%{_datadir}/zsh/site-functions/_nvme
44bbf1
%dir %{_sysconfdir}/nvme
bf2469
%{_unitdir}/nvmefc-boot-connections.service
9df436
%{_unitdir}/nvmf-autoconnect.service
bf2469
%{_unitdir}/nvmf-connect.target
bf2469
%{_unitdir}/nvmf-connect@.service
bf2469
%{_udevrulesdir}/70-nvmf-autoconnect.rules
bf2469
%{_udevrulesdir}/71-nvmf-iopolicy-netapp.rules
bf2469
# Do not install the dracut rule yet.  See rhbz 1742764
bf2469
# /usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf
aeaa63
aeaa63
%post
103b56
if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then
9df436
        if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
bf2469
		echo $(nvme gen-hostnqn) > %{_sysconfdir}/nvme/hostnqn
9df436
        fi
9df436
        if [ ! -s %{_sysconfdir}/nvme/hostid ]; then
bf2469
                uuidgen > %{_sysconfdir}/nvme/hostid
9df436
        fi
aeaa63
bf2469
	# apply udev and systemd changes that we did
45b3c8
	if [ $1 -eq 1 ]; then
45b3c8
		systemctl enable nvmefc-boot-connections
45b3c8
	fi
bf2469
	systemctl daemon-reload
bf2469
	udevadm control --reload-rules && udevadm trigger
98c317
	exit 0
aeaa63
fi
aeaa63
aeaa63
%changelog
45b3c8
* Wed Nov 09 2022 Maurizio Lombardi <mlombard@redhat.com> - 1.16-7
45b3c8
- Do not re-enable the nvmefc-boot-connections service if
45b3c8
  we are just upgrading the package.
45b3c8
45b3c8
* Thu Oct 13 2022 Maurizio Lombardi <mlombard@redhat.com> - 1.16-6
45b3c8
- Fix a file permission
45b3c8
61fcf4
* Fri Jul 15 2022 Maurizio Lombardi <mlombard@redhat.com> - 1.16-5
61fcf4
- Fix a compiler warning
61fcf4
61fcf4
* Tue Jul 12 2022 Maurizio Lombardi <mlombard@redhat.com> - 1.16-4
61fcf4
- Merge fixes for PowerPC
61fcf4
955b2d
* Fri Jan 07 2022 Maurizio Lombardi <mlombard@redhat.com> - 1.16-3
955b2d
- Merge a few bugfixes
955b2d
955b2d
* Mon Nov 29 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.16-2
955b2d
- Update to version 1.16
30c59b
1b38b6
* Thu Jul 22 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.14-2
1b38b6
- Merge various bugfixes
1b38b6
1b38b6
* Wed Apr 28 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.14-1
1b38b6
- Update to version v1.14
1b38b6
1b38b6
* Tue Apr 20 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.13-4
1b38b6
- Rebuild to mark bz1949462 as fixed
1b38b6
1b38b6
* Fri Apr 16 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.13-3
1b38b6
- KATO values fixes for various controllers
1b38b6
1b38b6
* Wed Apr 14 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.13-2
1b38b6
- Add dependency to util-linux and fix the post install script
1b38b6
1b38b6
* Wed Apr 14 2021 Maurizio Lombardi <mlombard@redhat.com> - 1.13-1
1b38b6
- Update to 1.13
98c317
9df436
* Tue Jun 16 2020 Fedora Release Monitoring <release-monitoring@fedoraproject.org> - 1.12-1
9df436
- Update to 1.12 (#1827581)
9df436
9df436
* Sat Apr 25 2020 luto@kernel.org - 1.11.1-1
9df436
- Update to 1.11
9df436
9df436
* Thu Mar 19 2020 luto@kernel.org - 1.10.1-1
9df436
- Update to 1.10.1
9df436
9df436
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9-2
9df436
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
9df436
bf2469
* Wed Oct 02 2019 luto@kernel.org - 1.9-1
bf2469
- Update to 1.9
bf2469
- Certain fabric functionality may not work yet due to missing dracut
bf2469
  support and missing hostid and hostnqn configuration.
44bbf1
bf2469
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-2
bf2469
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
44bbf1
44bbf1
* Mon Apr 15 2019 luto@kernel.org - 1.8.1-1
44bbf1
- Update to 1.8.1-1.
44bbf1
- Remove a build hack.
44bbf1
44bbf1
* Sun Feb 24 2019 luto@kernel.org - 1.7-2
44bbf1
- Create /etc/nvme
44bbf1
44bbf1
* Sun Feb 24 2019 luto@kernel.org - 1.7-1
44bbf1
- Bump to 1.7
44bbf1
- Clean up some trivial rpmlint complaints
44bbf1
bf2469
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.6-2
bf2469
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
aeaa63
aeaa63
* Tue Jul 24 2018 luto@kernel.org - 1.6-1
aeaa63
- Update to 1.6
aeaa63
aeaa63
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4-5
aeaa63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
aeaa63
aeaa63
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4-4
aeaa63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
aeaa63
aeaa63
* Wed Nov 22 2017 luto@kernel.org - 1.4-1
aeaa63
- Update to 1.4
aeaa63
aeaa63
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-3
aeaa63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
aeaa63
aeaa63
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-2
aeaa63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
aeaa63
aeaa63
* Mon May 22 2017 luto@kernel.org - 1.3-1
aeaa63
- Update to 1.3
aeaa63
aeaa63
* Wed Apr 19 2017 luto@kernel.org - 1.2-2
aeaa63
- Update to 1.2
aeaa63
- 1.2-1 never existed
aeaa63
aeaa63
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-2
aeaa63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
aeaa63
aeaa63
* Wed Feb 01 2017 luto@kernel.org - 1.1-1
aeaa63
- Update to 1.1
aeaa63
aeaa63
* Sun Nov 20 2016 luto@kernel.org - 1.0-1
aeaa63
- Update to 1.0
aeaa63
aeaa63
* Mon Oct 31 2016 luto@kernel.org - 0.9-1
aeaa63
- Update to 0.9
aeaa63
aeaa63
* Thu Jun 30 2016 luto@kernel.org - 0.8-1
aeaa63
- Update to 0.8
aeaa63
aeaa63
* Tue May 31 2016 luto@kernel.org - 0.7-1
aeaa63
- Update to 0.7
aeaa63
aeaa63
* Fri Mar 18 2016 luto@kernel.org - 0.5-1
aeaa63
- Update to 0.5
aeaa63
aeaa63
* Sun Mar 06 2016 luto@kernel.org - 0.4-1
aeaa63
- Update to 0.4
aeaa63
aeaa63
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.2-3.20160112gitbdbb4da
aeaa63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
aeaa63
aeaa63
* Wed Jan 20 2016 luto@kernel.org - 0.2-2.20160112gitbdbb4da
aeaa63
- Update to new upstream commit, fixing #49.  "nvme list" now works.
aeaa63
aeaa63
* Wed Jan 13 2016 luto@kernel.org - 0.2-1.20160112gitde3e0f1
aeaa63
- Initial import.