Compare commits
No commits in common. "c8-stream-1_fileformat_v6" and "c9s" have entirely different histories.
c8-stream-
...
c9s
6
.gitignore
vendored
6
.gitignore
vendored
@ -1 +1,5 @@
|
|||||||
SOURCES/libpmemobj-cpp-1.13.0.tar.gz
|
/libpmemobj-cpp-1.9.tar.gz
|
||||||
|
/libpmemobj-cpp-1.10.tar.gz
|
||||||
|
/libpmemobj-cpp-1.11.tar.gz
|
||||||
|
/libpmemobj-cpp-1.12.tar.gz
|
||||||
|
/libpmemobj-cpp-1.13.0.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
25d601e0140f3d8db94edb19902826a6b91286e4 SOURCES/libpmemobj-cpp-1.13.0.tar.gz
|
25d601e0140f3d8db94edb19902826a6b91286e4 libpmemobj-cpp-1.13.0.tar.gz
|
||||||
|
69
0001-vector-Fix-undefined-behaviour-on-realloc.patch
Normal file
69
0001-vector-Fix-undefined-behaviour-on-realloc.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
From 41ddc88a80160050b0ac1a51cb258f8918edf9aa Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Lucas A. M. Magalhaes" <lamm@linux.ibm.com>
|
||||||
|
Date: Wed, 23 Jun 2021 15:05:50 -0300
|
||||||
|
Subject: [PATCH] vector: Fix undefined behaviour on realloc
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
On tests listed bellow the reserve method is being called before any
|
||||||
|
allocation on the object therefore realloc being called without
|
||||||
|
any previous allocation. Inside realloc _data is being used with the
|
||||||
|
operator '[]', as it is nullptr at that moment it's an undefined
|
||||||
|
behaviour.
|
||||||
|
|
||||||
|
This patch simply returns a call to alloc if _data is nullptr.
|
||||||
|
|
||||||
|
This tests fails on PowerPC with Segmentation Fault because of this
|
||||||
|
issue:
|
||||||
|
segment_vector_array_expsize_assign_exceptions_oom_0_none
|
||||||
|
segment_vector_array_expsize_assign_exceptions_oom_0_memcheck
|
||||||
|
segment_vector_array_expsize_capacity_exceptions_oom_0_none
|
||||||
|
segment_vector_array_expsize_capacity_exceptions_oom_0_memcheck
|
||||||
|
segment_vector_array_expsize_modifiers_exceptions_oom_0_none
|
||||||
|
segment_vector_array_expsize_modifiers_exceptions_oom_0_memcheck
|
||||||
|
segment_vector_vector_expsize_assign_exceptions_oom_0_none
|
||||||
|
segment_vector_vector_expsize_assign_exceptions_oom_0_memcheck
|
||||||
|
segment_vector_vector_expsize_capacity_exceptions_oom_0_none
|
||||||
|
segment_vector_vector_expsize_capacity_exceptions_oom_0_memcheck
|
||||||
|
segment_vector_vector_expsize_modifiers_exceptions_oom_0_none
|
||||||
|
segment_vector_vector_expsize_modifiers_exceptions_oom_0_memcheck
|
||||||
|
segment_vector_vector_fixedsize_assign_exceptions_oom_0_none
|
||||||
|
segment_vector_vector_fixedsize_assign_exceptions_oom_0_memcheck
|
||||||
|
|
||||||
|
Signed-off-by: Lucas A. M. Magalhães lamm@linux.ibm.com
|
||||||
|
---
|
||||||
|
include/libpmemobj++/container/vector.hpp | 10 +++++++++-
|
||||||
|
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/include/libpmemobj++/container/vector.hpp b/include/libpmemobj++/container/vector.hpp
|
||||||
|
index f430ed50..9810220b 100644
|
||||||
|
--- a/include/libpmemobj++/container/vector.hpp
|
||||||
|
+++ b/include/libpmemobj++/container/vector.hpp
|
||||||
|
@@ -2362,7 +2362,8 @@ vector<T>::internal_insert(size_type idx, InputIt first, InputIt last)
|
||||||
|
* Private helper function. Must be called during transaction. Allocates new
|
||||||
|
* memory for capacity_new number of elements and copies or moves old elements
|
||||||
|
* to new memory area. If the current size is greater than capacity_new, the
|
||||||
|
- * container is reduced to its first capacity_new elements.
|
||||||
|
+ * container is reduced to its first capacity_new elements. If was never
|
||||||
|
+ * allocated behaves as an alloc call.
|
||||||
|
*
|
||||||
|
* param[in] capacity_new new capacity.
|
||||||
|
*
|
||||||
|
@@ -2381,6 +2382,13 @@ vector<T>::realloc(size_type capacity_new)
|
||||||
|
{
|
||||||
|
assert(pmemobj_tx_stage() == TX_STAGE_WORK);
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * If _data == nullptr this object has never allocated any memory
|
||||||
|
+ * so we need to behave as alloc instead.
|
||||||
|
+ */
|
||||||
|
+ if (_data == nullptr)
|
||||||
|
+ return alloc(capacity_new);
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* XXX: future optimization: we don't have to snapshot data
|
||||||
|
* which we will not overwrite
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
73
0002-vector-fix-referencing-empty-array-rhel90.patch
Normal file
73
0002-vector-fix-referencing-empty-array-rhel90.patch
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
diff --git a/include/libpmemobj++/container/vector.hpp b/include/libpmemobj++/container/vector.hpp
|
||||||
|
--- a/include/libpmemobj++/container/vector.hpp
|
||||||
|
+++ b/include/libpmemobj++/container/vector.hpp
|
||||||
|
@@ -668,7 +668,7 @@ vector<T>::assign(size_type count, const_reference value)
|
||||||
|
add_data_to_tx(0, size_old);
|
||||||
|
|
||||||
|
std::fill_n(
|
||||||
|
- &_data[0],
|
||||||
|
+ _data.get(),
|
||||||
|
(std::min)(count,
|
||||||
|
static_cast<size_type>(size_old)),
|
||||||
|
value);
|
||||||
|
@@ -1600,7 +1600,7 @@ vector<T>::insert(const_iterator pos, size_type count, const value_type &value)
|
||||||
|
single_element_iterator<value_type>(&value, count));
|
||||||
|
});
|
||||||
|
|
||||||
|
- return iterator(&_data[static_cast<difference_type>(idx)]);
|
||||||
|
+ return iterator(_data.get() + static_cast<difference_type>(idx));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -1843,7 +1843,7 @@ typename vector<T>::iterator
|
||||||
|
vector<T>::erase(const_iterator first, const_iterator last)
|
||||||
|
{
|
||||||
|
size_type idx = static_cast<size_type>(
|
||||||
|
- std::distance(const_iterator(&_data[0]), first));
|
||||||
|
+ std::distance(const_iterator(_data.get()), first));
|
||||||
|
size_type count = static_cast<size_type>(std::distance(first, last));
|
||||||
|
|
||||||
|
if (count == 0)
|
||||||
|
@@ -2306,10 +2306,11 @@ vector<T>::internal_insert(size_type idx, InputIt first, InputIt last)
|
||||||
|
auto count = static_cast<size_type>(std::distance(first, last));
|
||||||
|
|
||||||
|
if (_capacity >= size() + count) {
|
||||||
|
- pointer dest =
|
||||||
|
- &_data[static_cast<difference_type>(size() + count)];
|
||||||
|
- pointer begin = &_data[static_cast<difference_type>(idx)];
|
||||||
|
- pointer end = &_data[static_cast<difference_type>(size())];
|
||||||
|
+ pointer dest = _data.get() +
|
||||||
|
+ static_cast<difference_type>(size() + count);
|
||||||
|
+ pointer begin = _data.get() + static_cast<difference_type>(idx);
|
||||||
|
+ pointer end =
|
||||||
|
+ _data.get() + static_cast<difference_type>(size());
|
||||||
|
|
||||||
|
add_data_to_tx(idx, size() - idx + count);
|
||||||
|
|
||||||
|
@@ -2327,9 +2328,11 @@ vector<T>::internal_insert(size_type idx, InputIt first, InputIt last)
|
||||||
|
|
||||||
|
auto old_data = _data;
|
||||||
|
auto old_size = _size;
|
||||||
|
- pointer old_begin = &_data[0];
|
||||||
|
- pointer old_mid = &_data[static_cast<difference_type>(idx)];
|
||||||
|
- pointer old_end = &_data[static_cast<difference_type>(size())];
|
||||||
|
+ pointer old_begin = _data.get();
|
||||||
|
+ pointer old_mid =
|
||||||
|
+ _data.get() + static_cast<difference_type>(idx);
|
||||||
|
+ pointer old_end =
|
||||||
|
+ _data.get() + static_cast<difference_type>(size());
|
||||||
|
|
||||||
|
_data = nullptr;
|
||||||
|
_size = _capacity = 0;
|
||||||
|
@@ -2397,7 +2400,7 @@ vector<T>::realloc(size_type capacity_new)
|
||||||
|
|
||||||
|
auto old_data = _data;
|
||||||
|
auto old_size = _size;
|
||||||
|
- pointer old_begin = &_data[0];
|
||||||
|
+ pointer old_begin = _data.get();
|
||||||
|
pointer old_end = capacity_new < _size
|
||||||
|
? &_data[static_cast<difference_type>(capacity_new)]
|
||||||
|
: &_data[static_cast<difference_type>(size())];
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
@ -1,129 +0,0 @@
|
|||||||
%global min_libpmemobj_ver 1.11.1
|
|
||||||
%global upstreamversion 1.13.0
|
|
||||||
|
|
||||||
Name: libpmemobj-cpp
|
|
||||||
Version: 1.13.0
|
|
||||||
Release: 1%{?dist}
|
|
||||||
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.
|
|
||||||
License: BSD
|
|
||||||
URL: http://pmem.io/pmdk/cpp_obj/
|
|
||||||
|
|
||||||
Source0: https://github.com/pmem/%{name}/archive/%{upstreamversion}.tar.gz#/%{name}-%{upstreamversion}.tar.gz
|
|
||||||
|
|
||||||
BuildRequires: libpmemobj-devel >= %{min_libpmemobj_ver}
|
|
||||||
BuildRequires: cmake >= 3.3
|
|
||||||
BuildRequires: glibc-devel
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
BuildRequires: pkgconfig
|
|
||||||
BuildRequires: doxygen
|
|
||||||
BuildRequires: perl-Encode
|
|
||||||
BuildRequires: libatomic
|
|
||||||
|
|
||||||
# There's nothing x86-64 specific in this package, but we have
|
|
||||||
# to duplicate what spec for pmdk/libpmemobj has at the moment.
|
|
||||||
# Relevant bug reports:
|
|
||||||
# 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=1340636
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
|
|
||||||
ExclusiveArch: x86_64
|
|
||||||
|
|
||||||
%description
|
|
||||||
This package contains header files for libpmemobj C++ bindings and C++
|
|
||||||
containers built on top of them.
|
|
||||||
|
|
||||||
# Specify a virtual Provide for libpmemobj++-static package, so the package
|
|
||||||
# usage can be tracked.
|
|
||||||
%package -n libpmemobj++-devel
|
|
||||||
Summary: C++ bindings for Persistent Memory Transactional Object Store library
|
|
||||||
Provides: libpmemobj++-static = %{version}-%{release}
|
|
||||||
Requires: libpmemobj-devel >= %{min_libpmemobj_ver}
|
|
||||||
|
|
||||||
%description -n libpmemobj++-devel
|
|
||||||
This package contains header files for libpmemobj C++ bindings and C++
|
|
||||||
containers built on top of them.
|
|
||||||
|
|
||||||
The libpmemobj library provides a transactional object store,
|
|
||||||
providing memory allocation, transactions, and general facilities for
|
|
||||||
persistent memory programming.
|
|
||||||
|
|
||||||
%files -n libpmemobj++-devel
|
|
||||||
%{_libdir}/pkgconfig/libpmemobj++.pc
|
|
||||||
%dir %{_includedir}/libpmemobj++
|
|
||||||
%{_includedir}/libpmemobj++/*.hpp
|
|
||||||
%dir %{_includedir}/libpmemobj++/detail
|
|
||||||
%{_includedir}/libpmemobj++/detail/*.hpp
|
|
||||||
%dir %{_includedir}/libpmemobj++/container
|
|
||||||
%{_includedir}/libpmemobj++/container/*.hpp
|
|
||||||
%dir %{_includedir}/libpmemobj++/container/detail
|
|
||||||
%{_includedir}/libpmemobj++/container/detail/*.hpp
|
|
||||||
%dir %{_includedir}/libpmemobj++/experimental
|
|
||||||
%{_includedir}/libpmemobj++/experimental/*.hpp
|
|
||||||
%dir %{_libdir}/libpmemobj++
|
|
||||||
%dir %{_libdir}/libpmemobj++/cmake
|
|
||||||
%{_libdir}/libpmemobj++/cmake/libpmemobj++-config-version.cmake
|
|
||||||
%{_libdir}/libpmemobj++/cmake/libpmemobj++-config.cmake
|
|
||||||
|
|
||||||
%license LICENSE
|
|
||||||
|
|
||||||
%doc ChangeLog README.md
|
|
||||||
|
|
||||||
%package -n libpmemobj++-doc
|
|
||||||
Summary: HTML documentation for libpmemobj++
|
|
||||||
|
|
||||||
%description -n libpmemobj++-doc
|
|
||||||
HTML documentation for libpmemobj++.
|
|
||||||
|
|
||||||
%files -n libpmemobj++-doc
|
|
||||||
%dir %{_docdir}/libpmemobj++
|
|
||||||
%{_docdir}/libpmemobj++/*
|
|
||||||
|
|
||||||
%license LICENSE
|
|
||||||
|
|
||||||
%doc ChangeLog README.md
|
|
||||||
|
|
||||||
%global debug_package %{nil}
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q
|
|
||||||
|
|
||||||
%build
|
|
||||||
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
%cmake .. -DCMAKE_INSTALL_DOCDIR=%{_docdir}/libpmemobj++ -DBUILD_TESTS=off -DCXX_STANDARD=17 -DTESTS_USE_VALGRIND=OFF
|
|
||||||
%make_build
|
|
||||||
|
|
||||||
%install
|
|
||||||
cd build
|
|
||||||
%make_install
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Mon Nov 21 2022 Bryan Gurney <bgurney@redhat.com> - 1.13.0-1
|
|
||||||
- Update to version 1.13.0
|
|
||||||
- Related: rhbz#2111428
|
|
||||||
|
|
||||||
* Thu Mar 10 2022 Bryan Gurney <bgurney@redhat.com> - 1.11-2
|
|
||||||
- Add libatomic to BuildRequires
|
|
||||||
- Related: rhbz#2061720
|
|
||||||
|
|
||||||
* Wed Jan 26 2022 Bryan Gurney <bgurney@redhat.com> - 1.11-1
|
|
||||||
- Update to upstream version 1.11
|
|
||||||
- Related: rhbz#2009889
|
|
||||||
|
|
||||||
* Mon Feb 1 2021 Jeff Moyer <jmoyer@redhat.com> - 1.9-1
|
|
||||||
- Update to upstream version 1.9
|
|
||||||
- get rid of % check, as the builtin tests now require packages we don't ship.
|
|
||||||
- Related: rhbz#1780389
|
|
||||||
|
|
||||||
* Tue Jun 18 2019 Jeff Moyer <jmoyer@redhat.com> - 1.6-2.el8
|
|
||||||
- new build to kick off gating tests
|
|
||||||
- Related: rhbz#1659659
|
|
||||||
|
|
||||||
* Mon Jun 17 2019 Jeff Moyer <jmoyer@redhat.com> - 1.6-1.el8
|
|
||||||
- initial RHEL8 import
|
|
||||||
- Resolves: rhbz#1659659
|
|
||||||
|
|
||||||
* Thu Nov 8 2018 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.5-1
|
|
||||||
- Initial RPM release
|
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
4
libpmemobj-cpp.rpmlintrc
Normal file
4
libpmemobj-cpp.rpmlintrc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# SPELLING ERRORS
|
||||||
|
|
||||||
|
addFilter(r'spelling-error .* en_US (libpmemobj|transactional)')
|
||||||
|
addFilter(r'spelling-error .*\(en_US\) (libpmemobj|transactional)')
|
212
libpmemobj-cpp.spec
Normal file
212
libpmemobj-cpp.spec
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
%global __cmake_in_source_build 1
|
||||||
|
%global min_libpmemobj_ver 1.9
|
||||||
|
%global upstreamversion 1.13.0
|
||||||
|
|
||||||
|
Name: libpmemobj-cpp
|
||||||
|
Version: 1.13.0
|
||||||
|
Release: 1%{?dist}
|
||||||
|
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.
|
||||||
|
License: BSD
|
||||||
|
URL: http://pmem.io/pmdk/cpp_obj/
|
||||||
|
|
||||||
|
Source0: https://github.com/pmem/%{name}/archive/%{upstreamversion}.tar.gz#/%{name}-%{upstreamversion}.tar.gz
|
||||||
|
|
||||||
|
BuildRequires: libpmemobj-devel >= %{min_libpmemobj_ver}
|
||||||
|
BuildRequires: cmake >= 3.3
|
||||||
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: doxygen
|
||||||
|
BuildRequires: perl-Encode
|
||||||
|
BuildRequires: gdb
|
||||||
|
BuildRequires: libatomic
|
||||||
|
|
||||||
|
# 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
|
||||||
|
%endif
|
||||||
|
BuildRequires: make
|
||||||
|
|
||||||
|
# There's nothing x86-64 specific in this package, but we have
|
||||||
|
# to duplicate what spec for pmdk/libpmemobj has at the moment.
|
||||||
|
# Relevant bug reports:
|
||||||
|
# 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=1340636
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
|
||||||
|
ExclusiveArch: x86_64 ppc64le
|
||||||
|
|
||||||
|
%description
|
||||||
|
This package contains header files for libpmemobj C++ bindings and C++
|
||||||
|
containers built on top of them.
|
||||||
|
|
||||||
|
# Specify a virtual Provide for libpmemobj++-static package, so the package
|
||||||
|
# usage can be tracked.
|
||||||
|
%package -n libpmemobj++-devel
|
||||||
|
Summary: C++ bindings for Persistent Memory Transactional Object Store library
|
||||||
|
Provides: libpmemobj++-static = %{version}-%{release}
|
||||||
|
Requires: libpmemobj-devel >= %{min_libpmemobj_ver}
|
||||||
|
|
||||||
|
%description -n libpmemobj++-devel
|
||||||
|
This package contains header files for libpmemobj C++ bindings and C++
|
||||||
|
containers built on top of them.
|
||||||
|
|
||||||
|
The libpmemobj library provides a transactional object store,
|
||||||
|
providing memory allocation, transactions, and general facilities for
|
||||||
|
persistent memory programming.
|
||||||
|
|
||||||
|
%files -n libpmemobj++-devel
|
||||||
|
%{_libdir}/pkgconfig/libpmemobj++.pc
|
||||||
|
%dir %{_includedir}/libpmemobj++
|
||||||
|
%{_includedir}/libpmemobj++/*.hpp
|
||||||
|
%dir %{_includedir}/libpmemobj++/detail
|
||||||
|
%{_includedir}/libpmemobj++/detail/*.hpp
|
||||||
|
%dir %{_includedir}/libpmemobj++/container
|
||||||
|
%{_includedir}/libpmemobj++/container/*.hpp
|
||||||
|
%dir %{_includedir}/libpmemobj++/container/detail
|
||||||
|
%{_includedir}/libpmemobj++/container/detail/*.hpp
|
||||||
|
%dir %{_includedir}/libpmemobj++/experimental
|
||||||
|
%{_includedir}/libpmemobj++/experimental/*.hpp
|
||||||
|
%dir %{_libdir}/libpmemobj++
|
||||||
|
%dir %{_libdir}/libpmemobj++/cmake
|
||||||
|
%{_libdir}/libpmemobj++/cmake/libpmemobj++-config-version.cmake
|
||||||
|
%{_libdir}/libpmemobj++/cmake/libpmemobj++-config.cmake
|
||||||
|
|
||||||
|
%license LICENSE
|
||||||
|
|
||||||
|
%doc ChangeLog README.md
|
||||||
|
|
||||||
|
%package -n libpmemobj++-doc
|
||||||
|
Summary: HTML documentation for libpmemobj++
|
||||||
|
|
||||||
|
%description -n libpmemobj++-doc
|
||||||
|
HTML documentation for libpmemobj++.
|
||||||
|
|
||||||
|
%files -n libpmemobj++-doc
|
||||||
|
%dir %{_docdir}/libpmemobj++
|
||||||
|
%{_docdir}/libpmemobj++/*
|
||||||
|
|
||||||
|
%license LICENSE
|
||||||
|
|
||||||
|
%doc ChangeLog README.md
|
||||||
|
|
||||||
|
%global debug_package %{nil}
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n libpmemobj-cpp-%{upstreamversion}
|
||||||
|
|
||||||
|
%build
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
# CXX_STANDARD=17 matters only for tests, it can be safely disabled in distros without c++17-compliant compiler
|
||||||
|
%cmake .. -DCMAKE_INSTALL_DOCDIR=%{_docdir}/libpmemobj++ -DBUILD_TESTS=off -DCXX_STANDARD=17 -DTESTS_USE_VALGRIND=OFF
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
cd build
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Oct 31 2022 Bryan Gurney <bgurney@redhat.com> - 1.13.0-1
|
||||||
|
- Update to version 1.13.0
|
||||||
|
- Resolves: rhbz#2136803
|
||||||
|
|
||||||
|
* Mon Feb 28 2022 Bryan Gurney <bgurney@redhat.com> - 1.12-8
|
||||||
|
- Apply patch to fix undefined behavior on realloc
|
||||||
|
- Also add and apply patch to fix referencing empty array
|
||||||
|
- Related: rhbz#2034641
|
||||||
|
|
||||||
|
* Mon Jan 24 2022 Bryan Gurney <bgurney@redhat.com> - 1.12-7
|
||||||
|
- Add patch to fix undefined behavior on realloc
|
||||||
|
- Related: rhbz#2034641
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.12-6
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Mon Aug 2 2021 Jeff Moyer <jmoyer@redhat.com> - 1.12-5.el9
|
||||||
|
- Get rid of BuildRequires that are only used for testing (Jeff Moyer)
|
||||||
|
- Resolves: rhbz#1984934
|
||||||
|
|
||||||
|
* Wed Jun 9 2021 Jeff Moyer <jmoyer@redhat.com> - 1.12-4.el9
|
||||||
|
- Disable make check
|
||||||
|
- Resolves: rhbz#1970104
|
||||||
|
|
||||||
|
* Wed Jun 9 2021 Jeff Moyer <jmoyer@redhat.com> - 1.12-3.el9
|
||||||
|
- Enable ppc64le builds
|
||||||
|
- Resolves: rhbz#1871149
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.12-2
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* 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
|
||||||
|
- Add libatomic to buildrequires
|
||||||
|
|
||||||
|
* Fri Oct 9 2020 Adam Borowski <kilobyte@angband.pl> - 1.11-1
|
||||||
|
- Update to version 1.11.
|
||||||
|
- Disable enumerable_thread_specific_access_0_drd
|
||||||
|
- Fix internal find in radix_tree
|
||||||
|
|
||||||
|
* Mon Aug 31 2020 Adam Borowski <kilobyte@angband.pl> - 1.10-1
|
||||||
|
- Update to version 1.10.
|
||||||
|
|
||||||
|
* Mon Aug 31 2020 Adam Borowski <kilobyte@angband.pl> - 1.9-5
|
||||||
|
- Fix FTBFS with new libunwind.
|
||||||
|
|
||||||
|
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9-4
|
||||||
|
- Second attempt - Rebuilt for
|
||||||
|
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 24 2020 Jeff Law <law@redhat.com> - 1.9-2
|
||||||
|
- Use __cmake_in_source_build
|
||||||
|
|
||||||
|
* Wed Feb 12 2020 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.9-1
|
||||||
|
- Update to version 1.9.
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 27 2020 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.8.1-1
|
||||||
|
- Update to version 1.8.1.
|
||||||
|
|
||||||
|
* Fri Oct 04 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.8-2
|
||||||
|
- Work around https://github.com/pmem/libpmemobj-cpp/issues/469.
|
||||||
|
|
||||||
|
* Fri Oct 04 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.8-1
|
||||||
|
- Update to version 1.8.
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.7-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 26 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.7-1
|
||||||
|
- Update to version 1.7.
|
||||||
|
|
||||||
|
* Thu Mar 28 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.6-2
|
||||||
|
- Bump required PMDK version to 1.6.
|
||||||
|
|
||||||
|
* Mon Mar 18 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.6-1
|
||||||
|
- Update to version 1.6
|
||||||
|
|
||||||
|
* Fri Mar 08 2019 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.5.1-1
|
||||||
|
- Update to version 1.5.1
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Dec 14 2018 Marcin Ślusarz <marcin.slusarz@intel.com> - 1.5-1
|
||||||
|
- Initial RPM release
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
|||||||
|
SHA512 (libpmemobj-cpp-1.13.0.tar.gz) = 3968ab725fc439dd00638fd3306d8e9229bb36bf9cfa3faf97a78e41ef05293deff1e4f147f6b4c0a6164f7d153cb21764617b5a39bf4164a6b325d620cf1441
|
1
tests/.fmf/version
Normal file
1
tests/.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
12
tests/libpmemobj-test-installed-libs.patch
Normal file
12
tests/libpmemobj-test-installed-libs.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
--- libpmemobj-cpp-1.12/CMakeLists.txt.orig 2021-08-04 11:05:28.909569992 -0400
|
||||||
|
+++ libpmemobj-cpp-1.12/CMakeLists.txt 2021-08-04 11:06:02.922687943 -0400
|
||||||
|
@@ -272,9 +272,6 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/libpmemobj++/cmake)
|
||||||
|
|
||||||
|
|
||||||
|
-# set up project's include dir (our source 'include' dir)
|
||||||
|
-include_directories(include)
|
||||||
|
-
|
||||||
|
# Run checks for known issues, it's required to enable/disable some tests and examples.
|
||||||
|
# It has to be executed (included) here, when environment is fully set up,
|
||||||
|
# all packages are found and all paths/variables are set.
|
5
tests/provision.fmf
Normal file
5
tests/provision.fmf
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
standard-inventory-qcow2:
|
||||||
|
qemu:
|
||||||
|
m: 2G
|
16
tests/run_test.sh
Normal file
16
tests/run_test.sh
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
NRCPUS=$(getconf _NPROCESSORS_ONLN)
|
||||||
|
patchfile="$PWD/libpmemobj-test-installed-libs.patch"
|
||||||
|
|
||||||
|
cd source
|
||||||
|
|
||||||
|
patch -p1 < $patchfile
|
||||||
|
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake .. -DTESTS_USE_VALGRIND=OFF -DTESTS_LONG=OFF -DTESTS_USE_FORCED_PMEM=ON
|
||||||
|
make -j $NRCPUS
|
||||||
|
|
||||||
|
ctest --output-on-failure
|
25
tests/tests.yml
Normal file
25
tests/tests.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
- hosts: localhost
|
||||||
|
roles:
|
||||||
|
- role: standard-test-source
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
- role: standard-test-basic
|
||||||
|
tags:
|
||||||
|
- atomic
|
||||||
|
- classic
|
||||||
|
required_packages:
|
||||||
|
- libpmemobj-devel
|
||||||
|
- libpmemobj++-devel
|
||||||
|
- libatomic
|
||||||
|
- gcc-c++
|
||||||
|
- cmake
|
||||||
|
- make
|
||||||
|
- glibc-devel
|
||||||
|
- pkgconfig
|
||||||
|
- doxygen
|
||||||
|
- gdb
|
||||||
|
- perl-Encode
|
||||||
|
tests:
|
||||||
|
- regression: # Run tests
|
||||||
|
dir: .
|
||||||
|
run: ./run_test.sh
|
Loading…
Reference in New Issue
Block a user