git: 8eda07f9ed69 - main - databases/xtrabackup80: Remove expired port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 30 Sep 2026 22:02:05 UTC
The branch main has been updated by rene:
URL: https://cgit.FreeBSD.org/ports/commit/?id=8eda07f9ed690702a5f1148ebaa983b0eb5d49d8
commit 8eda07f9ed690702a5f1148ebaa983b0eb5d49d8
Author: Rene Ladan <rene@FreeBSD.org>
AuthorDate: 2026-09-30 22:01:13 +0000
Commit: Rene Ladan <rene@FreeBSD.org>
CommitDate: 2026-09-30 22:01:55 +0000
databases/xtrabackup80: Remove expired port
2026-09-30 databases/xtrabackup80: Upstream has reached EOL favor of databases/xtrabackup84
---
MOVED | 1 +
databases/Makefile | 1 -
databases/xtrabackup80/Makefile | 121 -----------------
databases/xtrabackup80/distinfo | 5 -
databases/xtrabackup80/files/patch-CMakeLists.txt | 22 ----
.../files/patch-cmake-install_layout.cmake | 11 --
databases/xtrabackup80/files/patch-file_utils | 20 ---
databases/xtrabackup80/files/patch-llvm-15 | 28 ----
databases/xtrabackup80/files/patch-procps | 28 ----
databases/xtrabackup80/files/patch-protobuf | 10 --
.../files/patch-sql_binlog__ostream.cc | 11 --
.../files/patch-sql_mdl__context__backup.cc | 36 ------
.../files/patch-sql_mdl__context__backup.h | 11 --
...ql_range__optimizer_index__range__scan__plan.cc | 39 ------
.../files/patch-sql_rpl__log__encryption.cc | 143 ---------------------
.../xtrabackup80/files/patch-sql_stream__cipher.cc | 11 --
.../xtrabackup80/files/patch-sql_stream__cipher.h | 20 ---
...age_innobase_xtrabackup_src_keyring__plugins.cc | 11 --
databases/xtrabackup80/files/patch-utils.cc | 83 ------------
databases/xtrabackup80/pkg-descr | 4 -
databases/xtrabackup80/pkg-plist | 10 --
databases/xtrabackup80/pkg-plist.i386 | 55 --------
22 files changed, 1 insertion(+), 680 deletions(-)
diff --git a/MOVED b/MOVED
index 8c73df372438..def06faeda5a 100644
--- a/MOVED
+++ b/MOVED
@@ -5705,3 +5705,4 @@ security/wpa_supplicant210||2026-09-30|Has expired: Unsupported by upstream
devel/p5-PkgConfig-LibPkgConf||2026-09-30|Has expired: Upstream is inactive for 5 years
devel/php-geshi||2026-09-30|Has expired: Unmaintained upstream
finance/pear_Payment_DTA||2026-09-30|Has expired: Abandoned upstream (last release 2012), DTAUS superseded by SEPA
+databases/xtrabackup80|databases/xtrabackup84|2026-09-30|Has expired: Upstream has reached EOL favor of databases/xtrabackup84
diff --git a/databases/Makefile b/databases/Makefile
index 662e85352425..f742b4a0dc5d 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -1222,7 +1222,6 @@
SUBDIR += xapian-core14
SUBDIR += xls2txt
SUBDIR += xrootd
- SUBDIR += xtrabackup80
SUBDIR += xtrabackup84
SUBDIR += zodb
diff --git a/databases/xtrabackup80/Makefile b/databases/xtrabackup80/Makefile
deleted file mode 100644
index 81bce5515a05..000000000000
--- a/databases/xtrabackup80/Makefile
+++ /dev/null
@@ -1,121 +0,0 @@
-PORTNAME= xtrabackup80
-PORTVERSION= 8.0.35
-DISTVERSIONSUFFIX= -30
-PORTREVISION= 10
-CATEGORIES= databases
-MASTER_SITES= https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-30/source/tarball/:percona \
- SF/boost/boost/${BOOST_VERSION}:boost
-DISTFILES= ${PPORTNAME}-${DVERSION}${EXTRACT_SUFX}:percona \
- boost_${BOOST_VERSION_UNDER}${EXTRACT_SUFX}:boost
-
-MAINTAINER= eugene@zhegan.in
-COMMENT= Open-source backup tool for InnoDB and XtraDB
-WWW= https://docs.percona.com/percona-xtrabackup/8.0/
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-DEPRECATED= Upstream has reached EOL favor of databases/xtrabackup84
-EXPIRATION_DATE= 2026-09-30
-
-ONLY_FOR_ARCHS= amd64 i386
-
-RUN_DEPENDS= qpress:archivers/qpress
-
-USES= bison cmake compiler:c++14-lang cpe pkgconfig ssl
-CPE_PRODUCT= xtrabackup
-CPE_VENDOR= percona
-CMAKE_ARGS= -DBUILD_CONFIG:STRING=xtrabackup_release \
- -DWITHOUT_COMPONENT_KEYRING_KMIP:STRING=yes \
- -DWITH_VERSION_CHECK=false
-
-CONFLICTS_INSTALL= ${PORTNAME:C/.$//}*
-
-# Bundle last supported Boost release
-BOOST_VERSION= 1.77.0
-BOOST_VERSION_UNDER= ${BOOST_VERSION:C/\./_/g}
-
-CMAKE_ARGS+= -DWITH_BOOST=${WRKDIR}/boost_${BOOST_VERSION_UNDER}
-
-# Build fails without NDEBUG, so force it
-CFLAGS+= -DNDEBUG
-CXXFLAGS+= -DNDEBUG
-
-DVERSION= ${PORTVERSION}${DISTVERSIONSUFFIX}
-PPORTNAME= percona-xtrabackup
-WRKSRC= ${WRKDIR}/${PPORTNAME}-${DVERSION}
-
-.include <bsd.port.pre.mk>
-
-# Since MySQL 8.0.20 InnoDB engine uses new memory alligned allocator
-# which is broken on i386 with Clang due to different size of types
-# and causes a 'static_assert(alignof(T) <= alignof(std::max_align_t))' error
-.if ${ARCH} == i386
-GCCVER= 13
-CC= ${PREFIX}/bin/gcc${GCCVER}
-CXX= ${PREFIX}/bin/g++${GCCVER}
-CPP= ${PREFIX}/bin/cpp${GCCVER}
-CXXFLAGS+= --std=c++17 -march=i586
-LDFLAGS_i386= -latomic -Wl,-rpath=${PREFIX}/lib/gcc${GCCVER} -Wl,-rpath=${PREFIX}/lib/private
-PLIST= ${PKGDIR}/pkg-plist.i386
-USE_LDCONFIG= ${PREFIX}/lib/private
-
-BUILD_DEPENDS+= c++${GCCVER}:lang/gcc${GCCVER}
-LIB_DEPENDS+= libcurl.so:ftp/curl \
- libev.so:devel/libev \
- libgcrypt.so:security/libgcrypt \
- libgpg-error.so:security/libgpg-error \
- libunwind.so:devel/libunwind
-
-RUN_DEPENDS+= ${PREFIX}/lib/gcc${GCCVER}/libatomic.so.1:lang/gcc${GCCVER}
-
-.for component in EDITLINE ICU LIBEVENT PROTOBUF RAPIDJSON ZSTD
-CMAKE_ARGS+= -DWITH_${component}:STRING=bundled
-.endfor
-.else
-BUILD_DEPENDS+= 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 \
- libprotobuf-lite.so:devel/protobuf \
- libunwind.so:devel/libunwind \
- libzstd.so:archivers/zstd
-
-.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 180
-CXXFLAGS+= -Wno-enum-constexpr-conversion
-.endif
-
-.for component in EDITLINE ICU LIBEVENT PROTOBUF RAPIDJSON ZSTD
-CMAKE_ARGS+= -DWITH_${component}:STRING=system
-.endfor
-
-KEEP_EXTRA= lz4 robin-hood-hashing zlib
-
-pre-configure:
-.for dir in ${KEEP_EXTRA}
- @${MV} ${WRKSRC}/extra/${dir} ${WRKDIR}
-.endfor
- @${RM} -r ${WRKSRC}/extra/*
-.for dir in ${KEEP_EXTRA}
- @${MV} ${WRKDIR}/${dir} ${WRKSRC}/extra
-.endfor
-.endif
-
-post-patch:
-.for d in storage/innobase/xtrabackup/src sql/protobuf
- ${REINPLACE_CMD} 's,%%PREFIX%%,${PREFIX},' ${WRKSRC}/${d}/CMakeLists.txt
-.endfor
-.if ${COMPILER_TYPE} == clang
- @${REINPLACE_CMD} -e 's|std::unary_function|std::__unary_function|' \
- ${WRKSRC}/../boost_${BOOST_VERSION_UNDER}/boost/container_hash/hash.hpp
-.endif
-
-post-stage:
- @${RM} -r ${STAGEDIR}${PREFIX}/docs ${STAGEDIR}${PREFIX}/man
- @${RMDIR} ${STAGEDIR}${PREFIX}/lib/plugin/debug
-
-.include <bsd.port.post.mk>
diff --git a/databases/xtrabackup80/distinfo b/databases/xtrabackup80/distinfo
deleted file mode 100644
index 53dc0ae04280..000000000000
--- a/databases/xtrabackup80/distinfo
+++ /dev/null
@@ -1,5 +0,0 @@
-TIMESTAMP = 1677255149
-SHA256 (percona-xtrabackup-8.0.35-30.tar.gz) = 8a3632a5a7a91834800f4f83902468bccff1d979e82347c0372b39a97b0c85f0
-SIZE (percona-xtrabackup-8.0.35-30.tar.gz) = 447842768
-SHA256 (boost_1_77_0.tar.gz) = 5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131
-SIZE (boost_1_77_0.tar.gz) = 130620992
diff --git a/databases/xtrabackup80/files/patch-CMakeLists.txt b/databases/xtrabackup80/files/patch-CMakeLists.txt
deleted file mode 100644
index 750740325604..000000000000
--- a/databases/xtrabackup80/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
---- CMakeLists.txt.orig 2023-11-24 17:33:10.000000000 +0700
-+++ CMakeLists.txt 2024-02-17 02:31:46.069754000 +0700
-@@ -2078,8 +2078,6 @@
- ENDIF()
- ENDIF()
-
--ADD_SUBDIRECTORY(extra/libkmip)
--
- #
- # Setup maintainer mode options by the end. Platform checks are
- # not run with the warning options as to not perturb fragile checks
-@@ -2322,10 +2320,6 @@
-
- IF(ENABLE_GCOV)
- INCLUDE(fastcov)
--ENDIF()
--
--IF(UNIX)
-- ADD_SUBDIRECTORY(man)
- ENDIF()
-
- IF(LINUX AND NOT WITHOUT_SERVER)
diff --git a/databases/xtrabackup80/files/patch-cmake-install_layout.cmake b/databases/xtrabackup80/files/patch-cmake-install_layout.cmake
deleted file mode 100644
index e823abeffe31..000000000000
--- a/databases/xtrabackup80/files/patch-cmake-install_layout.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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/xtrabackup80/files/patch-file_utils b/databases/xtrabackup80/files/patch-file_utils
deleted file mode 100644
index a23aa72136d4..000000000000
--- a/databases/xtrabackup80/files/patch-file_utils
+++ /dev/null
@@ -1,20 +0,0 @@
---- storage/innobase/xtrabackup/src/file_utils.cc.orig 2023-11-24 17:33:10.000000000 +0700
-+++ storage/innobase/xtrabackup/src/file_utils.cc 2024-02-17 00:40:45.193255000 +0700
-@@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Bos
-
- #include "file_utils.h"
- #include <mysql/service_mysql_alloc.h>
--#ifdef __APPLE__
-+#if defined(__APPLE__) || defined (__FreeBSD__)
- #include <sys/event.h>
- #else
- #include <sys/epoll.h>
-@@ -391,7 +391,7 @@ File open_fifo_for_read_with_timeout(const char *path,
- }
-
- /* File was open, lets check its open on the other side */
--#ifdef __APPLE__
-+#if defined(__APPLE__) || defined(__FreeBSD__)
- struct timespec tm = {timeout, 0};
- int kqueue_fd = kqueue();
- if (kqueue_fd < 0) {
diff --git a/databases/xtrabackup80/files/patch-llvm-15 b/databases/xtrabackup80/files/patch-llvm-15
deleted file mode 100644
index 094f83fbb98b..000000000000
--- a/databases/xtrabackup80/files/patch-llvm-15
+++ /dev/null
@@ -1,28 +0,0 @@
---- storage/innobase/include/ddl0impl.h.orig 2023-11-24 13:33:10.000000000 +0300
-+++ storage/innobase/include/ddl0impl.h 2024-02-16 15:06:59.137578000 +0300
-@@ -118,14 +118,6 @@
-
- /** Physical row context. */
- struct Row {
-- /** Constructor. */
-- Row() = default;
--
-- Row(const Row &) = default;
--
-- /** Destructor. */
-- ~Row() = default;
--
- Row &operator=(const Row &) = default;
-
- /** Build a row from a raw record.
---- unittest/gunit/mysys_my_rdtsc-t.cc.orig 2024-02-16 15:08:36.323297000 +0300
-+++ unittest/gunit/mysys_my_rdtsc-t.cc 2024-02-16 15:08:40.000582000 +0300
-@@ -145,7 +145,7 @@
- ulonglong t1 = my_timer_nanoseconds();
- ulonglong t2;
- int i;
-- int backward = 0;
-+ int backward [[maybe_unused]] = 0;
- int nonzero = 0;
-
- for (i = 0; i < LOOP_COUNT; i++) {
diff --git a/databases/xtrabackup80/files/patch-procps b/databases/xtrabackup80/files/patch-procps
deleted file mode 100644
index 733821dd7c65..000000000000
--- a/databases/xtrabackup80/files/patch-procps
+++ /dev/null
@@ -1,28 +0,0 @@
---- storage/innobase/xtrabackup/src/CMakeLists.txt.orig 2023-11-24 13:33:10.000000000 +0300
-+++ storage/innobase/xtrabackup/src/CMakeLists.txt 2024-02-16 15:38:03.294091000 +0300
-@@ -20,8 +20,9 @@
-
- INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
-
-+INCLUDE_DIRECTORIES(%%PREFIX%%/include)
-+
- FIND_GCRYPT()
--FIND_PROCPS()
-
- CHECK_TYPE_SIZE("unsigned long" SIZEOF_UNSIGNED_LONG)
-
-@@ -134,14 +135,6 @@
- ext::icu
- crc
- )
--
--IF(NOT APPLE)
-- IF(PROCPS_VERSION EQUAL 4)
-- TARGET_LINK_LIBRARIES(xtrabackup proc2)
-- ELSE()
-- TARGET_LINK_LIBRARIES(xtrabackup procps)
-- ENDIF()
--ENDIF()
-
- # We depend on protobuf because of the mysqlx plugin and replication.
- IF(UNIX_INSTALL_RPATH_ORIGIN_PRIV_LIBDIR)
diff --git a/databases/xtrabackup80/files/patch-protobuf b/databases/xtrabackup80/files/patch-protobuf
deleted file mode 100644
index f1bd482d944a..000000000000
--- a/databases/xtrabackup80/files/patch-protobuf
+++ /dev/null
@@ -1,10 +0,0 @@
---- sql/protobuf/CMakeLists.txt.orig 2023-11-24 17:33:10.000000000 +0700
-+++ sql/protobuf/CMakeLists.txt 2024-02-17 02:13:42.264307000 +0700
-@@ -21,6 +21,7 @@
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- INCLUDE(${CMAKE_SOURCE_DIR}/cmake/protobuf.cmake)
-+INCLUDE_DIRECTORIES(%%PREFIX%%/include)
-
- SET(PROTOBUF_LITE_LIB_NAME rpl_protobuf_lite)
-
diff --git a/databases/xtrabackup80/files/patch-sql_binlog__ostream.cc b/databases/xtrabackup80/files/patch-sql_binlog__ostream.cc
deleted file mode 100644
index 870b55e23bf3..000000000000
--- a/databases/xtrabackup80/files/patch-sql_binlog__ostream.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- sql/binlog_ostream.cc.orig 2023-11-24 10:33:10 UTC
-+++ sql/binlog_ostream.cc
-@@ -239,7 +239,7 @@ bool IO_CACHE_binlog_cache_storage::setup_ciphers_pass
-
- /* Generate password, it is a random string. */
- if (my_rand_buffer(password, sizeof(password))) return true;
-- password_str.append(password, sizeof(password));
-+ password_str.insert(password_str.end(), password, password + sizeof(password));
-
- m_io_cache.m_encryptor->close();
- m_io_cache.m_decryptor->close();
diff --git a/databases/xtrabackup80/files/patch-sql_mdl__context__backup.cc b/databases/xtrabackup80/files/patch-sql_mdl__context__backup.cc
deleted file mode 100644
index 0d670ed2d1a2..000000000000
--- a/databases/xtrabackup80/files/patch-sql_mdl__context__backup.cc
+++ /dev/null
@@ -1,36 +0,0 @@
---- sql/mdl_context_backup.cc.orig 2023-11-24 10:33:10 UTC
-+++ sql/mdl_context_backup.cc
-@@ -159,7 +159,7 @@ bool MDL_context_backup_manager::create_backup(const M
- DBUG_TRACE;
-
- try {
-- MDL_context_backup_key key_obj(key, keylen);
-+ MDL_context_backup_key key_obj(key, key + keylen);
-
- /*
- Since this method is called as part of THD cleaning up, every XA
-@@ -192,7 +192,7 @@ bool MDL_context_backup_manager::create_backup(MDL_req
-
- bool result = false;
- try {
-- MDL_context_backup_key key_obj(key, keylen);
-+ MDL_context_backup_key key_obj(key, key + keylen);
- /*
- Check for presence a record with specified key in the collection of
- MDL_context_backup elements. It is ok to already have a record with
-@@ -238,7 +238,7 @@ bool MDL_context_backup_manager::restore_backup(MDL_co
-
- MUTEX_LOCK(guard, &m_LOCK_mdl_context_backup);
-
-- auto result = m_backup_map.find(MDL_context_backup_key(key, keylen));
-+ auto result = m_backup_map.find(MDL_context_backup_key(key, key + keylen));
- if (result != m_backup_map.end()) {
- element = result->second.get();
- res = mdl_context->clone_tickets(element->get_context(), MDL_TRANSACTION);
-@@ -251,5 +251,5 @@ void MDL_context_backup_manager::delete_backup(const u
- const size_t keylen) {
- DBUG_TRACE;
- MUTEX_LOCK(guard, &m_LOCK_mdl_context_backup);
-- m_backup_map.erase(MDL_context_backup_key(key, keylen));
-+ m_backup_map.erase(MDL_context_backup_key(key, key + keylen));
- }
diff --git a/databases/xtrabackup80/files/patch-sql_mdl__context__backup.h b/databases/xtrabackup80/files/patch-sql_mdl__context__backup.h
deleted file mode 100644
index 3c9fc1e28992..000000000000
--- a/databases/xtrabackup80/files/patch-sql_mdl__context__backup.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- sql/mdl_context_backup.h.orig 2023-11-24 10:33:10 UTC
-+++ sql/mdl_context_backup.h
-@@ -46,7 +46,7 @@ class MDL_context_backup_manager {
- /**
- Key for uniquely identifying MDL_context in the MDL_context_backup map.
- */
-- typedef std::basic_string<uchar> MDL_context_backup_key;
-+ typedef std::vector<uchar> MDL_context_backup_key;
-
- class MDL_context_backup;
-
diff --git a/databases/xtrabackup80/files/patch-sql_range__optimizer_index__range__scan__plan.cc b/databases/xtrabackup80/files/patch-sql_range__optimizer_index__range__scan__plan.cc
deleted file mode 100644
index 7dda71eef0e1..000000000000
--- a/databases/xtrabackup80/files/patch-sql_range__optimizer_index__range__scan__plan.cc
+++ /dev/null
@@ -1,39 +0,0 @@
---- sql/range_optimizer/index_range_scan_plan.cc.orig 2023-11-24 10:33:10 UTC
-+++ sql/range_optimizer/index_range_scan_plan.cc
-@@ -1015,11 +1015,11 @@ static bool null_part_in_key(KEY_PART *key_part, const
- return false;
- }
-
--// TODO(sgunders): This becomes a bit simpler with C++20's string_view
--// constructors.
--static inline std::basic_string_view<uchar> make_string_view(const uchar *start,
-- const uchar *end) {
-- return {start, static_cast<size_t>(end - start)};
-+static inline bool equal(const uchar *start1, const uchar *end1,
-+ const uchar *start2, const uchar *end2) {
-+ auto diff1 = end1 - start1;
-+ auto diff2 = end2 - start2;
-+ return diff1 == diff2 && memcmp(start1, start2, diff1) == 0;
- }
-
- /**
-@@ -1082,8 +1082,7 @@ static bool get_ranges_from_tree_given_base(
- node->next_key_part->type == SEL_ROOT::Type::KEY_RANGE &&
- node->next_key_part->root->part == part + 1) {
- if (node->min_flag == 0 && node->max_flag == 0 &&
-- make_string_view(min_key, tmp_min_key) ==
-- make_string_view(max_key, tmp_max_key)) {
-+ equal(min_key, tmp_min_key, max_key, tmp_max_key)) {
- // This range was an equality predicate, and we have more
- // keyparts to scan, so use its range as a base for ranges on
- // the next keypart(s). E.g. if we have (a = 3) on this keypart,
-@@ -1159,8 +1158,7 @@ static bool get_ranges_from_tree_given_base(
- else
- flag |= NO_MAX_RANGE;
- }
-- if (flag == 0 && make_string_view(base_min_key, tmp_min_key) ==
-- make_string_view(base_max_key, tmp_max_key)) {
-+ if (flag == 0 && equal(base_min_key, tmp_min_key, base_max_key, tmp_max_key)) {
- flag |= EQ_RANGE;
- /*
- Note that keys which are extended with PK parts have no
diff --git a/databases/xtrabackup80/files/patch-sql_rpl__log__encryption.cc b/databases/xtrabackup80/files/patch-sql_rpl__log__encryption.cc
deleted file mode 100644
index 3acbfdd9b46c..000000000000
--- a/databases/xtrabackup80/files/patch-sql_rpl__log__encryption.cc
+++ /dev/null
@@ -1,143 +0,0 @@
---- sql/rpl_log_encryption.cc.orig 2023-11-24 10:33:10 UTC
-+++ sql/rpl_log_encryption.cc
-@@ -212,7 +212,7 @@ bool Rpl_encryption::recover_master_key() {
- Rpl_encryption_header::seqno_to_key_id(m_master_key_seqno);
- auto master_key =
- get_key(m_master_key.m_id, Rpl_encryption_header::get_key_type());
-- m_master_key.m_value.assign(master_key.second);
-+ m_master_key.m_value = master_key.second;
- /* No keyring error */
- if (master_key.first == Keyring_status::KEYRING_ERROR_FETCHING) goto err1;
- }
-@@ -289,7 +289,7 @@ bool Rpl_encryption::recover_master_key() {
-
- if (new_master_key.first == Keyring_status::SUCCESS) {
- m_master_key.m_id = new_master_key_id;
-- m_master_key.m_value.assign(new_master_key.second);
-+ m_master_key.m_value = new_master_key.second;
- if (new_master_key_seqno.second > m_master_key_seqno &&
- new_master_key_seqno.second > old_master_key_seqno.second) {
- if (m_master_key_seqno > 0) {
-@@ -379,8 +379,8 @@ std::pair<Rpl_encryption::Keyring_status, Key_string>
- reinterpret_cast<unsigned char *>(std::get<1>(tuple));
- first[0] = ~(first[0]);
- });
-- key_str.append(reinterpret_cast<unsigned char *>(std::get<1>(tuple)),
-- std::get<2>(tuple));
-+ auto *first = reinterpret_cast<unsigned char *>(std::get<1>(tuple));
-+ key_str.insert(key_str.end(), first, first + std::get<2>(tuple));
- my_free(std::get<1>(tuple));
- }
-
-@@ -395,7 +395,7 @@ std::pair<Rpl_encryption::Keyring_status, Key_string>
- if (pair.first == Keyring_status::SUCCESS) {
- DBUG_EXECUTE_IF("corrupt_replication_encryption_key_size",
- { pair.second.resize(key_size / 2); });
-- if (pair.second.length() != key_size)
-+ if (pair.second.size() != key_size)
- pair.first = Keyring_status::UNEXPECTED_KEY_SIZE;
- }
- return pair;
-@@ -449,7 +449,7 @@ bool Rpl_encryption::enable_for_xtrabackup() {
- Rpl_encryption_header::seqno_to_key_id(m_master_key_seqno);
- auto master_key =
- get_key(m_master_key.m_id, Rpl_encryption_header::get_key_type());
-- m_master_key.m_value.assign(master_key.second);
-+ m_master_key.m_value = master_key.second;
- /* No keyring error */
- if (master_key.first == Keyring_status::KEYRING_ERROR_FETCHING) res = true;
- }
-@@ -770,7 +770,7 @@ Rpl_encryption::get_seqno_from_keyring(std::string key
- auto fetched_key = get_key(key_id, SEQNO_KEY_TYPE, SEQNO_KEY_LENGTH);
- uint32_t seqno = 0;
- if (fetched_key.first == Keyring_status::SUCCESS) {
-- const void *key = fetched_key.second.c_str();
-+ const void *key = fetched_key.second.data();
- memcpy(&seqno, key, sizeof(seqno));
- seqno = le32toh(seqno);
- }
-@@ -975,7 +975,7 @@ bool Rpl_encryption::generate_master_key_on_keyring(ui
-
- /* Store the generated key as the new master key */
- m_master_key.m_id = key_id;
-- m_master_key.m_value.assign(pair.second);
-+ m_master_key.m_value = pair.second;
-
- return false;
- }
-@@ -1078,12 +1078,12 @@ bool Rpl_encryption_header_v1::serialize(Basic_ostream
-
- assert(m_encrypted_password.length() == PASSWORD_FIELD_SIZE);
- *ptr++ = ENCRYPTED_FILE_PASSWORD;
-- memcpy(ptr, m_encrypted_password.data(), m_encrypted_password.length());
-+ memcpy(ptr, m_encrypted_password.data(), m_encrypted_password.size());
- ptr += PASSWORD_FIELD_SIZE;
-
- assert(m_iv.length() == IV_FIELD_SIZE);
- *ptr++ = IV_FOR_FILE_PASSWORD;
-- memcpy(ptr, m_iv.data(), m_iv.length());
-+ memcpy(ptr, m_iv.data(), m_iv.size());
-
- bool res = DBUG_EVALUATE_IF("fail_to_serialize_encryption_header", true,
- ostream->write(header, HEADER_SIZE));
-@@ -1138,13 +1138,13 @@ bool Rpl_encryption_header_v1::deserialize(Basic_istre
- reinterpret_cast<const unsigned char *>(
- reader.ptr(PASSWORD_FIELD_SIZE));
- if (!reader.has_error())
-- m_encrypted_password.assign(password_ptr, PASSWORD_FIELD_SIZE);
-+ m_encrypted_password.assign(password_ptr, password_ptr + PASSWORD_FIELD_SIZE);
- break;
- }
- case IV_FOR_FILE_PASSWORD: {
- const unsigned char *iv_ptr =
- reinterpret_cast<const unsigned char *>(reader.ptr(IV_FIELD_SIZE));
-- if (!reader.has_error()) m_iv.assign(iv_ptr, IV_FIELD_SIZE);
-+ if (!reader.has_error()) m_iv.assign(iv_ptr, iv_ptr + IV_FIELD_SIZE);
- break;
- }
- default:
-@@ -1204,11 +1204,11 @@ Key_string Rpl_encryption_header_v1::decrypt_file_pass
- unsigned char buffer[Aes_ctr::PASSWORD_LENGTH];
-
- if (my_aes_decrypt(m_encrypted_password.data(),
-- m_encrypted_password.length(), buffer,
-+ m_encrypted_password.size(), buffer,
- error_and_key.second.data(),
-- error_and_key.second.length(), my_aes_256_cbc,
-+ error_and_key.second.size(), my_aes_256_cbc,
- m_iv.data(), false) != MY_AES_BAD_DATA)
-- file_password.append(buffer, Aes_ctr::PASSWORD_LENGTH);
-+ file_password.insert(file_password.end(), buffer, buffer + Aes_ctr::PASSWORD_LENGTH);
- }
- }
- #endif
-@@ -1239,16 +1239,16 @@ bool Rpl_encryption_header_v1::encrypt_file_password(K
-
- /* Generate iv, it is a random string. */
- error = my_rand_buffer(iv, Aes_ctr::AES_BLOCK_SIZE);
-- m_iv = Key_string(iv, sizeof(iv));
-+ m_iv = Key_string(iv, iv + sizeof(iv));
-
- /* Encrypt password */
- if (!error) {
-- error = (my_aes_encrypt(password_str.data(), password_str.length(),
-+ error = (my_aes_encrypt(password_str.data(), password_str.size(),
- encrypted_password, master_key.m_value.data(),
-- master_key.m_value.length(), my_aes_256_cbc, iv,
-+ master_key.m_value.size(), my_aes_256_cbc, iv,
- false) == MY_AES_BAD_DATA);
- m_encrypted_password =
-- Key_string(encrypted_password, sizeof(encrypted_password));
-+ Key_string(encrypted_password, encrypted_password + sizeof(encrypted_password));
- }
-
- return error;
-@@ -1264,7 +1264,7 @@ Key_string Rpl_encryption_header_v1::generate_new_file
- /* Generate password, it is a random string. */
- error = my_rand_buffer(password, sizeof(password));
- if (!error) {
-- password_str.append(password, sizeof(password));
-+ password_str.insert(password_str.end(), password, password + sizeof(password));
- }
-
- if (error || encrypt_file_password(password_str) ||
diff --git a/databases/xtrabackup80/files/patch-sql_stream__cipher.cc b/databases/xtrabackup80/files/patch-sql_stream__cipher.cc
deleted file mode 100644
index e9b1b0e5a573..000000000000
--- a/databases/xtrabackup80/files/patch-sql_stream__cipher.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- sql/stream_cipher.cc.orig 2023-11-24 10:33:10 UTC
-+++ sql/stream_cipher.cc
-@@ -45,7 +45,7 @@ bool Aes_ctr_cipher<TYPE>::open(const Key_string &pass
- m_header_size = header_size;
- #ifdef HAVE_BYTESTOKEY_SHA512_HANDLING
- if (EVP_BytesToKey(Aes_ctr::get_evp_cipher(), Aes_ctr::get_evp_md(), nullptr,
-- password.data(), password.length(), 1, m_file_key,
-+ password.data(), password.size(), 1, m_file_key,
- m_iv) == 0)
- return true;
- #else
diff --git a/databases/xtrabackup80/files/patch-sql_stream__cipher.h b/databases/xtrabackup80/files/patch-sql_stream__cipher.h
deleted file mode 100644
index dfef2c2b2246..000000000000
--- a/databases/xtrabackup80/files/patch-sql_stream__cipher.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- sql/stream_cipher.h.orig 2023-11-24 10:33:10 UTC
-+++ sql/stream_cipher.h
-@@ -25,7 +25,7 @@
-
- #include <openssl/evp.h>
- #include <memory>
--#include <string>
-+#include <vector>
-
- /**
- @file stream_cipher.h
-@@ -34,7 +34,7 @@
- binary log files.
- */
-
--typedef std::basic_string<unsigned char> Key_string;
-+typedef std::vector<unsigned char> Key_string;
-
- /**
- @class Stream_cipher
diff --git a/databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_src_keyring__plugins.cc b/databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_src_keyring__plugins.cc
deleted file mode 100644
index 5a1124f11f87..000000000000
--- a/databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_src_keyring__plugins.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- storage/innobase/xtrabackup/src/keyring_plugins.cc.orig 2023-11-24 10:33:10 UTC
-+++ storage/innobase/xtrabackup/src/keyring_plugins.cc
-@@ -890,7 +890,7 @@ bool xb_binlog_password_reencrypt(const char *binlog_f
- return (false);
- }
-
-- Key_string file_password(key, Encryption::KEY_LEN);
-+ Key_string file_password(key, key + Encryption::KEY_LEN);
- header->encrypt_file_password(file_password);
-
- IO_CACHE_ostream ostream;
diff --git a/databases/xtrabackup80/files/patch-utils.cc b/databases/xtrabackup80/files/patch-utils.cc
deleted file mode 100644
index 7cc27bc79dd7..000000000000
--- a/databases/xtrabackup80/files/patch-utils.cc
+++ /dev/null
@@ -1,83 +0,0 @@
---- storage/innobase/xtrabackup/src/utils.cc.orig 2025-06-26 11:44:12.347914000 +0300
-+++ storage/innobase/xtrabackup/src/utils.cc 2025-06-26 11:47:31.087768000 +0300
-@@ -19,16 +19,6 @@
- #include <my_default.h>
- #include <mysqld.h>
-
--#ifdef __APPLE__
--#include <mach/mach_host.h>
--#include <sys/sysctl.h>
--#else
--#ifdef HAVE_PROCPS_V3
--#include <proc/sysinfo.h>
--#else
--#include <libproc2/meminfo.h>
--#endif // HAVE_PROCPS_V3
--#endif // __APPLE__
- #include <boost/uuid/uuid.hpp> // uuid class
- #include <boost/uuid/uuid_generators.hpp> // generators
- #include <boost/uuid/uuid_io.hpp> // streaming operators etc.
-@@ -116,62 +106,13 @@
- return major * 10000 + minor * 100 + version;
- }
-
--#ifdef __APPLE__
- unsigned long host_total_memory() {
-- unsigned long total_mem = sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE);
-- return total_mem;
-+ return 0;
- }
-
- unsigned long host_free_memory() {
-- unsigned long total_mem = host_total_memory();
-- int64_t used_mem;
-- vm_size_t page_size;
-- mach_msg_type_number_t count;
-- vm_statistics_data_t vm_stats;
--
-- // Get used memory
-- mach_port_t host = mach_host_self();
-- count = sizeof(vm_stats) / sizeof(natural_t);
-- if (KERN_SUCCESS == host_page_size(host, &page_size) &&
-- KERN_SUCCESS ==
-- host_statistics(host, HOST_VM_INFO, (host_info_t)&vm_stats, &count)) {
-- used_mem = ((int64_t)vm_stats.active_count + (int64_t)vm_stats.wire_count) *
-- (int64_t)page_size;
--
-- ut_a(total_mem >= (unsigned long)used_mem);
-- return total_mem - (unsigned long)used_mem;
-- }
- return 0;
- }
--#else
--unsigned long host_total_memory() {
--#ifdef HAVE_PROCPS_V3
-- meminfo();
-- return kb_main_total * 1024;
--#else
-- struct meminfo_info *mem_info;
-- if (procps_meminfo_new(&mem_info) < 0) {
-- return 0;
-- }
--
-- return MEMINFO_GET(mem_info, MEMINFO_MEM_TOTAL, ul_int) * 1024;
--#endif // HAVE_PROCPS_V3
--}
--
--unsigned long host_free_memory() {
--#ifdef HAVE_PROCPS_V3
-- meminfo();
-- return kb_main_available * 1024;
--#else
-- struct meminfo_info *mem_info;
-- if (procps_meminfo_new(&mem_info) < 0) {
-- return 0;
-- }
--
-- return MEMINFO_GET(mem_info, MEMINFO_MEM_AVAILABLE, ul_int) * 1024;
--#endif // HAVE_PROCPS_V3
--}
--#endif
-
- std::string generate_uuid() {
- boost::uuids::uuid uuid = gen();
diff --git a/databases/xtrabackup80/pkg-descr b/databases/xtrabackup80/pkg-descr
deleted file mode 100644
index da1655f57769..000000000000
--- a/databases/xtrabackup80/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-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.
diff --git a/databases/xtrabackup80/pkg-plist b/databases/xtrabackup80/pkg-plist
deleted file mode 100644
index 7d1e3c5b80e7..000000000000
--- a/databases/xtrabackup80/pkg-plist
+++ /dev/null
@@ -1,10 +0,0 @@
-bin/xbcloud
-bin/xbcloud_osenv
-bin/xbcrypt
-bin/xbstream
-bin/xtrabackup
-lib/libmysqlservices.a
-lib/plugin/component_keyring_file.so
-lib/plugin/component_keyring_kms.so
-lib/plugin/keyring_file.so
-lib/plugin/keyring_vault.so
diff --git a/databases/xtrabackup80/pkg-plist.i386 b/databases/xtrabackup80/pkg-plist.i386
deleted file mode 100644
index d40f9d36c930..000000000000
--- a/databases/xtrabackup80/pkg-plist.i386
+++ /dev/null
@@ -1,55 +0,0 @@
-bin/xbcloud
-bin/xbcloud_osenv
-bin/xbcrypt
-bin/xbstream
-bin/xtrabackup
-lib/libmysqlservices.a
-lib/plugin/component_keyring_file.so
-lib/plugin/component_keyring_kms.so
-lib/plugin/keyring_file.so
-lib/plugin/keyring_vault.so
-lib/private/icudt73l/brkitr/burmesedict.dict
-lib/private/icudt73l/brkitr/char.brk
-lib/private/icudt73l/brkitr/cjdict.dict
-lib/private/icudt73l/brkitr/de.res
-lib/private/icudt73l/brkitr/el.res
-lib/private/icudt73l/brkitr/en.res
-lib/private/icudt73l/brkitr/en_US.res
-lib/private/icudt73l/brkitr/en_US_POSIX.res
-lib/private/icudt73l/brkitr/es.res
-lib/private/icudt73l/brkitr/fi.res
-lib/private/icudt73l/brkitr/fr.res
-lib/private/icudt73l/brkitr/it.res
-lib/private/icudt73l/brkitr/ja.res
-lib/private/icudt73l/brkitr/khmerdict.dict
-lib/private/icudt73l/brkitr/ko.res
-lib/private/icudt73l/brkitr/laodict.dict
-lib/private/icudt73l/brkitr/line.brk
-lib/private/icudt73l/brkitr/line_cj.brk
-lib/private/icudt73l/brkitr/line_loose.brk
-lib/private/icudt73l/brkitr/line_loose_cj.brk
-lib/private/icudt73l/brkitr/line_loose_phrase_cj.brk
-lib/private/icudt73l/brkitr/line_normal.brk
-lib/private/icudt73l/brkitr/line_normal_cj.brk
-lib/private/icudt73l/brkitr/line_normal_phrase_cj.brk
-lib/private/icudt73l/brkitr/line_phrase_cj.brk
-lib/private/icudt73l/brkitr/pt.res
-lib/private/icudt73l/brkitr/res_index.res
-lib/private/icudt73l/brkitr/root.res
-lib/private/icudt73l/brkitr/ru.res
-lib/private/icudt73l/brkitr/sent.brk
-lib/private/icudt73l/brkitr/sent_el.brk
-lib/private/icudt73l/brkitr/sv.res
-lib/private/icudt73l/brkitr/thaidict.dict
-lib/private/icudt73l/brkitr/title.brk
-lib/private/icudt73l/brkitr/word.brk
-lib/private/icudt73l/brkitr/word_POSIX.brk
-lib/private/icudt73l/brkitr/word_fi_sv.brk
-lib/private/icudt73l/brkitr/zh.res
-lib/private/icudt73l/brkitr/zh_Hant.res
-lib/private/icudt73l/cnvalias.icu
-lib/private/icudt73l/uemoji.icu
-lib/private/icudt73l/ulayout.icu
-lib/private/icudt73l/unames.icu
-lib/private/libprotobuf-lite.so.3.19.4
-lib/private/libprotobuf.so.3.19.4