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