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..2efd2c49d6b800084a8d0dcd6bc233d3acb5b600 100644 --- a/ndctl.spec +++ b/ndctl.spec @@ -1,16 +1,18 @@ 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 +License: GPL-2.0-only AND LGPL-2.1-only AND MIT AND CC0-1.0 Group: System Environment/Base Url: https://github.com/pmem/ndctl Source0: https://github.com/pmem/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz 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 +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,8 +235,19 @@ 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 +* Wed Sep 21 2022 wangxiaomeng - 74-1 +- update version 74 + * Mon Aug 02 2021 chenyanpanHW - 71.1-3 - DESC: delete -Sgit from %autosetup, and delete BuildRequires git