[packages/xtrabackup] - added no-common patch (fixes linking with -fno-common, gcc 10 default) - added abiversion patch (d

qboosh qboosh at pld-linux.org
Tue Apr 27 19:57:02 CEST 2021


commit 10251f99fbb635a51356b6161521947e95243a84
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Tue Apr 27 19:58:33 2021 +0200

    - added no-common patch (fixes linking with -fno-common, gcc 10 default)
    - added abiversion patch (don't force old C++ ABI which disables some required unique_ptr features)

 xtrabackup-abiversion.patch | 21 +++++++++++++++++++++
 xtrabackup-no-common.patch  | 21 +++++++++++++++++++++
 xtrabackup.spec             |  7 ++++++-
 3 files changed, 48 insertions(+), 1 deletion(-)
---
diff --git a/xtrabackup.spec b/xtrabackup.spec
index 4225ddf..1defa9d 100644
--- a/xtrabackup.spec
+++ b/xtrabackup.spec
@@ -12,6 +12,8 @@ Source0:	https://github.com/percona/percona-xtrabackup/archive/percona-%{name}-%
 # Source0-md5:	dfbd0310f1df084696fe16eea6efdc5d
 Source1:	http://downloads.sourceforge.net/boost/boost_1_59_0.tar.bz2
 # Source1-md5:	6aa9a5c6a4ca1016edd0ed1178e3cb87
+Patch0:		%{name}-no-common.patch
+Patch1:		%{name}-abiversion.patch
 URL:		https://www.percona.com/doc/percona-xtrabackup/
 BuildRequires:	acl-devel
 BuildRequires:	bash
@@ -71,9 +73,12 @@ kopiowanie tabel MyISAM.
 
 %prep
 %setup -q -n percona-%{name}-percona-%{name}-%{version} -a1
+%patch0 -p1
+%patch1 -p1
 
-# use system package
+# actually not used
 %{__mv} storage/innobase/xtrabackup/src/jsmn jsmn.dist
+# use system package
 %{__mv} zlib zlib.dist
 
 %build
diff --git a/xtrabackup-abiversion.patch b/xtrabackup-abiversion.patch
new file mode 100644
index 0000000..2e3c5c4
--- /dev/null
+++ b/xtrabackup-abiversion.patch
@@ -0,0 +1,21 @@
+unique_ptr() in gcc 10 needs -fnew-inheriting-ctors (enabled by default in ABI 11+)
+--- percona-xtrabackup-percona-xtrabackup-2.4.20/cmake/build_configurations/compiler_options.cmake.orig	2020-04-10 21:45:19.000000000 +0200
++++ percona-xtrabackup-percona-xtrabackup-2.4.20/cmake/build_configurations/compiler_options.cmake	2021-04-27 19:18:20.991898949 +0200
+@@ -30,7 +30,7 @@ IF(UNIX)
+ 
+   # Default GCC flags
+   IF(CMAKE_COMPILER_IS_GNUCC)
+-    SET(COMMON_C_FLAGS               "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++    SET(COMMON_C_FLAGS               "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+     # Disable inline optimizations for valgrind testing to avoid false positives
+     IF(WITH_VALGRIND)
+       SET(COMMON_C_FLAGS             "-fno-inline ${COMMON_C_FLAGS}")
+@@ -54,7 +54,7 @@ IF(UNIX)
+     SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
+   ENDIF()
+   IF(CMAKE_COMPILER_IS_GNUCXX)
+-    SET(COMMON_CXX_FLAGS               "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
++    SET(COMMON_CXX_FLAGS               "-g -fno-omit-frame-pointer -fno-strict-aliasing")
+     # GCC 6 has C++14 as default, set it explicitly to the old default.
+     EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
+                     OUTPUT_VARIABLE GXX_VERSION)
diff --git a/xtrabackup-no-common.patch b/xtrabackup-no-common.patch
new file mode 100644
index 0000000..e840614
--- /dev/null
+++ b/xtrabackup-no-common.patch
@@ -0,0 +1,21 @@
+--- percona-xtrabackup-percona-xtrabackup-2.4.20/storage/innobase/xtrabackup/src/CMakeLists.txt.orig	2020-04-10 21:45:19.000000000 +0200
++++ percona-xtrabackup-percona-xtrabackup-2.4.20/storage/innobase/xtrabackup/src/CMakeLists.txt	2021-04-27 18:10:04.084198107 +0200
+@@ -142,7 +142,6 @@
+ # xbstream binary
+ ########################################################################
+ MYSQL_ADD_EXECUTABLE(xbstream
+-  ds_buffer.c
+   ds_local.c
+   ds_stdout.c
+   ds_decrypt.c
+--- percona-xtrabackup-percona-xtrabackup-2.4.20/storage/innobase/xtrabackup/src/ds_tmpfile.c.orig	2020-04-10 21:45:19.000000000 +0200
++++ percona-xtrabackup-percona-xtrabackup-2.4.20/storage/innobase/xtrabackup/src/ds_tmpfile.c	2021-04-27 18:38:59.131491576 +0200
+@@ -55,7 +55,7 @@
+ 	&tmpfile_deinit
+ };
+ 
+-MY_TMPDIR mysql_tmpdir_list;
++extern MY_TMPDIR mysql_tmpdir_list;
+ 
+ static ds_ctxt_t *
+ tmpfile_init(const char *root)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xtrabackup.git/commitdiff/10251f99fbb635a51356b6161521947e95243a84



More information about the pld-cvs-commit mailing list