Blame SPECS/nvml.spec

f56282
f56282
# rpmbuild options:
f56282
#   --with | --without ndctl
f56282
f56282
# do not terminate build if files in the $RPM_BUILD_ROOT
f5d6f0
# directory are not found in %%files (without pmemcheck case)
f56282
%define _unpackaged_files_terminate_build 0
f56282
f56282
# disable 'make check'
f56282
%define _skip_check 1
f56282
f56282
# by default build with ndctl, unless explicitly disabled
f56282
%bcond_without ndctl
f56282
f56282
# by default build without pmemcheck, unless explicitly enabled
f56282
# pmemcheck is not packaged by Fedora
f56282
%bcond_with pmemcheck
f56282
f56282
%define min_ndctl_ver 60.1
cd9190
%define upstreamversion 1.12.1
f56282
f56282
Name:		nvml
cd9190
Version:	1.12.1
cd9190
Release:	1%{?dist}
f56282
Summary:	Persistent Memory Development Kit (formerly NVML)
f56282
License:	BSD
f56282
URL:		http://pmem.io/pmdk
f56282
f56282
Source0:	https://github.com/pmem/pmdk/releases/download/%{upstreamversion}/pmdk-%{upstreamversion}.tar.gz
f56282
# RHEL 9 does not ship pandoc, so the man pages have to be generated
f56282
# on another operating system (such as fedora or RHEL 8).  To do that,
f56282
# run the included makedocs.sh script on a system with pandoc.
f56282
Source1:	pmdk-%{version}-man.tar.gz
f56282
f56282
# do_open passes "attr" to util_pool_open which potentially reads that object
f56282
# but do_open never initializes "attr"
f56282
# may read that object
f5d6f0
Patch0:         Makefile-bypass-check-doc-in-check.patch
cd9190
Patch1:         pmdk-1.12.1-use_ddebug_instead_of_debug_cflags.patch
f56282
f56282
f56282
BuildRequires:	gcc
f56282
BuildRequires:	make
cd9190
BuildRequires:	cmake
f56282
BuildRequires:	glibc-devel
f56282
BuildRequires:	autoconf
f56282
BuildRequires:	automake
f56282
BuildRequires:	man
f56282
BuildRequires:	pkgconfig
f56282
BuildRequires:	python3
f56282
BuildRequires:	groff
f56282
f56282
%if %{with ndctl}
f56282
BuildRequires:	ndctl-devel >= %{min_ndctl_ver}
f56282
BuildRequires:	daxctl-devel >= %{min_ndctl_ver}
f56282
%endif
f56282
f56282
# for tests
f56282
BuildRequires:	gdb
f56282
BuildRequires:	bc
f56282
#BuildRequires:	valgrind
f56282
f56282
# Debug variants of the libraries should be filtered out of the provides.
f56282
%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
f56282
f56282
# By design, PMDK does not support any 32-bit architecture.
f56282
# Due to dependency on some inline assembly, PMDK can be compiled only
f56282
# on these architectures:
f56282
# - x86_64
f56282
# - ppc64le (experimental)
f56282
# - aarch64 (unmaintained, supporting hardware doesn't exist?)
f56282
#
f56282
# Other 64-bit architectures could also be supported, if only there is
f56282
# a request for that, and if somebody provides the arch-specific
f56282
# implementation of the low-level routines for flushing to persistent
f56282
# memory.
f56282
f56282
# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
f56282
# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
f56282
# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
f56282
f56282
ExclusiveArch: x86_64 ppc64le
f56282
f56282
%description
f56282
The Persistent Memory Development Kit is a collection of libraries for
f56282
using memory-mapped persistence, optimized specifically for persistent memory.
f56282
f56282
f56282
%package -n libpmem
f56282
Summary: Low-level persistent memory support library
f56282
%description -n libpmem
f56282
The libpmem provides low level persistent memory support. In particular,
f56282
support for the persistent memory instructions for flushing changes
f56282
to pmem is provided.  This package provides the v1 API.
f56282
f56282
%files -n libpmem
f56282
%dir %{_datadir}/pmdk
f56282
%{_libdir}/libpmem.so.*
f56282
%{_datadir}/pmdk/pmdk.magic
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmem-devel
f56282
Summary: Development files for the low-level persistent memory library
f56282
Requires: libpmem = %{version}-%{release}
f56282
%description -n libpmem-devel
f56282
The libpmem provides low level persistent memory support. In particular,
f56282
support for the persistent memory instructions for flushing changes
f56282
to pmem is provided. This package provides the v1 API.
f56282
f56282
This library is provided for software which tracks every store to
f56282
pmem and needs to flush those changes to durability. Most developers
f56282
will find higher level libraries like libpmemobj to be much more
f56282
convenient.
f56282
f56282
%files -n libpmem-devel
f56282
%{_libdir}/libpmem.so
f56282
%{_libdir}/pkgconfig/libpmem.pc
f56282
%{_includedir}/libpmem.h
f56282
%{_mandir}/man7/libpmem.7.gz
f56282
%{_mandir}/man3/pmem_*.3.gz
f56282
%{_mandir}/man5/pmem_ctl.5.gz
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmem-debug
f56282
Summary: Debug variant of the low-level persistent memory library
f56282
Requires: libpmem = %{version}-%{release}
f56282
%description -n libpmem-debug
f56282
The libpmem provides low level persistent memory support. In particular,
f56282
support for the persistent memory instructions for flushing changes
f56282
to pmem is provided. This package provides the v1 API.
f56282
f56282
This sub-package contains debug variant of the library, providing
f56282
run-time assertions and trace points. The typical way to access the
f56282
debug version is to set the environment variable LD_LIBRARY_PATH to
f56282
/usr/lib64/pmdk_debug.
f56282
f56282
%files -n libpmem-debug
f56282
%dir %{_libdir}/pmdk_debug
f56282
%{_libdir}/pmdk_debug/libpmem.so
f56282
%{_libdir}/pmdk_debug/libpmem.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmem2
f56282
Summary: Low-level persistent memory support library
f56282
%description -n libpmem2
f56282
The libpmem provides low level persistent memory support. In particular,
f56282
support for the persistent memory instructions for flushing changes
f56282
to pmem is provided. This package provides the v2 API.
f56282
f56282
%files -n libpmem2
f56282
%dir %{_datadir}/pmdk
f56282
%{_libdir}/libpmem2.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmem2-devel
f56282
Summary: Development files for the low-level persistent memory library
f56282
Requires: libpmem = %{version}-%{release}
f56282
%description -n libpmem2-devel
f56282
The libpmem provides low level persistent memory support. In particular,
f56282
support for the persistent memory instructions for flushing changes
f56282
to pmem is provided. This package provides the v2 API.
f56282
f56282
This library is provided for software which tracks every store to
f56282
pmem and needs to flush those changes to durability. Most developers
f56282
will find higher level libraries like libpmemobj to be much more
f56282
convenient.
f56282
f56282
%files -n libpmem2-devel
f56282
%{_libdir}/libpmem2.so
f56282
%{_libdir}/pkgconfig/libpmem2.pc
f56282
%{_includedir}/libpmem2.h
f56282
%{_mandir}/man7/libpmem2*7.gz
f56282
%{_mandir}/man3/pmem2_*.3.gz
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmem2-debug
f56282
Summary: Debug variant of the low-level persistent memory library
f56282
Requires: libpmem = %{version}-%{release}
f56282
%description -n libpmem2-debug
f56282
The libpmem provides low level persistent memory support. In particular,
f56282
support for the persistent memory instructions for flushing changes
f56282
to pmem is provided. This package provides the v2 API.
f56282
f56282
This sub-package contains debug variant of the library, providing
f56282
run-time assertions and trace points. The typical way to access the
f56282
debug version is to set the environment variable LD_LIBRARY_PATH to
f56282
/usr/lib64/pmdk_debug.
f56282
f56282
%files -n libpmem2-debug
f56282
%dir %{_libdir}/pmdk_debug
f56282
%{_libdir}/pmdk_debug/libpmem2.so
f56282
%{_libdir}/pmdk_debug/libpmem2.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmemblk
f56282
Summary: Persistent Memory Resident Array of Blocks library
f56282
Requires: libpmem >= %{version}-%{release}
f56282
%description -n libpmemblk
f56282
The libpmemblk implements a pmem-resident array of blocks, all the same
f56282
size, where a block is updated atomically with respect to power
f56282
failure or program interruption (no torn blocks).
f56282
f56282
%files -n libpmemblk
f56282
%{_libdir}/libpmemblk.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmemblk-devel
f56282
Summary: Development files for the Persistent Memory Resident Array of Blocks library
f56282
Requires: libpmemblk = %{version}-%{release}
f56282
Requires: libpmem-devel = %{version}-%{release}
f56282
%description -n libpmemblk-devel
f56282
The libpmemblk implements a pmem-resident array of blocks, all the same
f56282
size, where a block is updated atomically with respect to power
f56282
failure or program interruption (no torn blocks).
f56282
f56282
For example, a program keeping a cache of fixed-size objects in pmem
f56282
might find this library useful. This library is provided for cases
f56282
requiring large arrays of objects at least 512 bytes each. Most
f56282
developers will find higher level libraries like libpmemobj to be
f56282
more generally useful.
f56282
f56282
%files -n libpmemblk-devel
f56282
%{_libdir}/libpmemblk.so
f56282
%{_libdir}/pkgconfig/libpmemblk.pc
f56282
%{_includedir}/libpmemblk.h
f56282
%{_mandir}/man7/libpmemblk.7.gz
f56282
%{_mandir}/man5/poolset.5.gz
f56282
%{_mandir}/man3/pmemblk_*.3.gz
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmemblk-debug
f56282
Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
f56282
Requires: libpmemblk = %{version}-%{release}
f56282
%description -n libpmemblk-debug
f56282
The libpmemblk implements a pmem-resident array of blocks, all the same
f56282
size, where a block is updated atomically with respect to power
f56282
failure or program interruption (no torn blocks).
f56282
f56282
This sub-package contains debug variant of the library, providing
f56282
run-time assertions and trace points. The typical way to access the
f56282
debug version is to set the environment variable LD_LIBRARY_PATH to
f56282
/usr/lib64/pmdk_debug.
f56282
f56282
%files -n libpmemblk-debug
f56282
%dir %{_libdir}/pmdk_debug
f56282
%{_libdir}/pmdk_debug/libpmemblk.so
f56282
%{_libdir}/pmdk_debug/libpmemblk.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmemlog
f56282
Summary: Persistent Memory Resident Log File library
f56282
Requires: libpmem >= %{version}-%{release}
f56282
%description -n libpmemlog
f56282
The libpmemlog library provides a pmem-resident log file. This is
f56282
useful for programs like databases that append frequently to a log
f56282
file.
f56282
f56282
%files -n libpmemlog
f56282
%{_libdir}/libpmemlog.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmemlog-devel
f56282
Summary: Development files for the Persistent Memory Resident Log File library
f56282
Requires: libpmemlog = %{version}-%{release}
f56282
Requires: libpmem-devel = %{version}-%{release}
f56282
%description -n libpmemlog-devel
f56282
The libpmemlog library provides a pmem-resident log file. This
f56282
library is provided for cases requiring an append-mostly file to
f56282
record variable length entries. Most developers will find higher
f56282
level libraries like libpmemobj to be more generally useful.
f56282
f56282
%files -n libpmemlog-devel
f56282
%{_libdir}/libpmemlog.so
f56282
%{_libdir}/pkgconfig/libpmemlog.pc
f56282
%{_includedir}/libpmemlog.h
f56282
%{_mandir}/man7/libpmemlog.7.gz
f56282
%{_mandir}/man5/poolset.5.gz
f56282
%{_mandir}/man3/pmemlog_*.3.gz
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmemlog-debug
f56282
Summary: Debug variant of the Persistent Memory Resident Log File library
f56282
Requires: libpmemlog = %{version}-%{release}
f56282
%description -n libpmemlog-debug
f56282
The libpmemlog library provides a pmem-resident log file. This
f56282
library is provided for cases requiring an append-mostly file to
f56282
record variable length entries. Most developers will find higher
f56282
level libraries like libpmemobj to be more generally useful.
f56282
f56282
This sub-package contains debug variant of the library, providing
f56282
run-time assertions and trace points. The typical way to access the
f56282
debug version is to set the environment variable LD_LIBRARY_PATH to
f56282
/usr/lib64/pmdk_debug.
f56282
f56282
%files -n libpmemlog-debug
f56282
%dir %{_libdir}/pmdk_debug
f56282
%{_libdir}/pmdk_debug/libpmemlog.so
f56282
%{_libdir}/pmdk_debug/libpmemlog.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmemobj
f56282
Summary: Persistent Memory Transactional Object Store library
f56282
Requires: libpmem >= %{version}-%{release}
f56282
%description -n libpmemobj
f56282
The libpmemobj library provides a transactional object store,
f56282
providing memory allocation, transactions, and general facilities for
f56282
persistent memory programming.
f56282
f56282
%files -n libpmemobj
f56282
%{_libdir}/libpmemobj.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmemobj-devel
f56282
Summary: Development files for the Persistent Memory Transactional Object Store library
f56282
Requires: libpmemobj = %{version}-%{release}
f56282
Requires: libpmem-devel = %{version}-%{release}
f56282
%description -n libpmemobj-devel
f56282
The libpmemobj library provides a transactional object store,
f56282
providing memory allocation, transactions, and general facilities for
f56282
persistent memory programming. Developers new to persistent memory
f56282
probably want to start with this library.
f56282
f56282
%files -n libpmemobj-devel
f56282
%{_libdir}/libpmemobj.so
f56282
%{_libdir}/pkgconfig/libpmemobj.pc
f56282
%{_includedir}/libpmemobj.h
f56282
%dir %{_includedir}/libpmemobj
f56282
%{_includedir}/libpmemobj/*.h
f56282
%{_mandir}/man7/libpmemobj.7.gz
f56282
%{_mandir}/man5/poolset.5.gz
f56282
%{_mandir}/man3/pmemobj_*.3.gz
f56282
%{_mandir}/man3/pobj_*.3.gz
f56282
%{_mandir}/man3/oid_*.3.gz
f56282
%{_mandir}/man3/toid*.3.gz
f56282
%{_mandir}/man3/direct_*.3.gz
f56282
%{_mandir}/man3/d_r*.3.gz
f56282
%{_mandir}/man3/tx_*.3.gz
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmemobj-debug
f56282
Summary: Debug variant of the Persistent Memory Transactional Object Store library
f56282
Requires: libpmemobj = %{version}-%{release}
f56282
%description -n libpmemobj-debug
f56282
The libpmemobj library provides a transactional object store,
f56282
providing memory allocation, transactions, and general facilities for
f56282
persistent memory programming. Developers new to persistent memory
f56282
probably want to start with this library.
f56282
f56282
This sub-package contains debug variant of the library, providing
f56282
run-time assertions and trace points. The typical way to access the
f56282
debug version is to set the environment variable LD_LIBRARY_PATH to
f56282
/usr/lib64/pmdk_debug.
f56282
f56282
%files -n libpmemobj-debug
f56282
%dir %{_libdir}/pmdk_debug
f56282
%{_libdir}/pmdk_debug/libpmemobj.so
f56282
%{_libdir}/pmdk_debug/libpmemobj.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmempool
f56282
Summary: Persistent Memory pool management library
f56282
Requires: libpmem >= %{version}-%{release}
f56282
%description -n libpmempool
f56282
The libpmempool library provides a set of utilities for off-line
f56282
administration, analysis, diagnostics and repair of persistent memory
f56282
pools created by libpmemlog, libpmemblk and libpmemobj libraries.
f56282
f56282
%files -n libpmempool
f56282
%{_libdir}/libpmempool.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmempool-devel
f56282
Summary: Development files for Persistent Memory pool management library
f56282
Requires: libpmempool = %{version}-%{release}
f56282
Requires: libpmem-devel = %{version}-%{release}
f56282
%description -n libpmempool-devel
f56282
The libpmempool library provides a set of utilities for off-line
f56282
administration, analysis, diagnostics and repair of persistent memory
f56282
pools created by libpmemlog, libpmemblk and libpmemobj libraries.
f56282
f56282
%files -n libpmempool-devel
f56282
%{_libdir}/libpmempool.so
f56282
%{_libdir}/pkgconfig/libpmempool.pc
f56282
%{_includedir}/libpmempool.h
f56282
%{_mandir}/man7/libpmempool.7.gz
f56282
%{_mandir}/man5/poolset.5.gz
f56282
%{_mandir}/man3/pmempool_*.3.gz
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n libpmempool-debug
f56282
Summary: Debug variant of the Persistent Memory pool management library
f56282
Requires: libpmempool = %{version}-%{release}
f56282
%description -n libpmempool-debug
f56282
The libpmempool library provides a set of utilities for off-line
f56282
administration, analysis, diagnostics and repair of persistent memory
f56282
pools created by libpmemlog, libpmemblk and libpmemobj libraries.
f56282
f56282
This sub-package contains debug variant of the library, providing
f56282
run-time assertions and trace points. The typical way to access the
f56282
debug version is to set the environment variable LD_LIBRARY_PATH to
f56282
/usr/lib64/pmdk_debug.
f56282
f56282
%files -n libpmempool-debug
f56282
%dir %{_libdir}/pmdk_debug
f56282
%{_libdir}/pmdk_debug/libpmempool.so
f56282
%{_libdir}/pmdk_debug/libpmempool.so.*
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%package -n pmempool
f56282
Summary: Utilities for Persistent Memory
f56282
Requires: libpmem >= %{version}-%{release}
f56282
Requires: libpmemlog >= %{version}-%{release}
f56282
Requires: libpmemblk >= %{version}-%{release}
f56282
Requires: libpmemobj >= %{version}-%{release}
f56282
Requires: libpmempool >= %{version}-%{release}
f56282
Obsoletes: nvml-tools < %{version}-%{release}
f56282
%description -n pmempool
f56282
The pmempool is a standalone utility for management and off-line analysis
f56282
of Persistent Memory pools created by PMDK libraries. It provides a set
f56282
of utilities for administration and diagnostics of Persistent Memory pools.
f56282
The pmempool may be useful for troubleshooting by system administrators
f56282
and users of the applications based on PMDK libraries.
f56282
f56282
%files -n pmempool
f56282
%{_bindir}/pmempool
f56282
%{_mandir}/man1/pmempool.1.gz
f56282
%{_mandir}/man1/pmempool-*.1.gz
f56282
%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
f56282
%if %{with ndctl}
f56282
f56282
%package -n daxio
f56282
Summary: Perform I/O on Device DAX devices or zero a Device DAX device
f56282
Requires: libpmem >= %{version}-%{release}
f56282
%description -n daxio
f56282
The daxio utility performs I/O on Device DAX devices or zero
f56282
a Device DAX device.  Since the standard I/O APIs (read/write) cannot be used
f56282
with Device DAX, data transfer is performed on a memory-mapped device.
f56282
The daxio may be used to dump Device DAX data to a file, restore data from
f56282
a backup copy, move/copy data to another device or to erase data from
f56282
a device.
f56282
f56282
%files -n daxio
f56282
%{_bindir}/daxio
f56282
%{_mandir}/man1/daxio.1.gz
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
# _with_ndctl
f56282
%endif
f56282
f56282
%if %{with pmemcheck}
f56282
%package -n pmreorder
f56282
Summary: Consistency Checker for Persistent Memory
f56282
Requires: python3
f56282
%description -n pmreorder
f56282
The pmreorder tool is a collection of python scripts designed to parse
f56282
and replay operations logged by pmemcheck - a persistent memory checking tool.
f56282
Pmreorder performs the store reordering between persistent memory barriers -
f56282
a sequence of flush-fence operations. It uses a consistency checking routine
f56282
provided in the command line options to check whether files are in a consistent state.
f56282
f56282
%files -n pmreorder
f56282
%{_bindir}/pmreorder
f56282
%{_datadir}/pmreorder/*.py
f56282
%{_mandir}/man1/pmreorder.1.gz
f56282
%license LICENSE
f56282
%doc ChangeLog CONTRIBUTING.md README.md
f56282
f56282
# _with_pmemcheck
f56282
%endif
f56282
f56282
%prep
f56282
%setup -q -n pmdk-%{upstreamversion}
f56282
%patch0 -p1
70c84a
%patch1 -p1
f56282
f56282
f56282
%build
f56282
# This package calls binutils components directly and would need to pass
f56282
# in flags to enable the LTO plugins
f56282
# Disable LTO
f56282
%define _lto_cflags %{nil}
f56282
f56282
# For debug build default flags may be overriden to disable compiler
f56282
# optimizations.
f56282
CFLAGS="%{optflags}" \
f56282
LDFLAGS="%{?__global_ldflags}" \
f56282
make %{?_smp_mflags} NORPATH=1 DOC=n
f56282
f56282
f56282
# Override LIB_AR with empty string to skip installation of static libraries
f56282
%install
f56282
make install DESTDIR=%{buildroot} \
f56282
	DOC=n \
f56282
	LIB_AR= \
f56282
	prefix=%{_prefix} \
f56282
	libdir=%{_libdir} \
f56282
	includedir=%{_includedir} \
f56282
	mandir=%{_mandir} \
f56282
	bindir=%{_bindir} \
f56282
	sysconfdir=%{_sysconfdir} \
f56282
	docdir=%{_docdir}
f56282
mkdir -p %{buildroot}%{_datadir}/pmdk
f56282
cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
f56282
mkdir -p %{buildroot}%{_mandir}
f56282
(cd %{buildroot}%{_mandir}; tar xzvf %{SOURCE1})
f56282
f56282
f56282
%check
f56282
%if 0%{?_skip_check} == 1
f56282
	echo "Check skipped"
f56282
%else
f56282
	echo "PMEM_FS_DIR=/tmp"                  > src/test/testconfig.sh
f56282
	echo "PMEM_FS_DIR_FORCE_PMEM=1"         >> src/test/testconfig.sh
f56282
	echo 'TEST_BUILD="debug nondebug"'      >> src/test/testconfig.sh
f56282
	echo "TM=1"                             >> src/test/testconfig.sh
f56282
f56282
	echo "config = {"                        > src/test/testconfig.py
f56282
	echo "  'pmem_fs_dir': '/tmp',"         >> src/test/testconfig.py
f56282
	echo "  'fs_dir_force_pmem': 1,"        >> src/test/testconfig.py
f56282
	echo "  'build': ['debug', 'release']," >> src/test/testconfig.py
f56282
	echo "  'tm': 1,"                       >> src/test/testconfig.py
f56282
	echo "  'test_type': 'check',"          >> src/test/testconfig.py
f56282
	echo "  'fs': 'all',"                   >> src/test/testconfig.py
f56282
	echo "  'unittest_log_level': 1,"       >> src/test/testconfig.py
f56282
	echo "  'keep_going': False,"           >> src/test/testconfig.py
f56282
	echo "  'timeout': '30m',"              >> src/test/testconfig.py
f56282
	echo "  'dump_lines': 30,"              >> src/test/testconfig.py
f56282
	echo "  'force_enable': None,"          >> src/test/testconfig.py
f56282
	echo "  'device_dax_path': [],"         >> src/test/testconfig.py
f56282
	echo "  'granularity': 'cacheline',"    >> src/test/testconfig.py
f56282
	echo "  'enable_admin_tests': False,"   >> src/test/testconfig.py
f56282
	echo "  'fail_on_skip': False,"         >> src/test/testconfig.py
f56282
	echo "  'cacheline_fs_dir': '/tmp',"    >> src/test/testconfig.py
f56282
	echo "  'force_cacheline': True,"       >> src/test/testconfig.py
f56282
	echo "  'granularity': 'cacheline',"    >> src/test/testconfig.py
f56282
	echo "}"                                >> src/test/testconfig.py
f56282
f56282
	rm -f src/test/obj_sync/TEST7
f56282
f56282
	make pycheck
f56282
	make check
f56282
%endif
f56282
f56282
%ldconfig_scriptlets   -n libpmem
f56282
%ldconfig_scriptlets   -n libpmem2
f56282
%ldconfig_scriptlets   -n libpmemblk
f56282
%ldconfig_scriptlets   -n libpmemlog
f56282
%ldconfig_scriptlets   -n libpmemobj
f56282
%ldconfig_scriptlets   -n libpmempool
f56282
f56282
%if 0%{?__debug_package} == 0
f56282
%debug_package
f56282
%endif
f56282
f56282
f56282
%changelog
cd9190
* Tue Oct 18 2022 Bryan Gurney <bgurney@redhat.com > 1.12.1-1
cd9190
- Update to PMDK version 1.12.1
cd9190
- Related: rhbz#2111431
cd9190
70c84a
* Mon Feb 07 2022 Bryan Gurney <bgurney@redhat.com> - 1.10.1-2
70c84a
- Use DDEBUG in Makefile.inc instead of DEBUG_CFLAGS
70c84a
- Related: rhbz#2044882
70c84a
f5d6f0
* Thu Oct 14 2021 Bryan Gurney <bgurney@redhat.com> - 1.10.1-1
f5d6f0
- Update to PMDK version 1.10.1
f5d6f0
- Related: rhbz#1874208
f5d6f0
- Remove BuildRequires line for libfabric-devel
f5d6f0
- Related: rhbz#2009502
f5d6f0
f5d6f0
* Mon Oct 04 2021 Bryan Gurney <bgurney@redhat.com> - 1.10-11
f5d6f0
- Do not generate librpmem man pages
f5d6f0
- Related: rhbz#2002998
f5d6f0
f5d6f0
* Thu Sep 16 2021 Bryan Gurney <bgurney@redhat.com> - 1.10-10
f56282
- Do not build librpmem packages
f5d6f0
- Related: rhbz#2002998
f56282
f56282
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.10-9
f56282
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
f56282
  Related: rhbz#1991688
f56282
f56282
* Mon Aug 02 2021 Bryan Gurney <bgurney@redhat.com> - 1.10-8.el9
f56282
- Supersede uninitialized value patch with upstream version
f56282
- Add upstream patch: common: fix mismatch between prototype and body
f56282
- Makefile: bypass check-doc in check target
f56282
- Related: rhbz#1985096
f56282
f56282
* Fri Jul 30 2021 Bryan Gurney <bgurney@redhat.com> - 1.10.7-el9
f56282
- Remove BuildRequires line for libunwind.devel
f56282
- Resolves: rhbz#1984766
f56282
f56282
* Wed Jun 16 2021 Jeff Moyer <jmoyer@redhat.com> - 1.10-6.el9
f56282
- Build man pages outside of the rpm.
f56282
- Resolves: rhbz#1943530
f56282
f56282
* Mon Apr 26 2021 Jeff Moyer <jmoyer@redhat.com> - 1.10-5
f56282
- Don't run %check on the build infrastructure.
f56282
- Resolves: rhbz#1951273
f56282
f56282
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.10-4
f56282
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
f56282
f56282
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.10-3
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
f56282
f56282
* Fri Dec 04 2020 Jeff Law <law@redhat.com> - 1.10-2
f56282
- Fix uninitialized variable in tests caught by gcc-11 (again)
f56282
f56282
* Sat Oct 31 2020 Adam Borowski <kilobyte@angband.pl> - 1.10-1
f56282
- Update to PMDK version 1.10
f56282
- New set of binary libraries: libpmem2{,-devel,-debug}
f56282
- Drop obj_sync/7 test as it randomly fails on ppc64le (to investigate).
f56282
f56282
* Fri Oct 30 2020 Adam Borowski <kilobyte@angband.pl> - 1.9.2-2
f56282
- Second attempt -- retry a transient failure on ppc64le.
f56282
f56282
* Wed Oct 28 2020 Adam Borowski <kilobyte@angband.pl> - 1.9.2-1
f56282
- Update to PMDK version 1.9.2
f56282
- Install pmem_ctl(5).
f56282
f56282
* Fri Oct 2 2020 Adam Borowski <kilobyte@angband.pl> - 1.9.1-1
f56282
- Update to PMDK version 1.9.1
f56282
f56282
* Tue Sep 15 2020 Jeff Law <law@redhat.com> - 1.9-5
f56282
- Fix uninitialized variable in tests caught by gcc-11
f56282
f56282
* Tue Aug 18 2020 Adam Borowski <kilobyte@angband.pl> - 1.9-4
f56282
- Fix FTBFS with new binutils.
f56282
f56282
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9-3
f56282
- Second attempt - Rebuilt for
f56282
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
f56282
f56282
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9-2
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
f56282
f56282
* Tue Jul 7 2020 Adam Borowski <kilobyte@angband.pl> - 1.9-1
f56282
- Update to PMDK version 1.9
f56282
- Drop upstreamed patches.
f56282
- Add pandoc and groff to B-Reqs.
f56282
- Add required testconfig.py fields.
f56282
- Increase test timeout.
f56282
f56282
* Tue Jun 30 2020 Jeff Law <law@redhat.com> - 1.8-3
f56282
Disable LTO
f56282
f56282
* Wed Feb 26 2020 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.8-2
f56282
- Enable PPC64LE packages
f56282
f56282
* Wed Feb 12 2020 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.8-1
f56282
- Update to PMDK version 1.8. This release stops shipping
f56282
  libvmem & libvmmalloc. These libraries are now provided by vmem
f56282
  package.
f56282
f56282
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.7-2
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
f56282
f56282
* Tue Oct 1 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.7-1
f56282
- Update to PMDK version 1.7
f56282
f56282
* Fri Aug 30 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.6.1-1
f56282
- Update to PMDK version 1.6.1
f56282
f56282
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.6-2
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
f56282
f56282
* Tue Mar 26 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.6-1
f56282
- Update to PMDK version 1.6
f56282
f56282
* Mon Mar 18 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.6-0.1.rc2
f56282
- Update to PMDK version 1.6-rc2
f56282
f56282
* Fri Mar 08 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.5.1-1
f56282
- Update to PMDK version 1.5.1
f56282
f56282
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5-3
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
f56282
f56282
* Fri Dec 14 2018 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.5-2
f56282
- Remove Group: tag and add ownership information for libpmemobj headers
f56282
  directory.
f56282
f56282
* Tue Nov 6 2018 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.5-1
f56282
- Update to PMDK version 1.5
f56282
  libpmemobj C++ bindings moved to separate package (RHBZ #1647145)
f56282
  pmempool convert is now a thin wrapper around pmdk-convert (RHBZ #1647147)
f56282
f56282
* Fri Aug 17 2018 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.4.2-1
f56282
- Update to PMDK version 1.4.2 (RHBZ #1589406)
f56282
f56282
* Tue Aug 14 2018 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.4.2-0.2.rc1
f56282
- Revert package name change
f56282
f56282
* Tue Aug 14 2018 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.4.2-0.1.rc1
f56282
- Update to PMDK version 1.4.2-rc1 (RHBZ #1589406)
f56282
f56282
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4-4
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
f56282
f56282
* Fri Mar 30 2018 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.4-3
f56282
- Revert package name change
f56282
- Re-enable check
f56282
f56282
* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.4-2
f56282
- Fix issues found by rpmlint
f56282
f56282
* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.4-1
f56282
- Rename NVML project to PMDK
f56282
- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
f56282
f56282
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
f56282
f56282
* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.3.1-1
f56282
- Update to NVML version 1.3.1 (RHBZ #1480578)
f56282
f56282
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-3
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
f56282
f56282
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-2
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
f56282
f56282
* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.3-1
f56282
- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
f56282
- Add librpmem and rpmemd sub-packages
f56282
- Force file system to appear as PMEM for make check
f56282
f56282
* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2.3-2
f56282
- Update to NVML version 1.2.3 (RHBZ #1451741)
f56282
f56282
* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2.2-1
f56282
- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
f56282
f56282
* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2.1-1
f56282
- Update to NVML version 1.2.1 (RHBZ #1425038)
f56282
f56282
* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2-3
f56282
- Fix compilation under gcc 7.0.x (RHBZ #1424004)
f56282
f56282
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-2
f56282
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
f56282
f56282
* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.2-1
f56282
- Update to NVML version 1.2 (RHBZ #1383467)
f56282
- Add libpmemobj C++ bindings
f56282
f56282
* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.1-3
f56282
- Add missing package version requirements
f56282
f56282
* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.1-2
f56282
- Move debug variants of the libraries to -debug subpackages
f56282
f56282
* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.1-1
f56282
- NVML 1.1 release
f56282
- Update link to source tarball
f56282
- Add libpmempool subpackage
f56282
- Remove obsolete patches
f56282
f56282
* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
f56282
- switch to ExclusiveArch
f56282
f56282
* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.0-2
f56282
- Exclude PPC architecture
f56282
- Add bug numbers for excluded architectures
f56282
f56282
* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo@intel.com> - 1.0-1
f56282
- Initial RPM release