#
# Conditional build:
-%bcond_without apidocs # do not build and package API docs
%bcond_without libfabric # RPMEM component
%bcond_without ndctl # daxio component
+%bcond_without pandoc # do not build manpages using pandoc
#
Summary: Persistent Memory Development Kit
Summary(pl.UTF-8): Persistent Memory Development Kit - oprogramowanie do obsługi pamięci nieulotnej
Name: pmdk
-Version: 1.5
+Version: 1.12.1
Release: 1
License: BSD
Group: Applications/System
#Source0Download: https://github.com/pmem/pmdk/releases
-Source0: https://github.com/pmem/pmdk/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 32cf94f0c8f754c94e5b91fd41ea102c
+Source0: https://github.com/pmem/pmdk/releases/download/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 96cbc6a55598c367836ce6e83c5b1674
URL: http://pmem.io/pmdk/
-BuildRequires: autoconf >= 2.50
-%{?with_ndctl:BuildRequires: daxctl-devel >= 59.2}
+%{?with_ndctl:BuildRequires: daxctl-devel >= 64.1}
%{?with_libfabric:BuildRequires: libfabric-devel >= 1.4.2}
-%{?with_ndctl:BuildRequires: ndctl-devel >= 59.2}
+%{?with_ndctl:BuildRequires: ndctl-devel >= 64.1}
+%{?with_pandoc:BuildRequires: pandoc}
BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.673
Requires: %{name}-libs = %{version}-%{release}
-ExclusiveArch: %{x8664} aarch64
+ExclusiveArch: %{x8664} aarch64 ppc64 riscv64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Memory (NVM):
- libpmem - basic pmem operations like flushing
- libpmemblk, libpmemlog, libpmemobj - pmem transactions
-- libvmem, libvmmalloc - volatile use of pmem
- libpmempool - persistent memory pool management
%description libs -l pl.UTF-8
nieulotnej (NVM - Non-Volatile Memory):
- libpmem - podstawowe operacje pmem, takie jak flush
- libpmemblk, libpmemlog, libpmemobj - transakcje pmem
-- libvmem, libvmmalloc - ulotne wykorzystanie pmem
- libpmempool - zarządzanie pulą pamięci nieulotnej
%package devel
Summary(pl.UTF-8): Narzędzie PMDK do urządzeń Device-DAX
Group: Applications/System
Requires: %{name}-libs = %{version}-%{release}
-Requires: daxctl-libs >= 59.2
-Requires: ndctl-libs >= 59.2
+Requires: daxctl-libs >= 64.1
+Requires: ndctl-libs >= 64.1
%description dax
PMDK is a collection of libraries and utilities for using Non-Volatile
%setup -q
%build
+%if !%{with pandoc}
+touch .skip-doc
+%endif
CFLAGS="%{rpmcflags} %{rpmcppflags}" \
%{__make} -j1 \
CC="%{__cc}" \
%install
rm -rf $RPM_BUILD_ROOT
+%if %{with pandoc}
%{__make} install \
+%else
+%{__make} -C src install \
+%endif
DESTDIR=$RPM_BUILD_ROOT \
%{!?with_libfabric:BUILD_RPMEM=n} \
%{?with_ndctl:NDCTL_ENABLE=y} \
%defattr(644,root,root,755)
%doc src/tools/pmempool/README
%attr(755,root,root) %{_bindir}/pmempool
+%if %{with pandoc}
%{_mandir}/man1/pmempool.1*
%{_mandir}/man1/pmempool-check.1*
%{_mandir}/man1/pmempool-convert.1*
%{_mandir}/man1/pmempool-transform.1*
%{_mandir}/man5/pmem_ctl.5*
%{_mandir}/man5/poolset.5*
+%endif
%files python
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/pmreorder
+%if %{with pandoc}
%{_mandir}/man1/pmreorder.1*
+%endif
%{_datadir}/pmreorder
%files -n bash-completion-pmdk
%doc ChangeLog LICENSE
%attr(755,root,root) %{_libdir}/libpmem.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libpmem.so.1
+%attr(755,root,root) %{_libdir}/libpmem2.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpmem2.so.1
%attr(755,root,root) %{_libdir}/libpmemblk.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libpmemblk.so.1
%attr(755,root,root) %{_libdir}/libpmemlog.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libpmemobj.so.1
%attr(755,root,root) %{_libdir}/libpmempool.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libpmempool.so.1
-%attr(755,root,root) %{_libdir}/libvmem.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libvmem.so.1
-%attr(755,root,root) %{_libdir}/libvmmalloc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libvmmalloc.so.1
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libpmem.so
+%attr(755,root,root) %{_libdir}/libpmem2.so
%attr(755,root,root) %{_libdir}/libpmemblk.so
%attr(755,root,root) %{_libdir}/libpmemlog.so
%attr(755,root,root) %{_libdir}/libpmemobj.so
%attr(755,root,root) %{_libdir}/libpmempool.so
-%attr(755,root,root) %{_libdir}/libvmem.so
-%attr(755,root,root) %{_libdir}/libvmmalloc.so
+%{_includedir}/libpmem2
%{_includedir}/libpmemobj
%{_includedir}/libpmem*.h
-%{_includedir}/libvmem.h
-%{_includedir}/libvmmalloc.h
%{_pkgconfigdir}/libpmem.pc
+%{_pkgconfigdir}/libpmem2.pc
%{_pkgconfigdir}/libpmemblk.pc
%{_pkgconfigdir}/libpmemlog.pc
%{_pkgconfigdir}/libpmemobj.pc
%{_pkgconfigdir}/libpmempool.pc
-%{_pkgconfigdir}/libvmem.pc
-%{_pkgconfigdir}/libvmmalloc.pc
+%if %{with pandoc}
%{_mandir}/man3/d_ro.3*
%{_mandir}/man3/d_rw.3*
%{_mandir}/man3/direct_ro.3*
%{_mandir}/man3/oid_instanceof.3*
%{_mandir}/man3/oid_is_null.3*
%{_mandir}/man3/pmem_*.3*
+%{_mandir}/man3/pmem2_*.3*
%{_mandir}/man3/pmemblk_*.3*
%{_mandir}/man3/pmemlog_*.3*
%{_mandir}/man3/pmemobj_*.3*
%{_mandir}/man3/toid.3*
%{_mandir}/man3/toid_*.3*
%{_mandir}/man3/tx_*.3*
-%{_mandir}/man3/vmem_*.3*
%{_mandir}/man7/libpmem.7*
+%{_mandir}/man7/libpmem2.7*
+%{_mandir}/man7/libpmem2_unsafe_shutdown.7*
%{_mandir}/man7/libpmemblk.7*
%{_mandir}/man7/libpmemlog.7*
%{_mandir}/man7/libpmemobj.7*
%{_mandir}/man7/libpmempool.7*
-%{_mandir}/man7/libvmem.7*
-%{_mandir}/man7/libvmmalloc.7*
+%endif
%files static
%defattr(644,root,root,755)
%{_libdir}/libpmem.a
+%{_libdir}/libpmem2.a
%{_libdir}/libpmemblk.a
%{_libdir}/libpmemlog.a
%{_libdir}/libpmemobj.a
%{_libdir}/libpmempool.a
-%{_libdir}/libvmem.a
-%{_libdir}/libvmmalloc.a
%if %{with ndctl}
%files dax
%defattr(644,root,root,755)
%doc src/tools/daxio/README
%attr(755,root,root) %{_bindir}/daxio
+%if %{with pandoc}
%{_mandir}/man1/daxio.1*
%endif
+%endif
%if %{with libfabric}
%files rpmem
%defattr(644,root,root,755)
%doc src/tools/rpmemd/README
%attr(755,root,root) %{_bindir}/rpmemd
+%if %{with pandoc}
%{_mandir}/man1/rpmemd.1*
+%endif
%files rpmem-libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/librpmem.so
%{_includedir}/librpmem.h
%{_pkgconfigdir}/librpmem.pc
+%if %{with pandoc}
%{_mandir}/man3/rpmem_*.3*
%{_mandir}/man7/librpmem.7*
+%endif
%files rpmem-static
%defattr(644,root,root,755)