diff --git a/compilec-fix.patch b/compilec-fix.patch new file mode 100644 index 0000000..6337019 --- /dev/null +++ b/compilec-fix.patch @@ -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}") diff --git a/gcc-7-flags-fix.patch b/gcc-7-flags-fix.patch new file mode 100644 index 0000000..4fe57da --- /dev/null +++ b/gcc-7-flags-fix.patch @@ -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}") diff --git a/percona-xtrabackup-2.3.6.tar.gz b/percona-xtrabackup-2.3.6.tar.gz new file mode 100644 index 0000000..ae4809c Binary files /dev/null and b/percona-xtrabackup-2.3.6.tar.gz differ diff --git a/percona-xtrabackup.spec b/percona-xtrabackup.spec new file mode 100644 index 0000000..9ad83f5 --- /dev/null +++ b/percona-xtrabackup.spec @@ -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 - 2.3.6-1 +- Init project for percona-xtrabackup + diff --git a/percona-xtrabackup.yaml b/percona-xtrabackup.yaml new file mode 100644 index 0000000..6e91585 --- /dev/null +++ b/percona-xtrabackup.yaml @@ -0,0 +1,4 @@ +version_control: git +src_repo: https://github.com/percona/percona-xtrabackup +tag_prefix: "" +separator: "."