diff --git a/ndctl-71.1.tar.gz b/ndctl-71.1.tar.gz deleted file mode 100644 index 7a913a2b7b296e07b07ce9f809268bff3bfc0d3c..0000000000000000000000000000000000000000 Binary files a/ndctl-71.1.tar.gz and /dev/null differ diff --git a/ndctl-74.tar.gz b/ndctl-74.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..6a4d65d6ac77e2f548f6a42bd43f851ff28c6eeb Binary files /dev/null and b/ndctl-74.tar.gz differ diff --git a/ndctl.spec b/ndctl.spec index 9119ad5d73843d646025a7c58d0ccb9ef691aa77..8877d72135e3999d199f26d87943000e4a0fd7a4 100644 --- a/ndctl.spec +++ b/ndctl.spec @@ -1,6 +1,6 @@ Name: ndctl -Version: 71.1 -Release: 3 +Version: 74 +Release: 1 Summary: Manage "libnvdimm" subsystem devices (Non-volatile Memory) License: GPL-2, LGPL-2.1, MIT, CC0-1.0 Group: System Environment/Base @@ -9,8 +9,10 @@ Source0: https://github.com/pmem/%{name}/archive/v%{version}.tar.gz#/%{name}-%{v Requires: ndctl-libs%{?_isa} = %{version}-%{release} Requires: daxctl-libs%{?_isa} = %{version}-%{release} +Requires: cxl-libs%{?_isa} = %{version}-%{release} BuildRequires: autoconf BuildRequires: rubygem-asciidoctor +%define asciidoctor -Dasciidoctor=enabled BuildRequires: xmlto BuildRequires: automake BuildRequires: libtool @@ -21,7 +23,10 @@ BuildRequires: pkgconfig(uuid) BuildRequires: pkgconfig(json-c) BuildRequires: pkgconfig(bash-completion) BuildRequires: pkgconfig(systemd) -BuildRequires: keyutils-libs-devel +BuildRequires: keyutils-libs-devel +BuildRequires: systemd-rpm-config +BuildRequires: iniparser-devel +BuildRequires: meson %description Utility library for managing the "libnvdimm" subsystem. The "libnvdimm" @@ -29,6 +34,9 @@ subsystem defines a kernel device model and control message interface for platform NVDIMM resources like those defined by the ACPI 6+ NFIT (NVDIMM Firmware Interface Table). +%if 0%{?flatpak} +%global _udevrulesdir %{_prefix}/lib/udev/rules.d +%endif %package -n ndctl-devel Summary: Development files for libndctl @@ -52,6 +60,26 @@ the Linux kernel Device-DAX facility. This facility enables DAX mappings of performance / feature differentiated memory without need of a filesystem. +%package -n cxl-cli +Summary: Manage CXL devices +License: GPLv2 +Group: System Environment/Base +Requires: cxl-libs%{?_isa} = %{version}-%{release} + +%description -n cxl-cli +The cxl utility provides enumeration and provisioning commands for +the Linux kernel CXL devices. + +%package -n cxl-devel +Summary: Development files for libcxl +License: LGPLv2 +Group: Development/Libraries +Requires: cxl-libs%{?_isa} = %{version}-%{release} + +%description -n cxl-devel +This package contains libraries and header files for developing applications +that use libcxl, a library for enumerating and communicating with CXL devices. + %package -n daxctl-devel Summary: Development files for libdaxctl License: LGPLv2 @@ -85,22 +113,27 @@ Device DAX is a facility for establishing DAX mappings of performance / feature-differentiated memory. daxctl-libs provides an enumeration / control API for these devices. +%package -n cxl-libs +Summary: Management library for CXL devices +License: LGPLv2 +Group: System Environment/Libraries + +%description -n cxl-libs +libcxl is a library for enumerating and communicating with CXL devices. + %prep %autosetup -n ndctl-%{version} -p1 %build -echo %{version} > version -./autogen.sh -%configure --disable-static --disable-silent-rules -make %{?_smp_mflags} +%meson %{?asciidoctor} -Dversion-tag=%{version} +%meson_build %install -%make_install -find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' +%meson_install %check -make check +%meson_test %post -n ndctl-libs -p /sbin/ldconfig @@ -110,23 +143,70 @@ make check %postun -n daxctl-libs -p /sbin/ldconfig +%post -n cxl-libs -p /sbin/ldconfig + +%postun -n cxl-libs -p /sbin/ldconfig + %define bashcompdir %(pkg-config --variable=completionsdir bash-completion) +%pre +if [ -f %{_sysconfdir}/ndctl/monitor.conf ] ; then + if ! [ -f %{_sysconfdir}/ndctl.conf.d/monitor.conf ] ; then + cp -a %{_sysconfdir}/ndctl/monitor.conf /var/run/ndctl-monitor.conf-migration + fi +fi + +%post +if [ -f /var/run/ndctl-monitor.conf-migration ] ; then + config_found=false + while read line ; do + [ -n "$line" ] || continue + case "$line" in + \#*) continue ;; + esac + config_found=true + break + done < /var/run/ndctl-monitor.conf-migration + if $config_found ; then + echo "[monitor]" > %{_sysconfdir}/ndctl.conf.d/monitor.conf + cat /var/run/ndctl-monitor.conf-migration >> %{_sysconfdir}/ndctl.conf.d/monitor.conf + fi + rm /var/run/ndctl-monitor.conf-migration +fi + %files %license LICENSES/preferred/GPL-2.0 LICENSES/other/MIT LICENSES/other/CC0-1.0 %{_bindir}/ndctl %{_mandir}/man1/ndctl* -%{bashcompdir}/ -%config(noreplace) %{_sysconfdir}/ndctl/monitor.conf +%{bashcompdir}/ndctl %{_unitdir}/ndctl-monitor.service + +%dir %{_sysconfdir}/ndctl +%dir %{_sysconfdir}/ndctl/keys %{_sysconfdir}/ndctl/keys/keys.readme + %{_sysconfdir}/modprobe.d/nvdimm-security.conf +%dir %{_sysconfdir}/ndctl.conf.d +%config(noreplace) %{_sysconfdir}/ndctl.conf.d/monitor.conf +%config(noreplace) %{_sysconfdir}/ndctl.conf.d/ndctl.conf + %files -n daxctl %license LICENSES/preferred/GPL-2.0 LICENSES/other/MIT LICENSES/other/CC0-1.0 %{_bindir}/daxctl %{_mandir}/man1/daxctl* -%{_datadir}/daxctl/daxctl.conf +%{_datadir}/daxctl +%{bashcompdir}/daxctl +%{_unitdir}/daxdev-reconfigure@.service +%config %{_udevrulesdir}/90-daxctl-device.rules +%dir %{_sysconfdir}/daxctl.conf.d/ +%config(noreplace) %{_sysconfdir}/daxctl.conf.d/daxctl.example.conf + +%files -n cxl-cli +%license LICENSES/preferred/GPL-2.0 LICENSES/other/MIT LICENSES/other/CC0-1.0 +%{_bindir}/cxl +%{_mandir}/man1/cxl* +%{bashcompdir}/cxl %files -n ndctl-libs %doc README.md @@ -138,6 +218,11 @@ make check %license LICENSES/preferred/LGPL-2.1 LICENSES/other/MIT LICENSES/other/CC0-1.0 %{_libdir}/libdaxctl.so.* +%files -n cxl-libs +%doc README.md +%license LICENSES/preferred/LGPL-2.1 LICENSES/other/MIT LICENSES/other/CC0-1.0 +%{_libdir}/libcxl.so.* + %files -n ndctl-devel %license LICENSES/preferred/LGPL-2.1 %{_includedir}/ndctl/ @@ -150,25 +235,187 @@ make check %{_libdir}/libdaxctl.so %{_libdir}/pkgconfig/libdaxctl.pc +%files -n cxl-devel +%license LICENSES/preferred/LGPL-2.1 +%{_includedir}/cxl/ +%{_libdir}/libcxl.so +%{_libdir}/pkgconfig/libcxl.pc +%{_mandir}/man3/cxl* +%{_mandir}/man3/libcxl.3* + %changelog -* Mon Aug 02 2021 chenyanpanHW - 71.1-3 -- DESC: delete -Sgit from %autosetup, and delete BuildRequires git +* Wed Sep 21 2022 wangxiaomeng - 74-1 +- update version 74 + +* Fri Jul 22 2022 Fedora Release Engineering - 73-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jun 24 2022 Ralf Corsépius - 73-2 +- Address misc. packaging bugs (RHBZ#2100157). +- Fix broken ChangeLog-entry. + +* Tue Mar 08 2022 Vishal Verma - 73-1 +- release v73 + +* Thu Jan 20 2022 Fedora Release Engineering - 72.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jan 06 2022 Vishal Verma - 72.1-1 +- release v72.1 + +* Sun Dec 19 2021 Vishal Verma - 72-1 +- release v72 + +* Thu Jul 22 2021 Fedora Release Engineering - 71.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Jul 10 2021 Björn Esser - 71.1-3 +- Rebuild for versioned symbols in json-c + +* Tue Jan 26 2021 Fedora Release Engineering - 71.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 22 2020 Vishal Verma - 71.1-1 +- release v71.1 + +* Sat Dec 19 2020 Vishal Verma - 71-1 +- release v71 + +* Sat Oct 10 2020 Vishal Verma - 70.1-1 +- release v70.1 + +* Tue Oct 06 2020 Vishal Verma - 70-1 +- release v70 + +* Tue Jul 28 2020 Fedora Release Engineering - 69-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 23 2020 Vishal Verma - 69-1 +- release v69 + +* Tue Apr 21 2020 Björn Esser - 68-2 +- Rebuild (json-c) + +* Tue Mar 24 2020 Vishal Verma - 68-1 +- release v68 + +* Fri Jan 31 2020 Vishal Verma - 67-3 +- Add fix for GCC10 builds + +* Wed Jan 29 2020 Fedora Release Engineering - 67-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Oct 28 2019 Vishal Verma - 67-1 +- release v67 + +* Wed Aug 07 2019 Vishal Verma - 66-1 +- release v66 + +* Thu Jul 25 2019 Fedora Release Engineering - 65-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat May 11 2019 Vishal Verma - 65-1 +- release v65 + +* Wed Feb 06 2019 Vishal Verma - 64.1-1 +- release v64.1 + +* Mon Feb 04 2019 Vishal Verma - 64-1 +- release v64 + +* Fri Feb 01 2019 Fedora Release Engineering - 63-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Oct 05 2018 Vishal Verma - 63-1 +- release v63 +- remove ndctl-udev and related files + +* Tue Aug 14 2018 Vishal Verma - 62-1 +- release v62 +- Add files for udev and ndctl-monitor + +* Fri Jul 13 2018 Fedora Release Engineering - 61.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Vishal Verma - 61.2-1 +- release v61.2 + +* Tue Jun 26 2018 Vishal Verma - 61.1-1 +- release v61.1 + +* Tue Jun 26 2018 Vishal Verma - 61-1 +- new version + +* Thu May 17 2018 Dan Williams - 60.3-1 +- release v60.3 + +* Mon Apr 23 2018 Dan Williams - 60.1-1 +- release v60.1 + +* Thu Apr 19 2018 Dan Williams - 60-1 +- release v60 + +* Tue Mar 27 2018 Dan Williams - 59.3-1 +- release v59.3 + +* Tue Mar 06 2018 Björn Esser - 59.2-2 +- Rebuilt for libjson-c.so.4 (json-c v0.13.1) + +* Fri Feb 09 2018 Dan Williams - 59.2-1 +- release v59.2 + +* Fri Feb 09 2018 Dan Williams - 59.1-1 +- release v59.1 + +* Fri Feb 09 2018 Dan Williams - 59-1 +- release v59 + +* Thu Feb 08 2018 Fedora Release Engineering - 58.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Dec 10 2017 Björn Esser - 58.4-2 +- Rebuilt for libjson-c.so.3 + +* Thu Nov 16 2017 Dan Williams - 58.4-1 +- release v58.4 + +* Thu Sep 21 2017 Dan Williams - 58.2-1 +- release v58.2 + +* Fri Sep 08 2017 Dan Williams - 58.1-2 +- gate libpmem dependency on x86_64 + +* Fri Sep 08 2017 Dan Williams - 58.1-1 +- add libpmem dependency +- release v58.1 + +* Thu Aug 03 2017 Fedora Release Engineering - 57.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 57.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jun 30 2017 Dan Williams - 57.1-1 +- Release v57.1 + +* Sat May 27 2017 Dan Williams - 57-1 +- Release v57 -* Tue Jun 29 2021 zhouwenpei - 71.1-2 -- add buildrequire git +* Fri Feb 10 2017 Dan Williams - 56-1 +- Release v56 -* Thu Jan 28 2021 Zhiqiang Liu - 71.1-1 -- update ndctl to v71.1 latest version +* Fri Feb 10 2017 Fedora Release Engineering - 55-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild -* Fri Oct 30 2020 Zhiqiang Liu - 68-2 -- backport upstream patches to fix some potential problems +* Fri Oct 21 2016 Dan Williams - 55-1 +- release v55 -* Thu Jun 04 2020 lingsheng - 68-1 -- update version 68 +* Fri Aug 05 2016 Dan Williams - 54-1 +- add explicit lib version dependencies -* Wed Oct 16 2019 ted.zhang - 63-2 -- generate spec file from source code +* Sat May 28 2016 Dan Williams - 53.1-1 +- Fix up tag format vs source url confusion * Fri May 27 2016 Dan Williams - 53-1 - add daxctl-libs + daxctl-devel packages