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