Introduce percona-xtrabackup 2.3.6 into openEuler

This version(2.3.6) we proposed can match the mysql version 5.7.X and
the ones which near it.
This commit is contained in:
bzhaoop 2021-07-26 09:22:43 +08:00
parent 64000bd9a0
commit dcc6a57dd8
5 changed files with 126 additions and 0 deletions

12
compilec-fix.patch Normal file
View File

@ -0,0 +1,12 @@
diff -ruNa percona-xtrabackup-percona-xtrabackup-2.3.6/cmake/build_configurations/compiler_options.cmake percona-xtrabackup-percona-xtrabackup-2.3.6_patched/cmake/build_configurations/compiler_options.cmake
--- percona-xtrabackup-percona-xtrabackup-2.3.6/cmake/build_configurations/compiler_options.cmake 2016-11-25 17:05:53.000000000 +0800
+++ percona-xtrabackup-percona-xtrabackup-2.3.6_patched/cmake/build_configurations/compiler_options.cmake 2021-07-16 21:10:47.260642064 +0800
@@ -25,7 +25,7 @@
# 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 -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -Wno-implicit-fallthrough -Wno-stringop-truncation -Wno-stringop-overflow")
# Disable inline optimizations for valgrind testing to avoid false positives
IF(WITH_VALGRIND)
SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}")

11
gcc-7-flags-fix.patch Normal file
View File

@ -0,0 +1,11 @@
--- a/cmake/build_configurations/compiler_options.cmake 2021-07-16 04:05:53.000000000 -0500
+++ b/cmake/build_configurations/compiler_options.cmake 2021-07-16 12:20:04.708833670 -0500
@@ -34,7 +34,7 @@
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 -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -fpermissive")
# Disable inline optimizations for valgrind testing to avoid false positives
IF(WITH_VALGRIND)
SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}")

Binary file not shown.

99
percona-xtrabackup.spec Normal file
View File

@ -0,0 +1,99 @@
Name: percona-xtrabackup
Summary: Online backup for InnoDB/XtraDB in MySQL, Percona Server and MariaDB
Version: 2.3.6
Release: 1
License: GPLv2
URL: http://www.percona.com/software/percona-xtrabackup/
Source: percona-xtrabackup-%{version}.tar.gz
Patch1: gcc-7-flags-fix.patch
Patch2: compilec-fix.patch
Provides: %{name}
BuildRequires: automake
BuildRequires: cmake >= 2.6.3
BuildRequires: patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: perl-generators
BuildRequires: procps
BuildRequires: python-sphinx
BuildRequires: vim-common
BuildRequires: bison
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: libaio-devel
BuildRequires: libgcrypt-devel
BuildRequires: libcurl-devel
BuildRequires: libev-devel
Requires: perl(DBD::mysql)
Requires: libcurl
Requires: libev
%description
Online backup for InnoDB/XtraDB in MySQL, MariaDB and Percona Server.
%package test
Summary: Test suite for Percona Xtrabackup
Provides: %{name}-test
Requires: %{name}
Requires: /usr/bin/mysql
Requires: %{name} = %{version}-%{release}
%description test
This package contains the test suite for Percona Xtrabackup
%prep
%setup -qn %{name}-%{name}-%{version}
%patch1 -p1
%patch2 -p1
%build
cmake -DBUILD_CONFIG=xtrabackup_release && make %{?_smp_mflags}
%install
[ "%{buildroot}" != '/' ] && rm -rf %{buildroot}
install -d %{buildroot}%{_bindir}
install -d %{buildroot}%{_datadir}
install -d %{buildroot}%{_mandir}/man1
# install binaries and configs
SRC_DIR=storage/innobase/xtrabackup/src
pushd .
cd $SRC_DIR
install -p -m 755 xtrabackup %{buildroot}%{_bindir}
ln -sf xtrabackup %{buildroot}%{_bindir}/innobackupex
install -p -m 755 xbstream %{buildroot}%{_bindir}
install -p -m 755 xbcrypt %{buildroot}%{_bindir}
cd ..
find test -size 0 -delete
cp -pR test %{buildroot}%{_datadir}/percona-xtrabackup-test
rm -rf %{buildroot}%{_datadir}/percona-xtrabackup-test/kewpie
rm -rf %{buildroot}%{_datadir}/percona-xtrabackup-test/*Make*
cd doc/source/build/man
install -m 644 *.1 %{buildroot}%{_mandir}/man1
popd
%files
%{_bindir}/innobackupex
%{_bindir}/xtrabackup
%{_bindir}/xbstream
%{_bindir}/xbcrypt
%doc COPYING README VERSION
%{_mandir}/man1/innobackupex.1.gz
%{_mandir}/man1/xtrabackup.1.gz
%{_mandir}/man1/xbstream.1.gz
%{_mandir}/man1/xbcrypt.1.gz
%files -n percona-xtrabackup-test
%{_datadir}/percona-xtrabackup-test
%doc COPYING
%changelog
* Mon Jul 26 2021 bzhaoop <bzhaojyathousandy@gmail.com> - 2.3.6-1
- Init project for percona-xtrabackup

4
percona-xtrabackup.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: git
src_repo: https://github.com/percona/percona-xtrabackup
tag_prefix: ""
separator: "."