0e3c33
0e3c33
# rpmbuild options:
0e3c33
#   --with | --without fabric
0e3c33
#   --with | --without ndctl
0e3c33
#   --define _testconfig <path to custom testconfig.sh>
0e3c33
0e3c33
# do not terminate build if files in the $RPM_BUILD_ROOT
0e3c33
# directory are not found in %%files (without fabric case)
0e3c33
%define _unpackaged_files_terminate_build 0
0e3c33
0e3c33
%bcond_without fabric
0e3c33
0e3c33
# by default build w/ ndctl, unless explicitly disabled
0e3c33
%bcond_without ndctl
0e3c33
0e3c33
%define min_libfabric_ver 1.4.2
0e3c33
%define min_ndctl_ver 60.1
0e3c33
0e3c33
Name:		pmdk
383c24
Version:	1.12.1
0e3c33
Release:	1%{?dist}
0e3c33
Summary:	Persistent Memory Development Kit (former NVML)
0e3c33
License:	BSD
0e3c33
URL:		http://pmem.io/pmdk
0e3c33
0e3c33
Source0:	https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
0e3c33
Patch0:		pmdk-use-platform-python.patch
12906e
Patch1:		Makefile-bypass-check-doc-in-check.patch
0e3c33
0e3c33
BuildRequires:	gcc
0e3c33
BuildRequires:	make
383c24
BuildRequires:	cmake
0e3c33
BuildRequires:	glibc-devel
0e3c33
BuildRequires:	autoconf
0e3c33
BuildRequires:	automake
0e3c33
BuildRequires:	man
0e3c33
BuildRequires:	pkgconfig
0e3c33
BuildRequires:	pandoc
0e3c33
BuildRequires:	groff
0e3c33
0e3c33
%if %{with ndctl}
0e3c33
BuildRequires:	ndctl-devel >= %{min_ndctl_ver}
0e3c33
BuildRequires:	daxctl-devel >= %{min_ndctl_ver}
0e3c33
%endif
0e3c33
0e3c33
%if %{with fabric}
0e3c33
BuildRequires:	libfabric-devel >= %{min_libfabric_ver}
0e3c33
%endif
0e3c33
0e3c33
0e3c33
# Debug variants of the libraries should be filtered out of the provides.
0e3c33
%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
0e3c33
0e3c33
# By design, PMDK does not support any 32-bit architecture.
0e3c33
# Due to dependency on some inline assembly, PMDK can be compiled only
0e3c33
# on these architectures:
0e3c33
# - x86_64
0e3c33
# - ppc64le (experimental)
0e3c33
# - aarch64 (unmaintained, supporting hardware doesn't exist?)
0e3c33
#
0e3c33
# Other 64-bit architectures could also be supported, if only there is
0e3c33
# a request for that, and if somebody provides the arch-specific
0e3c33
# implementation of the low-level routines for flushing to persistent
0e3c33
# memory.
0e3c33
0e3c33
# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
0e3c33
# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
0e3c33
# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
0e3c33
0e3c33
ExclusiveArch: x86_64 ppc64le
0e3c33
0e3c33
%description
0e3c33
The Persistent Memory Development Kit is a collection of libraries for
0e3c33
using memory-mapped persistence, optimized specifically for persistent memory.
0e3c33
0e3c33
0e3c33
%package -n libpmem
0e3c33
Summary: Low-level persistent memory support library
0e3c33
Group: System Environment/Libraries
0e3c33
%description -n libpmem
0e3c33
The libpmem provides low level persistent memory support. In particular,
0e3c33
support for the persistent memory instructions for flushing changes
0e3c33
to pmem is provided.
0e3c33
0e3c33
%files -n libpmem
0e3c33
%defattr(-,root,root,-)
0e3c33
%dir %{_datadir}/pmdk
0e3c33
%{_libdir}/libpmem.so.*
0e3c33
%{_datadir}/pmdk/pmdk.magic
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmem-devel
0e3c33
Summary: Development files for the low-level persistent memory library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmem-devel
0e3c33
The libpmem provides low level persistent memory support. In particular,
0e3c33
support for the persistent memory instructions for flushing changes
0e3c33
to pmem is provided.
0e3c33
0e3c33
This library is provided for software which tracks every store to
0e3c33
pmem and needs to flush those changes to durability. Most developers
0e3c33
will find higher level libraries like libpmemobj to be much more
0e3c33
convenient.
0e3c33
0e3c33
%files -n libpmem-devel
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/libpmem.so
0e3c33
%{_libdir}/pkgconfig/libpmem.pc
0e3c33
%{_includedir}/libpmem.h
0e3c33
%{_mandir}/man7/libpmem.7.gz
0e3c33
%{_mandir}/man3/pmem_*.3.gz
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmem-debug
0e3c33
Summary: Debug variant of the low-level persistent memory library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmem-debug
0e3c33
The libpmem provides low level persistent memory support. In particular,
0e3c33
support for the persistent memory instructions for flushing changes
0e3c33
to pmem is provided.
0e3c33
0e3c33
This sub-package contains debug variant of the library, providing
0e3c33
run-time assertions and trace points. The typical way to access the
0e3c33
debug version is to set the environment variable LD_LIBRARY_PATH to
0e3c33
/usr/lib64/pmdk_debug.
0e3c33
0e3c33
%files -n libpmem-debug
0e3c33
%defattr(-,root,root,-)
0e3c33
%dir %{_libdir}/pmdk_debug
0e3c33
%{_libdir}/pmdk_debug/libpmem.so
0e3c33
%{_libdir}/pmdk_debug/libpmem.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmemblk
0e3c33
Summary: Persistent Memory Resident Array of Blocks library
0e3c33
Group: System Environment/Libraries
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmemblk
0e3c33
The libpmemblk implements a pmem-resident array of blocks, all the same
0e3c33
size, where a block is updated atomically with respect to power
0e3c33
failure or program interruption (no torn blocks).
0e3c33
0e3c33
%files -n libpmemblk
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/libpmemblk.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmemblk-devel
0e3c33
Summary: Development files for the Persistent Memory Resident Array of Blocks library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmemblk = %{version}-%{release}
0e3c33
Requires: libpmem-devel = %{version}-%{release}
0e3c33
%description -n libpmemblk-devel
0e3c33
The libpmemblk implements a pmem-resident array of blocks, all the same
0e3c33
size, where a block is updated atomically with respect to power
0e3c33
failure or program interruption (no torn blocks).
0e3c33
0e3c33
For example, a program keeping a cache of fixed-size objects in pmem
0e3c33
might find this library useful. This library is provided for cases
0e3c33
requiring large arrays of objects at least 512 bytes each. Most
0e3c33
developers will find higher level libraries like libpmemobj to be
0e3c33
more generally useful.
0e3c33
0e3c33
%files -n libpmemblk-devel
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/libpmemblk.so
0e3c33
%{_libdir}/pkgconfig/libpmemblk.pc
0e3c33
%{_includedir}/libpmemblk.h
0e3c33
%{_mandir}/man7/libpmemblk.7.gz
0e3c33
%{_mandir}/man5/poolset.5.gz
0e3c33
%{_mandir}/man3/pmemblk_*.3.gz
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmemblk-debug
0e3c33
Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmemblk = %{version}-%{release}
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmemblk-debug
0e3c33
The libpmemblk implements a pmem-resident array of blocks, all the same
0e3c33
size, where a block is updated atomically with respect to power
0e3c33
failure or program interruption (no torn blocks).
0e3c33
0e3c33
This sub-package contains debug variant of the library, providing
0e3c33
run-time assertions and trace points. The typical way to access the
0e3c33
debug version is to set the environment variable LD_LIBRARY_PATH to
0e3c33
/usr/lib64/pmdk_debug.
0e3c33
0e3c33
%files -n libpmemblk-debug
0e3c33
%defattr(-,root,root,-)
0e3c33
%dir %{_libdir}/pmdk_debug
0e3c33
%{_libdir}/pmdk_debug/libpmemblk.so
0e3c33
%{_libdir}/pmdk_debug/libpmemblk.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmemlog
0e3c33
Summary: Persistent Memory Resident Log File library
0e3c33
Group: System Environment/Libraries
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmemlog
0e3c33
The libpmemlog library provides a pmem-resident log file. This is
0e3c33
useful for programs like databases that append frequently to a log
0e3c33
file.
0e3c33
0e3c33
%files -n libpmemlog
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/libpmemlog.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmemlog-devel
0e3c33
Summary: Development files for the Persistent Memory Resident Log File library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmemlog = %{version}-%{release}
0e3c33
Requires: libpmem-devel = %{version}-%{release}
0e3c33
%description -n libpmemlog-devel
0e3c33
The libpmemlog library provides a pmem-resident log file. This
0e3c33
library is provided for cases requiring an append-mostly file to
0e3c33
record variable length entries. Most developers will find higher
0e3c33
level libraries like libpmemobj to be more generally useful.
0e3c33
0e3c33
%files -n libpmemlog-devel
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/libpmemlog.so
0e3c33
%{_libdir}/pkgconfig/libpmemlog.pc
0e3c33
%{_includedir}/libpmemlog.h
0e3c33
%{_mandir}/man7/libpmemlog.7.gz
0e3c33
%{_mandir}/man5/poolset.5.gz
0e3c33
%{_mandir}/man3/pmemlog_*.3.gz
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmemlog-debug
0e3c33
Summary: Debug variant of the Persistent Memory Resident Log File library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmemlog = %{version}-%{release}
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmemlog-debug
0e3c33
The libpmemlog library provides a pmem-resident log file. This
0e3c33
library is provided for cases requiring an append-mostly file to
0e3c33
record variable length entries. Most developers will find higher
0e3c33
level libraries like libpmemobj to be more generally useful.
0e3c33
0e3c33
This sub-package contains debug variant of the library, providing
0e3c33
run-time assertions and trace points. The typical way to access the
0e3c33
debug version is to set the environment variable LD_LIBRARY_PATH to
0e3c33
/usr/lib64/pmdk_debug.
0e3c33
0e3c33
%files -n libpmemlog-debug
0e3c33
%defattr(-,root,root,-)
0e3c33
%dir %{_libdir}/pmdk_debug
0e3c33
%{_libdir}/pmdk_debug/libpmemlog.so
0e3c33
%{_libdir}/pmdk_debug/libpmemlog.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmemobj
0e3c33
Summary: Persistent Memory Transactional Object Store library
0e3c33
Group: System Environment/Libraries
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmemobj
0e3c33
The libpmemobj library provides a transactional object store,
0e3c33
providing memory allocation, transactions, and general facilities for
0e3c33
persistent memory programming.
0e3c33
0e3c33
%files -n libpmemobj
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/libpmemobj.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmemobj-devel
0e3c33
Summary: Development files for the Persistent Memory Transactional Object Store library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmemobj = %{version}-%{release}
0e3c33
Requires: libpmem-devel = %{version}-%{release}
0e3c33
%description -n libpmemobj-devel
0e3c33
The libpmemobj library provides a transactional object store,
0e3c33
providing memory allocation, transactions, and general facilities for
0e3c33
persistent memory programming. Developers new to persistent memory
0e3c33
probably want to start with this library.
0e3c33
0e3c33
%files -n libpmemobj-devel
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/libpmemobj.so
0e3c33
%{_libdir}/pkgconfig/libpmemobj.pc
0e3c33
%{_includedir}/libpmemobj.h
0e3c33
%{_includedir}/libpmemobj/*.h
0e3c33
%{_mandir}/man7/libpmemobj.7.gz
0e3c33
%{_mandir}/man5/poolset.5.gz
0e3c33
%{_mandir}/man3/pmemobj_*.3.gz
0e3c33
%{_mandir}/man3/pobj_*.3.gz
0e3c33
%{_mandir}/man3/oid_*.3.gz
0e3c33
%{_mandir}/man3/toid*.3.gz
0e3c33
%{_mandir}/man3/direct_*.3.gz
0e3c33
%{_mandir}/man3/d_r*.3.gz
0e3c33
%{_mandir}/man3/tx_*.3.gz
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmemobj-debug
0e3c33
Summary: Debug variant of the Persistent Memory Transactional Object Store library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmemobj = %{version}-%{release}
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmemobj-debug
0e3c33
The libpmemobj library provides a transactional object store,
0e3c33
providing memory allocation, transactions, and general facilities for
0e3c33
persistent memory programming. Developers new to persistent memory
0e3c33
probably want to start with this library.
0e3c33
0e3c33
This sub-package contains debug variant of the library, providing
0e3c33
run-time assertions and trace points. The typical way to access the
0e3c33
debug version is to set the environment variable LD_LIBRARY_PATH to
0e3c33
/usr/lib64/pmdk_debug.
0e3c33
0e3c33
%files -n libpmemobj-debug
0e3c33
%defattr(-,root,root,-)
0e3c33
%dir %{_libdir}/pmdk_debug
0e3c33
%{_libdir}/pmdk_debug/libpmemobj.so
0e3c33
%{_libdir}/pmdk_debug/libpmemobj.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmempool
0e3c33
Summary: Persistent Memory pool management library
0e3c33
Group: System Environment/Libraries
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmempool
0e3c33
The libpmempool library provides a set of utilities for off-line
0e3c33
administration, analysis, diagnostics and repair of persistent memory
0e3c33
pools created by libpmemlog, libpmemblk and libpmemobj libraries.
0e3c33
0e3c33
%files -n libpmempool
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/libpmempool.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmempool-devel
0e3c33
Summary: Development files for Persistent Memory pool management library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmempool = %{version}-%{release}
0e3c33
Requires: libpmem-devel = %{version}-%{release}
0e3c33
%description -n libpmempool-devel
0e3c33
The libpmempool library provides a set of utilities for off-line
0e3c33
administration, analysis, diagnostics and repair of persistent memory
0e3c33
pools created by libpmemlog, libpmemblk and libpmemobj libraries.
0e3c33
0e3c33
%files -n libpmempool-devel
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/libpmempool.so
0e3c33
%{_libdir}/pkgconfig/libpmempool.pc
0e3c33
%{_includedir}/libpmempool.h
0e3c33
%{_mandir}/man7/libpmempool.7.gz
0e3c33
%{_mandir}/man5/poolset.5.gz
0e3c33
%{_mandir}/man3/pmempool_*.3.gz
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n libpmempool-debug
0e3c33
Summary: Debug variant of the Persistent Memory pool management library
0e3c33
Group: Development/Libraries
0e3c33
Requires: libpmempool = %{version}-%{release}
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n libpmempool-debug
0e3c33
The libpmempool library provides a set of utilities for off-line
0e3c33
administration, analysis, diagnostics and repair of persistent memory
0e3c33
pools created by libpmemlog, libpmemblk and libpmemobj libraries.
0e3c33
0e3c33
This sub-package contains debug variant of the library, providing
0e3c33
run-time assertions and trace points. The typical way to access the
0e3c33
debug version is to set the environment variable LD_LIBRARY_PATH to
0e3c33
/usr/lib64/pmdk_debug.
0e3c33
0e3c33
%files -n libpmempool-debug
0e3c33
%defattr(-,root,root,-)
0e3c33
%dir %{_libdir}/pmdk_debug
0e3c33
%{_libdir}/pmdk_debug/libpmempool.so
0e3c33
%{_libdir}/pmdk_debug/libpmempool.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%if %{with fabric}
0e3c33
0e3c33
%package -n librpmem
0e3c33
Summary: Remote Access to Persistent Memory library
0e3c33
Group: System Environment/Libraries
0e3c33
Requires: libfabric >= %{min_libfabric_ver}
0e3c33
Requires: openssh-clients
0e3c33
%description -n librpmem
0e3c33
The librpmem library provides low-level support for remote access
0e3c33
to persistent memory utilizing RDMA-capable NICs. It can be used
0e3c33
to replicate persistent memory regions over RDMA protocol.
0e3c33
0e3c33
%files -n librpmem
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/librpmem.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n librpmem-devel
0e3c33
Summary: Development files for the Remote Access to Persistent Memory library
0e3c33
Group: Development/Libraries
0e3c33
Requires: librpmem = %{version}-%{release}
0e3c33
%description -n librpmem-devel
0e3c33
The librpmem library provides low-level support for remote access
0e3c33
to persistent memory utilizing RDMA-capable NICs. It can be used
0e3c33
to replicate persistent memory regions over RDMA protocol.
0e3c33
0e3c33
This sub-package contains libraries and header files for developing
0e3c33
applications that want to specifically make use of librpmem.
0e3c33
0e3c33
%files -n librpmem-devel
0e3c33
%defattr(-,root,root,-)
0e3c33
%{_libdir}/librpmem.so
0e3c33
%{_libdir}/pkgconfig/librpmem.pc
0e3c33
%{_includedir}/librpmem.h
0e3c33
%{_mandir}/man7/librpmem.7.gz
0e3c33
%{_mandir}/man3/rpmem_*.3.gz
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n librpmem-debug
0e3c33
Summary: Debug variant of the Remote Access to Persistent Memory library
0e3c33
Group: Development/Libraries
0e3c33
Requires: librpmem = %{version}-%{release}
0e3c33
%description -n librpmem-debug
0e3c33
The librpmem library provides low-level support for remote access
0e3c33
to persistent memory utilizing RDMA-capable NICs. It can be used
0e3c33
to replicate persistent memory regions over RDMA protocol.
0e3c33
0e3c33
This sub-package contains debug variant of the library, providing
0e3c33
run-time assertions and trace points. The typical way to access the
0e3c33
debug version is to set the environment variable LD_LIBRARY_PATH to
0e3c33
/usr/lib64/pmdk_debug.
0e3c33
0e3c33
%files -n librpmem-debug
0e3c33
%defattr(-,root,root,-)
0e3c33
%dir %{_libdir}/pmdk_debug
0e3c33
%{_libdir}/pmdk_debug/librpmem.so
0e3c33
%{_libdir}/pmdk_debug/librpmem.so.*
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n rpmemd
0e3c33
Group: System Environment/Base
0e3c33
Summary: Target node process executed by librpmem
0e3c33
Requires: libfabric >= %{min_libfabric_ver}
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n rpmemd
0e3c33
The rpmemd process is executed on a target node by librpmem library
0e3c33
and facilitates access to persistent memory over RDMA.
0e3c33
0e3c33
%files -n rpmemd
0e3c33
%{_bindir}/rpmemd
0e3c33
%{_mandir}/man1/rpmemd.1.gz
0e3c33
0e3c33
# _with_fabric
0e3c33
%endif
0e3c33
0e3c33
%package -n pmempool
0e3c33
Summary: Utilities for Persistent Memory
0e3c33
Group: System Environment/Base
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
Requires: libpmemlog = %{version}-%{release}
0e3c33
Requires: libpmemblk = %{version}-%{release}
0e3c33
Requires: libpmemobj = %{version}-%{release}
0e3c33
Requires: libpmempool = %{version}-%{release}
0e3c33
Obsoletes: nvml-tools < %{version}-%{release}
0e3c33
%description -n pmempool
0e3c33
The pmempool is a standalone utility for management and off-line analysis
0e3c33
of Persistent Memory pools created by PMDK libraries. It provides a set
0e3c33
of utilities for administration and diagnostics of Persistent Memory pools.
0e3c33
The pmempool may be useful for troubleshooting by system administrators
0e3c33
and users of the applications based on PMDK libraries.
0e3c33
0e3c33
%files -n pmempool
0e3c33
%{_bindir}/pmempool
0e3c33
%{_mandir}/man1/pmempool.1.gz
0e3c33
%{_mandir}/man1/pmempool-*.1.gz
0e3c33
%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%package -n pmreorder
0e3c33
Summary: Consistency Checker for Persistent Memory
0e3c33
Group: __GROUP_SYS_BASE__
0e3c33
Requires: /usr/libexec/platform-python
0e3c33
%description -n pmreorder
0e3c33
The pmreorder tool is a collection of python scripts designed to parse
0e3c33
and replay operations logged by pmemcheck - a persistent memory checking tool.
0e3c33
Pmreorder performs the store reordering between persistent memory barriers -
0e3c33
a sequence of flush-fence operations. It uses a consistency checking routine
0e3c33
provided in the command line options to check whether files are in a consistent state.
0e3c33
0e3c33
%files -n pmreorder
0e3c33
%{_bindir}/pmreorder
0e3c33
%{_datadir}/pmreorder/*.py
0e3c33
%{_mandir}/man1/pmreorder.1.gz
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
0e3c33
%if %{with ndctl}
0e3c33
0e3c33
%package -n daxio
0e3c33
Summary: Perform I/O on Device DAX devices or zero a Device DAX device
0e3c33
Group: System Environment/Base
0e3c33
Requires: libpmem = %{version}-%{release}
0e3c33
%description -n daxio
0e3c33
The daxio utility performs I/O on Device DAX devices or zero
0e3c33
a Device DAX device.  Since the standard I/O APIs (read/write) cannot be used
0e3c33
with Device DAX, data transfer is performed on a memory-mapped device.
0e3c33
The daxio may be used to dump Device DAX data to a file, restore data from
0e3c33
a backup copy, move/copy data to another device or to erase data from
0e3c33
a device.
0e3c33
0e3c33
%files -n daxio
0e3c33
%{_bindir}/daxio
0e3c33
%{_mandir}/man1/daxio.1.gz
0e3c33
%license LICENSE
0e3c33
%doc ChangeLog CONTRIBUTING.md README.md
0e3c33
0e3c33
# _with_ndctl
0e3c33
%endif
0e3c33
0e3c33
0e3c33
%prep
0e3c33
%autosetup -p1 -n %{name}-%{version}
0e3c33
0e3c33
%build
0e3c33
# For debug build default flags may be overriden to disable compiler
0e3c33
# optimizations.
0e3c33
%set_build_flags
0e3c33
NDCTL_ENABLE=y make %{?_smp_mflags} NORPATH=1
0e3c33
0e3c33
0e3c33
# Override LIB_AR with empty string to skip installation of static libraries
0e3c33
%install
0e3c33
NDCTL_ENABLE=y make install DESTDIR=%{buildroot} \
0e3c33
	LIB_AR= \
0e3c33
	prefix=%{_prefix} \
0e3c33
	libdir=%{_libdir} \
0e3c33
	includedir=%{_includedir} \
0e3c33
	mandir=%{_mandir} \
0e3c33
	bindir=%{_bindir} \
0e3c33
	sysconfdir=%{_sysconfdir} \
0e3c33
	docdir=%{_docdir}
0e3c33
mkdir -p %{buildroot}%{_datadir}/pmdk
0e3c33
cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
0e3c33
0e3c33
0e3c33
%post   -n libpmem -p /sbin/ldconfig
0e3c33
%postun -n libpmem -p /sbin/ldconfig
0e3c33
%post   -n libpmemblk -p /sbin/ldconfig
0e3c33
%postun -n libpmemblk -p /sbin/ldconfig
0e3c33
%post   -n libpmemlog -p /sbin/ldconfig
0e3c33
%postun -n libpmemlog -p /sbin/ldconfig
0e3c33
%post   -n libpmemobj -p /sbin/ldconfig
0e3c33
%postun -n libpmemobj -p /sbin/ldconfig
0e3c33
%post   -n libpmempool -p /sbin/ldconfig
0e3c33
%postun -n libpmempool -p /sbin/ldconfig
0e3c33
0e3c33
%if %{with fabric}
0e3c33
%post   -n librpmem -p /sbin/ldconfig
0e3c33
%postun -n librpmem -p /sbin/ldconfig
0e3c33
%endif
0e3c33
0e3c33
%if 0%{?__debug_package} == 0
0e3c33
%debug_package
0e3c33
%endif
0e3c33
0e3c33
0e3c33
%changelog
383c24
* Mon Nov 21 2022 Bryan Gurney <bgurney@redhat.com> - 1.12.1-1.el8
383c24
- Update to pmdk version 1.12.1
383c24
- Related: rhbz#2111428
383c24
12906e
* Tue Jan 25 2022 Bryan Gurney <bgurney@redhat.com> - 1.11.1-1.el8
12906e
- Update to pmdk version 1.11.1
12906e
- Related: rhbz#2009889
12906e
0e3c33
* Wed Jan  6 2021 Jeff Moyer <jmoyer@redhat.com> - 1.9.2-1.el8
0e3c33
- Package pmdk version 1.9.2 for stream 1-fileformat-v6-rhel-8.3.1
0e3c33
- libvmem is no longer packaged as part of pmdk.
0e3c33
- ppc64le packages are now built
0e3c33
- Related: rhbz#1524652, rhbz#1780388, rhbz#1854812, rhbz#1860860
0e3c33
0e3c33
* Fri Nov  1 2019 Jeff Moyer <jmoyer@redhat.com> - 1.6.1-1.el8
0e3c33
- Update to pmdk bugfix relase 1.6.1.
0e3c33
- Resolves: rhbz#1730675
0e3c33
0e3c33
* Mon Jun 24 2019 Jeff Moyer <jmoyer@redhat.com> - 1.6-2.el8
0e3c33
- Add explicit version dependencies
0e3c33
- Fix up broken link line in build system
0e3c33
- Related: rhbz#1598527
0e3c33
0e3c33
* Tue May 28 2019 Jeff Moyer <jmoyer@redhat.com> - 1.6-1.el8
0e3c33
- Add pmdk 1.6 to the distro.
0e3c33
- Resolves: rhbz#1598527
0e3c33
0e3c33
* Wed Oct 31 2018 Jeff Moyer <jmoyer@redhat.com> - 1.5-2.el8
0e3c33
- Fix up python3 uses to instead use platform-python (Jeff Moyer)
0e3c33
- related: rhbz#1488828
0e3c33
0e3c33
* Wed Oct 31 2018 Jeff Moyer <jmoyer@redhat.com> - 1.5-1.el8
0e3c33
- rebase to pmdk-1.5, and rename to nvml (Jeff Moyer)
0e3c33
- broken libpmemcto was removed
0e3c33
- c++ bindings were moved to a separate project/package
0e3c33
- Fix library requires to be =n-v-r instead of >= (Jeff Moyer)
0e3c33
- resolves: rhbz#1488828
0e3c33
0e3c33
* Mon Oct 08 2018 Jeff Moyer <jmoyer@redhat.com> - 1.4-6.el8
0e3c33
- default to building daxio (Jeff Moyer)
0e3c33
- Resolves: rhbz#1637168
0e3c33
0e3c33
* Wed Sep 26 2018 Jeff Moyer <jmoyer@redhat.com> - 1.4-5.el8
0e3c33
- use %set_build_flags instead of %{optflags}
0e3c33
- Resolves: rhbz#1630611
0e3c33
0e3c33
* Tue May 22 2018 Jeff Moyer <jmoyer@redhat.com> - 1.4-4
0e3c33
- Get rid of SuSe conditionals (Jeff Moyer)
0e3c33
- Remove the %check section. (Jeff Moyer)
0e3c33
- Resolves: rhbz#1580829
0e3c33
0e3c33
* Fri Mar 30 2018 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.4-3
0e3c33
- Revert package name change
0e3c33
- Re-enable check
0e3c33
0e3c33
* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.4-2
0e3c33
- Fix issues found by rpmlint
0e3c33
0e3c33
* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.4-1
0e3c33
- Rename NVML project to PMDK
0e3c33
- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
0e3c33
0e3c33
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
0e3c33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
0e3c33
0e3c33
* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.3.1-1
0e3c33
- Update to NVML version 1.3.1 (RHBZ #1480578)
0e3c33
0e3c33
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-3
0e3c33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
0e3c33
0e3c33
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-2
0e3c33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
0e3c33
0e3c33
* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.3-1
0e3c33
- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
0e3c33
- Add librpmem and rpmemd sub-packages
0e3c33
- Force file system to appear as PMEM for make check
0e3c33
0e3c33
* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2.3-2
0e3c33
- Update to NVML version 1.2.3 (RHBZ #1451741)
0e3c33
0e3c33
* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2.2-1
0e3c33
- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
0e3c33
0e3c33
* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2.1-1
0e3c33
- Update to NVML version 1.2.1 (RHBZ #1425038)
0e3c33
0e3c33
* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2-3
0e3c33
- Fix compilation under gcc 7.0.x (RHBZ #1424004)
0e3c33
0e3c33
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-2
0e3c33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
0e3c33
0e3c33
* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2-1
0e3c33
- Update to NVML version 1.2 (RHBZ #1383467)
0e3c33
- Add libpmemobj C++ bindings
0e3c33
0e3c33
* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.1-3
0e3c33
- Add missing package version requirements
0e3c33
0e3c33
* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.1-2
0e3c33
- Move debug variants of the libraries to -debug subpackages
0e3c33
0e3c33
* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.1-1
0e3c33
- NVML 1.1 release
0e3c33
- Update link to source tarball
0e3c33
- Add libpmempool subpackage
0e3c33
- Remove obsolete patches
0e3c33
0e3c33
* Wed Jun 01 2016 Dan HorĂ¡k <dan[at]danny.cz> - 1.0-3
0e3c33
- switch to ExclusiveArch
0e3c33
0e3c33
* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.0-2
0e3c33
- Exclude PPC architecture
0e3c33
- Add bug numbers for excluded architectures
0e3c33
0e3c33
* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.0-1
0e3c33
- Initial RPM release