diff options
-rw-r--r-- | databases/Makefile | 1 | ||||
-rw-r--r-- | databases/xtrabackup8/Makefile | 50 | ||||
-rw-r--r-- | databases/xtrabackup8/distinfo | 3 | ||||
-rw-r--r-- | databases/xtrabackup8/files/patch-cmake-install_layout.cmake | 11 | ||||
-rw-r--r-- | databases/xtrabackup8/files/patch-cmake_os_FreeBSD.cmake | 23 | ||||
-rw-r--r-- | databases/xtrabackup8/files/patch-sql_binlog.cc | 24 | ||||
-rw-r--r-- | databases/xtrabackup8/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh | 15 | ||||
-rw-r--r-- | databases/xtrabackup8/pkg-descr | 6 | ||||
-rw-r--r-- | databases/xtrabackup8/pkg-plist | 47 |
9 files changed, 180 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile index 5f257024c7bc..70a3d1810ba1 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -1033,6 +1033,7 @@ SUBDIR += xapian-core12 SUBDIR += xrootd SUBDIR += xtrabackup + SUBDIR += xtrabackup8 SUBDIR += zabbix3-libzbxpgsql .include <bsd.port.subdir.mk> diff --git a/databases/xtrabackup8/Makefile b/databases/xtrabackup8/Makefile new file mode 100644 index 000000000000..c35617f953c4 --- /dev/null +++ b/databases/xtrabackup8/Makefile @@ -0,0 +1,50 @@ +# Created by: Alex Samorukov <samm@freebsd.org> +# $FreeBSD$ + +PORTNAME= xtrabackup +PORTVERSION= 8.0.14 +CATEGORIES= databases +MASTER_SITES= https://www.percona.com/downloads/Percona-XtraBackup-${PORTVERSION:R}/Percona-XtraBackup-${PORTVERSION}/source/tarball/ \ + https://github.com/percona/percona-xtrabackup/archive/ +PKGNAMESUFFIX= 8 +DISTNAME= percona-${PORTNAME}-${PORTVERSION} + +MAINTAINER= eugene@zhegan.in +COMMENT= Open-source backup tool for InnoDB and XtraDB + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= xxd:editors/vim-console \ + boost-libs>=1.72.0:devel/boost-libs \ + protobuf>=3.0:devel/protobuf \ + rapidjson>=1.1.0:devel/rapidjson \ + libevent>=2.1:devel/libevent +LIB_DEPENDS= libcurl.so:ftp/curl \ + libev.so:devel/libev \ + libgcrypt.so:security/libgcrypt \ + libgpg-error.so:security/libgpg-error \ + libicudata.so:devel/icu \ + libunwind.so:devel/libunwind \ + libzstd.so:archivers/zstd +RUN_DEPENDS= qpress:archivers/qpress + +USES= bison cmake compiler:c++14-lang cpe pkgconfig ssl +CPE_VENDOR= percona +CMAKE_ARGS= -DBUILD_CONFIG:STRING=xtrabackup_release +.for component in EDITLINE ICU LIBEVENT PROTOBUF RAPIDJSON ZSTD +CMAKE_ARGS+= -DWITH_${component}:STRING=system +.endfor + +post-patch: +# Delete bundled components so we won't accidentally use them, except LZ4 +# which cannot be removed just yet + @${MV} ${WRKSRC}/extra/lz4 ${WRKSRC} + @${RM} -r ${WRKSRC}/extra/* + @${MV} ${WRKSRC}/lz4 ${WRKSRC}/extra + +post-stage: + @${RM} -r ${STAGEDIR}${PREFIX}/docs \ + ${STAGEDIR}${PREFIX}/lib/plugin/debug + +.include <bsd.port.mk> diff --git a/databases/xtrabackup8/distinfo b/databases/xtrabackup8/distinfo new file mode 100644 index 000000000000..17df898cd990 --- /dev/null +++ b/databases/xtrabackup8/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1598684487 +SHA256 (percona-xtrabackup-8.0.14.tar.gz) = db8d6d2c6a6b016bf24b4942582ebdbd55c09253ccc78daa6911217bd5a73d5d +SIZE (percona-xtrabackup-8.0.14.tar.gz) = 285621091 diff --git a/databases/xtrabackup8/files/patch-cmake-install_layout.cmake b/databases/xtrabackup8/files/patch-cmake-install_layout.cmake new file mode 100644 index 000000000000..e823abeffe31 --- /dev/null +++ b/databases/xtrabackup8/files/patch-cmake-install_layout.cmake @@ -0,0 +1,11 @@ +--- cmake/install_layout.cmake.orig 2020-04-10 19:45:19 UTC ++++ cmake/install_layout.cmake +@@ -160,7 +160,7 @@ SET(INSTALL_INFODIR_STANDALONE "docs") + # + SET(INSTALL_SHAREDIR_STANDALONE "share") + SET(INSTALL_MYSQLSHAREDIR_STANDALONE "share") +-SET(INSTALL_MYSQLTESTDIR_STANDALONE "xtrabackup-test") ++# SET(INSTALL_MYSQLTESTDIR_STANDALONE "xtrabackup-test") + SET(INSTALL_SUPPORTFILESDIR_STANDALONE "support-files") + # + SET(INSTALL_MYSQLDATADIR_STANDALONE "data") diff --git a/databases/xtrabackup8/files/patch-cmake_os_FreeBSD.cmake b/databases/xtrabackup8/files/patch-cmake_os_FreeBSD.cmake new file mode 100644 index 000000000000..624f462e7542 --- /dev/null +++ b/databases/xtrabackup8/files/patch-cmake_os_FreeBSD.cmake @@ -0,0 +1,23 @@ +--- cmake/os/FreeBSD.cmake.orig 2020-05-26 05:35:19 UTC ++++ cmake/os/FreeBSD.cmake +@@ -36,6 +36,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER) + IF(GCC_VERSION VERSION_LESS 4.4) + MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!") + ENDIF() ++ CHECK_C_SOURCE_RUNS(" ++ int main() ++ { ++ return (__clang_major__ >= 4); ++ }" I386_ATOMIC_BUILTINS) ++ IF((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (NOT I386_ATOMIC_BUILTINS)) ++ SET(HAVE_GCC_ATOMIC_BUILTINS CACHE INTERNAL "") ++ ENDIF() ++ ELSEIF(CMAKE_COMPILER_IS_GNUCC) ++ EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion ++ OUTPUT_VARIABLE GCC_VERSION) ++ IF(GCC_VERSION VERSION_LESS 4.4) ++ MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!") ++ ENDIF() + ELSE() + MESSAGE(FATAL_ERROR "Unsupported compiler!") + ENDIF() diff --git a/databases/xtrabackup8/files/patch-sql_binlog.cc b/databases/xtrabackup8/files/patch-sql_binlog.cc new file mode 100644 index 000000000000..2bae3d050d5a --- /dev/null +++ b/databases/xtrabackup8/files/patch-sql_binlog.cc @@ -0,0 +1,24 @@ +--- sql/binlog.cc.orig 2020-08-28 21:02:32 UTC ++++ sql/binlog.cc +@@ -9163,8 +9163,8 @@ void MYSQL_BIN_LOG::report_missing_purged_gtids( + + char *missing_gtids = NULL; + char *slave_executed_gtids = NULL; +- gtid_missing.to_string(&missing_gtids, NULL); +- slave_executed_gtid_set->to_string(&slave_executed_gtids, NULL); ++ gtid_missing.to_string(&missing_gtids, false); ++ slave_executed_gtid_set->to_string(&slave_executed_gtids, false); + + /* + Log the information about the missing purged GTIDs to the error log. +@@ -9217,8 +9217,8 @@ void MYSQL_BIN_LOG::report_missing_gtids( + Gtid_set gtid_missing(slave_executed_gtid_set->get_sid_map()); + gtid_missing.add_gtid_set(slave_executed_gtid_set); + gtid_missing.remove_gtid_set(previous_gtid_set); +- gtid_missing.to_string(&missing_gtids, NULL); +- slave_executed_gtid_set->to_string(&slave_executed_gtids, NULL); ++ gtid_missing.to_string(&missing_gtids, false); ++ slave_executed_gtid_set->to_string(&slave_executed_gtids, false); + + String tmp_uuid; + diff --git a/databases/xtrabackup8/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh b/databases/xtrabackup8/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh new file mode 100644 index 000000000000..37b1e45afc66 --- /dev/null +++ b/databases/xtrabackup8/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh @@ -0,0 +1,15 @@ +--- storage/innobase/xtrabackup/xbcloud_osenv.sh.orig 2020-08-28 21:02:32 UTC ++++ storage/innobase/xtrabackup/xbcloud_osenv.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + # Copyright (C) 2015 Percona LLC and/or its affiliates. + # This software comes with ABSOLUTELY NO WARRANTY. This is free software, +@@ -105,5 +105,5 @@ fi + + # do it + # shellcheck disable=SC2086,SC2048 +-${XBCLOUD_BIN} $* ${XBCLOUD_OS_ENV} ++${XBCLOUD_BIN} "$@" ${XBCLOUD_OS_ENV} + diff --git a/databases/xtrabackup8/pkg-descr b/databases/xtrabackup8/pkg-descr new file mode 100644 index 000000000000..f3724e711112 --- /dev/null +++ b/databases/xtrabackup8/pkg-descr @@ -0,0 +1,6 @@ +Percona XtraBackup is an open-source hot backup utility for MySQL that +doesn't lock your database during the backup. It can back up data from +InnoDB, XtraDB and MyISAM tables on MySQL/Percona Server/MariaDB +servers, and has many advanced features. + +WWW: https://www.percona.com/doc/percona-xtrabackup/ diff --git a/databases/xtrabackup8/pkg-plist b/databases/xtrabackup8/pkg-plist new file mode 100644 index 000000000000..88c2ddc371ba --- /dev/null +++ b/databases/xtrabackup8/pkg-plist @@ -0,0 +1,47 @@ +bin/xbcloud +bin/xbcloud_osenv +bin/xbcrypt +bin/xbstream +bin/xtrabackup +lib/libmysqlservices.a +lib/plugin/keyring_file.so +lib/plugin/keyring_vault.so +man/man1/comp_err.1.gz +man/man1/ibd2sdi.1.gz +man/man1/innochecksum.1.gz +man/man1/lz4_decompress.1.gz +man/man1/my_print_defaults.1.gz +man/man1/myisam_ftdump.1.gz +man/man1/myisamchk.1.gz +man/man1/myisamlog.1.gz +man/man1/myisampack.1.gz +man/man1/mysql.1.gz +man/man1/mysql.server.1.gz +man/man1/mysql_config.1.gz +man/man1/mysql_config_editor.1.gz +man/man1/mysql_secure_installation.1.gz +man/man1/mysql_ssl_rsa_setup.1.gz +man/man1/mysql_tzinfo_to_sql.1.gz +man/man1/mysql_upgrade.1.gz +man/man1/mysqladmin.1.gz +man/man1/mysqlbinlog.1.gz +man/man1/mysqlcheck.1.gz +man/man1/mysqld_multi.1.gz +man/man1/mysqld_safe.1.gz +man/man1/mysqldump.1.gz +man/man1/mysqldumpslow.1.gz +man/man1/mysqlimport.1.gz +man/man1/mysqlman.1.gz +man/man1/mysqlpump.1.gz +man/man1/mysqlrouter.1.gz +man/man1/mysqlrouter_keyring.1.gz +man/man1/mysqlrouter_passwd.1.gz +man/man1/mysqlrouter_plugin_info.1.gz +man/man1/mysqlshow.1.gz +man/man1/mysqlslap.1.gz +man/man1/perror.1.gz +man/man1/zlib_decompress.1.gz +man/man8/mysqld.8.gz +man/man8/ndb_mgmd.8.gz +man/man8/ndbd.8.gz +man/man8/ndbmtd.8.gz |