Blame SPECS/nvml.spec

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