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