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