Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/libpmemobj-cpp.git#7527eb7f9d4ac9f0f6863913b5a4148d8502aabe
This commit is contained in:
DistroBaker 2021-02-15 15:25:19 +00:00
parent 7a906bfd9f
commit 3c1df3b7ab
4 changed files with 20 additions and 35 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
/libpmemobj-cpp-1.9.tar.gz /libpmemobj-cpp-1.9.tar.gz
/libpmemobj-cpp-1.10.tar.gz /libpmemobj-cpp-1.10.tar.gz
/libpmemobj-cpp-1.11.tar.gz /libpmemobj-cpp-1.11.tar.gz
/libpmemobj-cpp-1.12.tar.gz

View File

@ -1,17 +1,16 @@
%global __cmake_in_source_build 1 %global __cmake_in_source_build 1
%global min_libpmemobj_ver 1.9 %global min_libpmemobj_ver 1.9
%global upstreamversion 1.11 %global upstreamversion 1.12
Name: libpmemobj-cpp Name: libpmemobj-cpp
Version: 1.11 Version: 1.12
Release: 2%{?dist} Release: 1%{?dist}
Summary: C++ bindings for libpmemobj Summary: C++ bindings for libpmemobj
# Note: tests/external/libcxx is dual licensed using University of Illinois "BSD-Like" license and the MIT license. It's used only during development/testing and is NOT part of the binary RPM. # Note: tests/external/libcxx is dual licensed using University of Illinois "BSD-Like" license and the MIT license. It's used only during development/testing and is NOT part of the binary RPM.
License: BSD License: BSD
URL: http://pmem.io/pmdk/cpp_obj/ URL: http://pmem.io/pmdk/cpp_obj/
Source0: https://github.com/pmem/%{name}/archive/%{upstreamversion}.tar.gz#/%{name}-%{upstreamversion}.tar.gz Source0: https://github.com/pmem/%{name}/archive/%{upstreamversion}.tar.gz#/%{name}-%{upstreamversion}.tar.gz
Patch0: radix-fix.patch
BuildRequires: libpmemobj-devel >= %{min_libpmemobj_ver} BuildRequires: libpmemobj-devel >= %{min_libpmemobj_ver}
BuildRequires: cmake >= 3.3 BuildRequires: cmake >= 3.3
@ -28,7 +27,13 @@ BuildRequires: ncurses-devel
BuildRequires: libunwind-devel BuildRequires: libunwind-devel
BuildRequires: valgrind-devel BuildRequires: valgrind-devel
BuildRequires: tbb-devel BuildRequires: tbb-devel
# RHEL does not ship SFML-devel. The library is only used for the pmpong
# example program, so the library can be built without this dependency,
# and without losing any features.
%if !0%{?rhel}
BuildRequires: SFML-devel BuildRequires: SFML-devel
%endif
BuildRequires: make
# There's nothing x86-64 specific in this package, but we have # There's nothing x86-64 specific in this package, but we have
# to duplicate what spec for pmdk/libpmemobj has at the moment. # to duplicate what spec for pmdk/libpmemobj has at the moment.
@ -97,7 +102,6 @@ HTML documentation for libpmemobj++.
%prep %prep
%setup -q -n libpmemobj-cpp-%{upstreamversion} %setup -q -n libpmemobj-cpp-%{upstreamversion}
%patch0 -p1
%build %build
mkdir build mkdir build
@ -117,6 +121,15 @@ cd build
ctest -V -E concurrent_hash_map_rehash_0_helgrind -E concurrent_hash_map_insert_lookup_0_helgrind -E enumerable_thread_specific_access_0_drd ctest -V -E concurrent_hash_map_rehash_0_helgrind -E concurrent_hash_map_insert_lookup_0_helgrind -E enumerable_thread_specific_access_0_drd
%changelog %changelog
* Mon Feb 15 2021 Adam Borowski <kilobyte@angband.pl> - 1.12-1
- Update to version 1.12.
* Thu Feb 11 2021 Adam Borowski <kilobyte@angband.pl> - 1.11-4
- Make SFML-devel buildrequires dependent on !rhel (jmoyer)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Nov 04 2020 Jeff Law <law@redhat.com> - 1.11-2 * Wed Nov 04 2020 Jeff Law <law@redhat.com> - 1.11-2
- Add libatomic to buildrequires - Add libatomic to buildrequires

View File

@ -1,29 +0,0 @@
From 51cb8afb804db8e71007fb238dab9f9ff0f09ec8 Mon Sep 17 00:00:00 2001
From: Igor Chorążewicz <igor.chorazewicz@intel.com>
Date: Thu, 8 Oct 2020 12:27:12 +0200
Subject: [PATCH] radix_tree: fix internal find
Fix comparison between n->byte and key.size(). When using pmem::obj::string
or inline_string the behavior was ok (since we always have null terminator
at the end), but we technically access out-of-range memory which can cause
asserts in string_view operator[].
---
include/libpmemobj++/experimental/radix_tree.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/libpmemobj++/experimental/radix_tree.hpp b/include/libpmemobj++/experimental/radix_tree.hpp
index e55280c7..9fcc1a4b 100644
--- a/include/libpmemobj++/experimental/radix_tree.hpp
+++ b/include/libpmemobj++/experimental/radix_tree.hpp
@@ -1744,7 +1744,7 @@ radix_tree<Key, Value, BytesView>::internal_find(const K &k) const
while (n && !n.is_leaf()) {
if (path_length_equal(key.size(), n))
n = n->embedded_entry;
- else if (n->byte > key.size())
+ else if (n->byte >= key.size())
return nullptr;
else
n = n->child[slice_index(key[n->byte], n->bit)];
--
2.28.0

View File

@ -1 +1 @@
SHA512 (libpmemobj-cpp-1.11.tar.gz) = 79856e8e017d3f2371d21a74111faba8b7bfb4e9603595a833fd0191a79c32e17c781ec14824447818a78c01db1280130e655b26763d0ec880ee3dd6bc7544f5 SHA512 (libpmemobj-cpp-1.12.tar.gz) = 7d837e57f9caac6c9523eeacd5babe1ce6afb08ae798bf5cbd4b460d347a4aff7f97667cae486e397fc4de03263614af3a4ac3bcbe70dc643d9ee1d6e45246e6