Name: nvme-cli
Version: 3.1
Release: 1
Summary: NVMe management command line interface
License: GPL-2.0-or-later
URL: https://github.com/linux-nvme/nvme-cli
Source0: https://github.com/linux-nvme/%{name}/archive/v%{version}.tar.gz
Source1: 99-nvme-nbft-no-ignore-carrier.conf
BuildRequires: gcc make
BuildRequires: meson >= 0.62.0
BuildRequires: pkgconfig(json-c) >= 0.13
BuildRequires: pkgconfig(libkmod)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(libkeyutils)
BuildRequires: asciidoc
BuildRequires: python3-devel
BuildRequires: swig
BuildRequires: xmlto
BuildRequires: rpm_macro(_unitdir)
BuildRequires: rpm_macro(_udevrulesdir)
Requires: libnvme3%{?_isa} = %{version}-%{release}
%{?systemd_requires}
%description
nvme-cli provides NVM-Express user space tooling for Linux.
%package -n libnvme3
Summary: NVMe management library
License: LGPL-2.1-or-later
%description -n libnvme3
libnvme is the NVMe management library for Linux, providing a high-level
API for managing NVMe devices and NVMe-oF fabrics.
%package -n libnvme3-devel
Summary: Development files for libnvme3
Requires: libnvme3%{?_isa} = %{version}-%{release}
License: LGPL-2.1-or-later
%description -n libnvme3-devel
This package contains the development headers and pkg-config files for
libnvme3, the NVMe management library.
%package -n python3-libnvme3
Summary: Python binding for libnvme3
Requires: libnvme3%{?_isa} = %{version}-%{release}
License: LGPL-2.1-or-later
%description -n python3-libnvme3
This package contains the python3 binding for libnvme3.
%package_help
%prep
%autosetup -p1
%build
%meson -Ddocs=man -Ddocs-build=true -Dsystemddir=%{_unitdir} -Dudevrulesdir=%{_udevrulesdir}
%meson_build
%install
%meson_install
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/NetworkManager/dispatcher.d
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/NetworkManager/conf.d
%{__install} -pm 644 %{S:1} $RPM_BUILD_ROOT%{_prefix}/lib/NetworkManager/conf.d/
# hostid and hostnqn are supposed to be unique per machine. We obviously
# can't package them.
rm -f %{buildroot}%{_sysconfdir}/nvme/hostid
rm -f %{buildroot}%{_sysconfdir}/nvme/hostnqn
# Do not install the dracut rule yet. See rhbz 1742764
rm -f %{buildroot}/usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf
%post
%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
%{_sbindir}/nvme
%{_datadir}/bash-completion/completions/nvme
%{_datadir}/zsh/site-functions/_nvme
%dir %{_sysconfdir}/nvme
%{_sysconfdir}/nvme/nvme-fabrics.conf.sample
%{_unitdir}/nvmefc-boot-connections.service
%{_unitdir}/nvmf-autoconnect.service
%{_unitdir}/nvmf-connect.target
%{_unitdir}/nvmf-connect@.service
%{_unitdir}/nvmf-connect-nbft.service
%{_udevrulesdir}/71-nvmf-hpe.rules
%{_udevrulesdir}/70-nvmf-autoconnect.rules
%{_udevrulesdir}/70-nvmf-keys.rules
%{_udevrulesdir}/71-nvmf-netapp.rules
%{_udevrulesdir}/71-nvmf-vastdata.rules
%{_udevrulesdir}/65-persistent-net-nbft.rules
%{_prefix}/lib/NetworkManager/dispatcher.d/80-nvmf-connect-nbft.sh
%{_prefix}/lib/NetworkManager/conf.d/99-nvme-nbft-no-ignore-carrier.conf
%files help
%doc README.md
%{_mandir}/man?/*
%files -n libnvme3
%license libnvme/COPYING
%{_libdir}/libnvme3.so.*
%{_udevrulesdir}/70-nvmf-registry.rules
%files -n libnvme3-devel
%license libnvme/COPYING
%{_includedir}/libnvme3/
%{_libdir}/libnvme3.so
%{_libdir}/pkgconfig/libnvme3.pc
%files -n python3-libnvme3
%license libnvme/COPYING
%{python3_sitearch}/libnvme3
%changelog
* Sat Sep 19 2026 Funda Wang <fundawang@yeah.net> - 3.1-1
- update to 3.1
* Mon Jun 1 2026 kouwenqi <kouwenqi@kylinos.cn> - 2.16-2
- do not report error when nvme_core module is not loaded
* Tue Nov 04 2025 Funda Wang <fundawang@yeah.net> - 2.16-1
- update to version 2.16
* Fri Jul 25 2025 Funda Wang <fundawang@yeah.net> - 2.15-1
- update to version 2.15
* Sat Apr 12 2025 Funda Wang <fundawang@yeah.net> - 2.13-1
- update to version 2.13
* Sat May 11 2024 tenglei <tenglei@kylinos.cn> - 2.9.1-1
- Update package to version 2.9.1
- There a lot of small fixes and improvements all over the place
- There are two plugins ssstc and spdk in this release
* Thu Mar 21 2024 panchenbo <panchenbo@kylinsec.com.cn> - 2.8-1
- Update to version 2.8
* Thu Feb 9 2023 Hongtao Zhang <zhanghongtao22@huawei.com> - 2.2.1-2
- Fix meson build failed
* Mon Dec 19 2022 Qiang Wei <qiang.wei@suse.com> - 2.2.1-1
- Update to version 2.2.1.
* Remove 0001-bash-Fix-nvme-completion.patch, it is fixed in upstream.
* backport upstream patch: Bash completion: move global declare into function.
* Sat Oct 8 2022 zhanghongtao <zhanghongtao22@huawei.com> - 1.16-2
- bash Fix nvme completion
* Wed Dec 29 2021 baizhonggui <baizhonggui@huawei.com> - 1.16-1
- update to 1.16
* Tue Nov 19 2019 mengxian@huawei.com - 1.6-2
- Package init