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