Compare commits
10 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 32b1d14878 | |||
| 0e93638d7a | |||
| 3fb78cdf3f | |||
| 4426f70212 | |||
| 3d6b7fd90f | |||
| 2ba4fa987a | |||
| 2f64e855a3 | |||
| 3d12408179 | |||
| aff010472e | |||
| 388cbf2d87 |
BIN
1.11.1.tar.gz
LFS
BIN
1.11.1.tar.gz
LFS
Binary file not shown.
@@ -1,34 +0,0 @@
|
||||
commit 96ef671e0653571e1c189ad58db9cdca72efb7a8
|
||||
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
Date: Wed Jul 22 10:13:36 2020 +0200
|
||||
|
||||
examples: rpmem: add missing -lfabric flag
|
||||
|
||||
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
diff --git src/examples/librpmem/Makefile src/examples/librpmem/Makefile
|
||||
index fe88c819aa3c..c0302befcf7b 100644
|
||||
--- src/examples/librpmem/Makefile
|
||||
+++ src/examples/librpmem/Makefile
|
||||
@@ -11,7 +11,7 @@ ifeq ($(BUILD_RPMEM), y)
|
||||
PROGS = basic hello manpage
|
||||
DIRS = fibonacci
|
||||
|
||||
-LIBS = -lrpmem -pthread
|
||||
+LIBS = -lrpmem -pthread -lfabric
|
||||
else
|
||||
$(info NOTE: Skipping librpmem examples because $(BUILD_RPMEM_INFO))
|
||||
endif
|
||||
diff --git src/examples/librpmem/fibonacci/Makefile src/examples/librpmem/fibonacci/Makefile
|
||||
index f320ce0ba753..73789a22d7ba 100644
|
||||
--- src/examples/librpmem/fibonacci/Makefile
|
||||
+++ src/examples/librpmem/fibonacci/Makefile
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
PROGS = fibonacci
|
||||
|
||||
-LIBS = -lrpmem -lpmem -pthread
|
||||
+LIBS = -lrpmem -lpmem -pthread -lfabric
|
||||
|
||||
include ../../Makefile.inc
|
||||
|
||||
16
gen-doc.sh
16
gen-doc.sh
@@ -1,14 +1,14 @@
|
||||
#!/bin/bash
|
||||
# Run this script after updating the source tarball and changing the version number in the spec file.
|
||||
# If you get errors about missing files in ./doc/librpmem/ and ./doc/rpmemd you are probably missing
|
||||
# libfabric
|
||||
# Run this script after updating the source tarball and changing the version
|
||||
# number in the spec file. If you get errors about missing files in
|
||||
# ./doc/librpmem/ and ./doc/rpmemd, you are probably missing libfabric.
|
||||
|
||||
TARBALL=$(rpmspec --parse pmdk.spec| grep "Source:" | awk '{ print $NF'} | xargs basename)
|
||||
DIR=$(tar tvf $TARBALL | head -n 1 | awk '{ print $NF}')
|
||||
DIR=$(tar -tvf "$TARBALL" | head -n 1 | awk '{ print $NF}')
|
||||
|
||||
rm -Rf $DIR
|
||||
tar xf $TARBALL
|
||||
cd $DIR
|
||||
rm -Rf "$DIR"
|
||||
tar -xf "$TARBALL"
|
||||
cd "$DIR"
|
||||
make -C doc all
|
||||
FILES=$(find . -name "*\.[1357].md" | sed -e 's/\.md$//')
|
||||
tar czf ../pregen-doc.tgz $FILES
|
||||
tar --use=xz -cf ../pregen-doc.tar.xz $FILES
|
||||
|
||||
3
pmdk-2.1.1.tar.gz
Normal file
3
pmdk-2.1.1.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1abc9a518e43920733809a809edd1555f7a48fa8abae242a958e1ab3436f7e3f
|
||||
size 1545892
|
||||
14
pmdk-2.1.1.tar.gz.asc
Normal file
14
pmdk-2.1.1.tar.gz.asc
Normal file
@@ -0,0 +1,14 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQGzBAABCAAdFiEEZTcpJLRAQlU0ble9ggjtKK/+QoAFAme1vw8ACgkQggjtKK/+
|
||||
QoALgQwAn5Lypm+ixMpe3YbSMlSyuSqks+XfAoxtkyThBL4yRhkFb4IyD1kYKSlZ
|
||||
qJELXSKoTkm42N4d6KNzGCj/c43w/VNlVclPp8b9qOsWAK3u5a/8AHJyO9odr/MP
|
||||
cq3qi9mkb6vnWX+aZsI36OuMr1xVrHAsziDy75zA4Hn2FpTheKw3aZ1hmiTmzf+E
|
||||
9cZ8ynmysPChbom3d98u2hlVQKspPkoOo0ZwzPE/ppXqISjSJdtcxVfpczWcxbHn
|
||||
eNjN9WS5/VjURkbwDRykdf4Sdd9gC37xSW01xGsPY17m3DBel7T59Vy1VtZgyMO/
|
||||
dv75KCPmLpkdUv/4IVi3MXVjGEZEfJQdkrcc3/8aPfEO7TNlqhtbzPxuxXb7aI62
|
||||
yoTsP5svjSu1iACj6D8q1hLazSzXgLTLCOMzpS/kyvctE9KRpQLuuV454t4RSWfF
|
||||
UMbBN9Ya+nQ31sftXVPzIFwA39H7AZi2HSICdBJdo6ZF0xYcvtocxvyn/gpzeF2Q
|
||||
AKLunt6X
|
||||
=5KBg
|
||||
-----END PGP SIGNATURE-----
|
||||
50
pmdk.changes
50
pmdk.changes
@@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 25 20:39:02 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 2.1.1
|
||||
* Mute error messages when transactions are intentionally
|
||||
aborted.
|
||||
* Mute error message "Cannot find any matching device, no bad
|
||||
blocks found" when PMDK is used without PMem.
|
||||
- Delete 6096.patch (merged)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 6 09:22:13 UTC 2024 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Add patch to fix build on aarch64:
|
||||
* 6096.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 24 10:37:10 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 2.1
|
||||
* New logging subsystem; Messages by default are printed to
|
||||
syslog and stderr but might be redirected to a user-defined
|
||||
function (cf. pmem(obj)_log_set_function,
|
||||
pmem(obj)_log_set_treshold).
|
||||
* Introduced fuses against ill-considered use of NDCTL_ENABLE=n.
|
||||
* Does not allow create PMEMOBJ pool without unsafe shutdown
|
||||
counter (USC).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 12 07:13:15 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 2.0.1
|
||||
* Removes librpmem. Those interested in remote persistent memory
|
||||
support should use the rpma library.
|
||||
* Removes libpmemset - it was an experimental library.
|
||||
* Removes libpmemlog, libpmemblk, btt, and their support in
|
||||
(lib)pmempool
|
||||
* Removes all pmem2_async operations (experimental)
|
||||
* Introduces a new set of APIs in libpmem2 to perform
|
||||
asynchronous data movement operations. To use this feature,
|
||||
software needs to include an optional miniasync(7) dependency.
|
||||
* Adds new API to machine safe read/write operations in the pmem2
|
||||
library.
|
||||
* Introduces support for movdir64b instruction for memory
|
||||
operation functions in the libpmem2 library.
|
||||
* Adds experimental support for RISC-V.
|
||||
* Significantly reduces the libpmem's stack usage.
|
||||
* Reduces libpmemobj's stack usage below the 11kB threshold.
|
||||
- Delete examples-rpmem-add-missing-lfabric-flag.patch (obsolete)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 6 08:54:51 UTC 2021 - Christian Vögl <christian.voegl@suse.com>
|
||||
|
||||
|
||||
182
pmdk.spec
182
pmdk.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package pmdk
|
||||
#
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright 2016, Intel Corporation
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
@@ -17,46 +17,31 @@
|
||||
#
|
||||
|
||||
|
||||
%if 0%{?suse_version} > 1315
|
||||
%define with_fabric 1
|
||||
%endif
|
||||
|
||||
%define min_libfabric_ver 1.4.2
|
||||
%define min_ndctl_ver 63.0
|
||||
|
||||
Name: pmdk
|
||||
Version: 1.11.1
|
||||
Version: 2.1.1
|
||||
Release: 0
|
||||
Summary: Persistent Memory Development Kit
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Libraries/C and C++
|
||||
URL: http://pmem.io/pmdk/
|
||||
|
||||
Source: https://github.com/pmem/pmdk/archive/%version.tar.gz
|
||||
Source1: pregen-doc.tgz
|
||||
Source: https://github.com/pmem/pmdk/releases/download/%version/%name-%version.tar.gz
|
||||
Source2: https://github.com/pmem/pmdk/releases/download/%version/%name-%version.tar.gz.asc
|
||||
Source10: pregen-doc.tar.xz
|
||||
Source99: gen-doc.sh
|
||||
Patch0: examples-rpmem-add-missing-lfabric-flag.patch
|
||||
|
||||
BuildRequires: automake
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: man
|
||||
BuildRequires: pkg-config
|
||||
%if 0%{?with_fabric}
|
||||
BuildRequires: libfabric-devel >= %min_libfabric_ver
|
||||
%endif
|
||||
# NVML was renamed upstream to PMDK between 1.3 and 1.3.1
|
||||
Obsoletes: nvml < %version-%release
|
||||
Provides: nvml = %version-%release
|
||||
BuildRequires: libndctl-devel >= %min_ndctl_ver
|
||||
|
||||
# By design, NVML does not support any 32-bit architecture.
|
||||
# Due to dependency on xmmintrin.h and some inline assembly, it can be
|
||||
# compiled only for x86_64 at the moment.
|
||||
# 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.
|
||||
ExclusiveArch: x86_64 aarch64 ppc64le
|
||||
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
|
||||
|
||||
# Debug variants of the libraries should be filtered out of the provides.
|
||||
%global __provides_exclude_from ^%_libdir/pmdk_debug/.*\\.so.*$
|
||||
@@ -137,51 +122,6 @@ will find higher level libraries like libpmemobj to be much more
|
||||
convenient. libpmem2 has a new API that addresses many of the shortcommings
|
||||
of libpmem1
|
||||
|
||||
%package -n libpmemblk1
|
||||
Summary: Persistent Memory Resident Block library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libpmemblk1
|
||||
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).
|
||||
|
||||
%package -n libpmemblk-devel
|
||||
Summary: Development files for the Persistent Memory Resident Block library
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libpmemblk1 = %version
|
||||
|
||||
%description -n libpmemblk-devel
|
||||
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.
|
||||
|
||||
%package -n libpmemlog1
|
||||
Summary: Persistent Memory Resident Log File library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libpmemlog1
|
||||
The libpmemlog library provides a pmem-resident log file. This is
|
||||
useful for programs like databases that append frequently to a log
|
||||
file.
|
||||
|
||||
%package -n libpmemlog-devel
|
||||
Summary: Development files for the Persistent Memory Resident Log File library
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libpmemlog1 = %version
|
||||
|
||||
%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.
|
||||
|
||||
%package -n libpmemobj1
|
||||
Summary: Persistent Memory Transactional Object Store library
|
||||
Group: System/Libraries
|
||||
@@ -209,7 +149,7 @@ Group: System/Libraries
|
||||
%description -n libpmempool1
|
||||
The libpmempool library provides a set of utilities for off-line administration,
|
||||
analysis, diagnostics and repair of persistent memory pools created
|
||||
by libpmemlog, libpemblk and libpmemobj libraries.
|
||||
by libpmemobj libraries.
|
||||
|
||||
%package -n libpmempool-devel
|
||||
Summary: Development files for Persistent Memory pool management library
|
||||
@@ -219,57 +159,25 @@ Requires: libpmempool1 = %version
|
||||
%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, libpemblk and libpmemobj libraries.
|
||||
|
||||
%package -n librpmem1
|
||||
Summary: Remote Access to Persistent Memory library
|
||||
#Manual dependency to make sure libfabric is at least in this version
|
||||
Group: System/Libraries
|
||||
Requires: libfabric >= %min_libfabric_ver
|
||||
Requires: openssh
|
||||
|
||||
%description -n librpmem1
|
||||
The librpmem library provides low-level support for remote access
|
||||
to persistent memory utilizing RDMA-capable NICs. It can be used
|
||||
to replicate persistent memory regions over RDMA protocol.
|
||||
|
||||
%package -n librpmem-devel
|
||||
Summary: Development files for the Remote Access to Persistent Memory library
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: librpmem1 = %version
|
||||
|
||||
%description -n librpmem-devel
|
||||
The librpmem library provides low-level support for remote access
|
||||
to persistent memory utilizing RDMA-capable NICs. It can be used
|
||||
to replicate persistent memory regions over RDMA protocol.
|
||||
|
||||
This sub-package contains libraries and header files for developing
|
||||
applications that want to specifically make use of librpmem.
|
||||
|
||||
%package -n rpmemd
|
||||
Summary: Target node process executed by librpmem
|
||||
#Manual dependency to make sure libfabric is at least in this version
|
||||
Group: System/Base
|
||||
Requires: libfabric >= %min_libfabric_ver
|
||||
|
||||
%description -n rpmemd
|
||||
The rpmemd process is executed on a target node by librpmem library
|
||||
and facilitates access to persistent memory over RDMA.
|
||||
by libpmemobj libraries.
|
||||
|
||||
%package devel-doc
|
||||
Summary: Man pages for the libpmem C API
|
||||
Group: Documentation/Man
|
||||
BuildArch: noarch
|
||||
|
||||
%description devel-doc
|
||||
Documentation for the pmem library interface.
|
||||
|
||||
%prep
|
||||
%autosetup -p0 -a1
|
||||
%autosetup -p1 -a10
|
||||
# we have pregenerated pages
|
||||
find doc -type f -name "*.[0-9].md" -delete
|
||||
|
||||
%build
|
||||
%define _lto_cflags %nil
|
||||
# Currently, NVML makefiles do not allow to easily override CFLAGS,
|
||||
# so the build flags are passed via EXTRA_CFLAGS. For debug build
|
||||
# so the build flags are passed via EXTRA_CFLAGS. For debug builds,
|
||||
# selected flags are overriden to disable compiler optimizations.
|
||||
#
|
||||
# remaining issues:
|
||||
@@ -277,15 +185,13 @@ Documentation for the pmem library interface.
|
||||
EXTRA_CFLAGS_RELEASE="%optflags" \
|
||||
EXTRA_CFLAGS_DEBUG="%optflags -Wp,-U_FORTIFY_SOURCE -O0" \
|
||||
EXTRA_CXXFLAGS="%optflags" \
|
||||
make %{?_smp_mflags} BINDIR="%_bindir" EXTRA_CFLAGS="-Wno-error" \
|
||||
%if 0%{?with_fabric}
|
||||
BUILD_RPMEM=y \
|
||||
%endif
|
||||
%make_build BINDIR="%_bindir" EXTRA_CFLAGS="-Wno-error" \
|
||||
NORPATH=1
|
||||
|
||||
# Override LIB_AR with empty string to skip installation of static libraries
|
||||
%install
|
||||
b="%buildroot"
|
||||
|
||||
%make_install LIB_AR= \
|
||||
prefix="%_prefix" \
|
||||
libdir="%_libdir" \
|
||||
@@ -307,20 +213,10 @@ mv %buildroot/%_sysconfdir/bash_completion.d/* %buildroot/%_datadir/bash-complet
|
||||
cp src/test/testconfig.sh.example src/test/testconfig.sh
|
||||
#make check
|
||||
|
||||
%post -n libpmem1 -p /sbin/ldconfig
|
||||
%postun -n libpmem1 -p /sbin/ldconfig
|
||||
%post -n libpmem2-1 -p /sbin/ldconfig
|
||||
%postun -n libpmem2-1 -p /sbin/ldconfig
|
||||
%post -n libpmemblk1 -p /sbin/ldconfig
|
||||
%postun -n libpmemblk1 -p /sbin/ldconfig
|
||||
%post -n libpmemlog1 -p /sbin/ldconfig
|
||||
%postun -n libpmemlog1 -p /sbin/ldconfig
|
||||
%post -n libpmemobj1 -p /sbin/ldconfig
|
||||
%postun -n libpmemobj1 -p /sbin/ldconfig
|
||||
%post -n libpmempool1 -p /sbin/ldconfig
|
||||
%postun -n libpmempool1 -p /sbin/ldconfig
|
||||
%post -n librpmem1 -p /sbin/ldconfig
|
||||
%postun -n librpmem1 -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets -n libpmem1
|
||||
%ldconfig_scriptlets -n libpmem2-1
|
||||
%ldconfig_scriptlets -n libpmemobj1
|
||||
%ldconfig_scriptlets -n libpmempool1
|
||||
|
||||
%files
|
||||
%_datadir/pmdk/
|
||||
@@ -358,26 +254,7 @@ cp src/test/testconfig.sh.example src/test/testconfig.sh
|
||||
%dir %_libdir/pmdk_debug/
|
||||
%_libdir/pmdk_debug/libpmem2.so*
|
||||
%_includedir/libpmem2.h
|
||||
|
||||
%files -n libpmemblk1
|
||||
%_libdir/libpmemblk.so.1*
|
||||
|
||||
%files -n libpmemblk-devel
|
||||
%_libdir/libpmemblk.so
|
||||
%_libdir/pkgconfig/libpmemblk.pc
|
||||
%dir %_libdir/pmdk_debug/
|
||||
%_libdir/pmdk_debug/libpmemblk.so*
|
||||
%_includedir/libpmemblk.h
|
||||
|
||||
%files -n libpmemlog1
|
||||
%_libdir/libpmemlog.so.1*
|
||||
|
||||
%files -n libpmemlog-devel
|
||||
%_libdir/libpmemlog.so
|
||||
%_libdir/pkgconfig/libpmemlog.pc
|
||||
%dir %_libdir/pmdk_debug/
|
||||
%_libdir/pmdk_debug/libpmemlog.so*
|
||||
%_includedir/libpmemlog.h
|
||||
%_includedir/libpmem2/
|
||||
|
||||
%files -n libpmemobj1
|
||||
%_libdir/libpmemobj.so.1*
|
||||
@@ -400,25 +277,6 @@ cp src/test/testconfig.sh.example src/test/testconfig.sh
|
||||
%_libdir/pmdk_debug/libpmempool.so*
|
||||
%_includedir/libpmempool.h
|
||||
|
||||
%if 0%{?with_fabric}
|
||||
%files -n librpmem1
|
||||
%_libdir/librpmem.so.*
|
||||
%license LICENSE
|
||||
|
||||
%files -n librpmem-devel
|
||||
%_libdir/librpmem.so
|
||||
%_libdir/pkgconfig/librpmem.pc
|
||||
%dir %_libdir/pmdk_debug
|
||||
%_libdir/pmdk_debug/librpmem.so*
|
||||
%_includedir/librpmem.h
|
||||
%license LICENSE
|
||||
|
||||
%files -n rpmemd
|
||||
%_bindir/rpmemd
|
||||
%_mandir/man1/rpmemd.1*
|
||||
#with_fabric
|
||||
%endif
|
||||
|
||||
%files devel-doc
|
||||
%_mandir/man3/*.3*
|
||||
%_mandir/man7/*.7*
|
||||
|
||||
3
pregen-doc.tar.xz
Normal file
3
pregen-doc.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6e474def55d8328ebfa7eae505b07b298dc1936a7479b88e80d3a93ce28722cb
|
||||
size 72256
|
||||
BIN
pregen-doc.tgz
LFS
BIN
pregen-doc.tgz
LFS
Binary file not shown.
Reference in New Issue
Block a user