[arch-commits] Commit in percona-server/repos (10 files)

Felix Yan felixonmars at archlinux.org
Sun Jun 20 20:39:57 UTC 2021


    Date: Sunday, June 20, 2021 @ 20:39:57
  Author: felixonmars
Revision: 966072

archrelease: copy trunk to community-staging-x86_64

Added:
  percona-server/repos/community-staging-x86_64/
  percona-server/repos/community-staging-x86_64/PKGBUILD
    (from rev 966071, percona-server/trunk/PKGBUILD)
  percona-server/repos/community-staging-x86_64/build-hostname.patch
    (from rev 966071, percona-server/trunk/build-hostname.patch)
  percona-server/repos/community-staging-x86_64/gcc-11.patch
    (from rev 966071, percona-server/trunk/gcc-11.patch)
  percona-server/repos/community-staging-x86_64/icu68.patch
    (from rev 966071, percona-server/trunk/icu68.patch)
  percona-server/repos/community-staging-x86_64/my.cnf
    (from rev 966071, percona-server/trunk/my.cnf)
  percona-server/repos/community-staging-x86_64/mysql-user.conf
    (from rev 966071, percona-server/trunk/mysql-user.conf)
  percona-server/repos/community-staging-x86_64/mysqlrouter-user.conf
    (from rev 966071, percona-server/trunk/mysqlrouter-user.conf)
  percona-server/repos/community-staging-x86_64/no-werror.patch
    (from rev 966071, percona-server/trunk/no-werror.patch)
  percona-server/repos/community-staging-x86_64/rocksdb-make.patch
    (from rev 966071, percona-server/trunk/rocksdb-make.patch)

-----------------------+
 PKGBUILD              |  214 ++++++++++++++++++++++++++
 build-hostname.patch  |   17 ++
 gcc-11.patch          |  390 ++++++++++++++++++++++++++++++++++++++++++++++++
 icu68.patch           |   17 ++
 my.cnf                |   34 ++++
 mysql-user.conf       |    1 
 mysqlrouter-user.conf |    1 
 no-werror.patch       |   28 +++
 rocksdb-make.patch    |   13 +
 9 files changed, 715 insertions(+)

Copied: percona-server/repos/community-staging-x86_64/PKGBUILD (from rev 966071, percona-server/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2021-06-20 20:39:57 UTC (rev 966072)
@@ -0,0 +1,214 @@
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo at gmail.com>
+
+pkgbase=percona-server
+pkgname=('libperconaserverclient' 'percona-server-clients' 'percona-server')
+pkgver=8.0.23_14
+_boost_ver=1.73.0
+_pkgver=${pkgver/_/-}
+_myver=${pkgver/_rel*}
+pkgrel=5
+arch=('x86_64')
+makedepends=('cmake' 'zlib' 'lz4' 'zstd' 'libaio' 'systemd-tools' 'pam' 'numactl' 'jemalloc' 'openssl'
+             'rpcsvc-proto' 'doxygen' 'graphviz' 'libevent' 'protobuf') # 'boost'
+license=('GPL')
+url="https://www.percona.com/software/mysql-database/percona-server"
+source=("https://www.percona.com/downloads/Percona-Server-${pkgver%.*_*}/Percona-Server-$_pkgver/source/tarball/percona-server-$_pkgver.tar.gz"
+        "https://boostorg.jfrog.io/artifactory/main/release/$_boost_ver/source/boost_${_boost_ver//./_}.tar.gz"
+        'my.cnf'
+        'mysql-user.conf'
+        'mysqlrouter-user.conf'
+        'icu68.patch'
+        'build-hostname.patch'
+        'no-werror.patch'
+        'rocksdb-make.patch'
+        'gcc-11.patch')
+sha256sums=('613b8c110ede5cf67a7ac32e16556f4c67d8ad35263f4f8d6457ae0789074048'
+            '9995e192e68528793755692917f9eb6422f3052a53c5e13ba278a228af6c7acf'
+            'b467b04d6d06152b2abc33f2a6de63fef0fc922dd5119d2ee1d07d3c1a489731'
+            '5d7710fe88ec6d298175a309c0b776142397b119c468830b2865980292ed5da6'
+            '4ca7ffdcb2d1716d4f31e4c7dd314e5d76e64f13fdc67c5d81c53650b793f5e0'
+            '80189c3d1c171eea06567aa9c66e10675d7f43721d0475fa2fca5d1e6ae03ea8'
+            '1537fdbb92dd1c135c1eb9f4d10c44fd02e652db66c933d731990a1196f1397c'
+            '2343a191c452b91caa458b03b0c1ef3f5afb0e7031816c68467af5c6a6ffe253'
+            '2ff495d271f99c4d0dba89e8ccde7e6b9789a4ea6b55034de9b9217b47e32c03'
+            '94d5e76a211af079e132a5d8377e7033acbccdba3c2b8535871b51059f61d1a4')
+
+prepare() {
+	cd $pkgbase-$_pkgver
+	rm -v sql/sql_yacc.{cc,h}
+
+	patch -p0 -i "$srcdir"/icu68.patch
+	patch -p1 -i "$srcdir"/build-hostname.patch
+	patch -p1 -i "$srcdir"/no-werror.patch
+	patch -p1 -i "$srcdir"/rocksdb-make.patch
+	patch -p1 -i "$srcdir"/gcc-11.patch
+
+	sed -r -e s@/var/run/mysqlrouter@/run/mysqlrouter@ \
+	       -e s at lib64/mysql at lib/mysql@ \
+	       -i cmake/install_layout.cmake
+
+	for svcfile in mysqld{,@}.service.in; do
+		sed '/^PrivateTmp=/ a StateDirectory=mysql mysql-files\nRuntimeDirectory=mysqld' \
+			-i scripts/systemd/$svcfile
+	done
+
+	sed '/^PrivateTmp=/ a StateDirectory=mysqlrouter\nRuntimeDirectory=mysqlrouter' \
+		-i scripts/systemd/mysqlrouter.service.in
+}
+
+build() {
+	# rm -rf build
+	mkdir -p build
+	cd build
+
+	cmake ../$pkgbase-$_pkgver \
+		-DCMAKE_C_FLAGS_RELWITHDEBINFO="${CFLAGS} -DNDEBUG" \
+		-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="${CXXFLAGS} -DNDEBUG" \
+		-Wno-dev \
+		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
+		-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+		-DBUILD_CONFIG=mysql_release \
+		-DREPRODUCIBLE_BUILD=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+		-DSYSCONFDIR=/etc/mysql \
+		-DMYSQL_DATADIR=/var/lib/mysql \
+		-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
+		-DDEFAULT_CHARSET=utf8mb4 \
+		-DDEFAULT_COLLATION=utf8mb4_0900_ai_ci \
+		-DWITH_EXTRA_CHARSETS=all \
+		-DENABLED_LOCAL_INFILE=ON \
+		-DINSTALL_LAYOUT=RPM \
+		-DINSTALL_SBINDIR=bin \
+		-DINSTALL_LIBDIR=lib \
+		-DINSTALL_PLUGINDIR=lib/perconaserver/plugin \
+		-DINSTALL_INCLUDEDIR=include/perconaserver \
+		-DINSTALL_INFODIR=share/doc/percona-server \
+		-DINSTALL_DOCREADMEDIR=share/doc/percona-server \
+		-DINSTALL_DOCDIR=share/doc/percona-server \
+		-DINSTALL_MANDIR=share/man \
+		-DINSTALL_SUPPORTFILESDIR=share/mysql \
+		-DINSTALL_MYSQLSHAREDIR=share/mysql \
+		-DINSTALL_STATIC_LIBRARIES=OFF \
+		-DWITH_ZLIB=system \
+		-DWITH_LZ4=system \
+		-DWITH_ZSTD=system \
+		-DWITH_SSL=system \
+		-DWITH_ICU=system \
+		-DWITH_LIBEVENT=system \
+		-DWITH_PROTOBUF=system \
+		-DWITH_LIBWRAP=OFF \
+		-DWITH_MECAB=OFF \
+		-DWITH_PAM=ON \
+		-DWITH_INNODB_MEMCACHED=ON \
+		-DWITH_ARCHIVE_STORAGE_ENGINE=ON \
+		-DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
+		-DWITH_FEDERATED_STORAGE_ENGINE=ON \
+		-DWITH_ROCKSDB=ON \
+		-DTOKU_DEBUG_PARANOID=OFF \
+		-DWITH_VALGRIND=OFF \
+		-DUSE_VALGRIND=OFF \
+		-DDEBUG_EXTNAME=OFF \
+		-DBUILD_TESTING=OFF \
+		-DWITH_UNIT_TESTS=OFF \
+		-DUSE_GTAGS=OFF \
+		-DUSE_CTAGS=OFF \
+		-DUSE_ETAGS=OFF \
+		-DUSE_CSCOPE=OFF \
+		-DTOKUDB_BACKUP_PLUGIN_VERSION=$_pkgver \
+		-DWITH_SYSTEMD=1 \
+		-DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \
+		-DWITH_NUMA=ON \
+		-DWITH_BOOST="../boost_${_boost_ver//./_}"
+		# -DWITH_BOOST=system
+
+	make
+}
+
+package_libperconaserverclient() {
+	pkgdesc='Percona Server client libraries'
+	depends=('zlib' 'zstd' 'openssl')
+	optdepends=('libsasl: authentication_ldap_sasl_client plugin')
+
+	cd build
+	for dir in include libmysql libservices; do
+		make -C $dir DESTDIR="$pkgdir" install
+	done
+
+	rm -vrf "$pkgdir"/usr/lib/perconaserver/plugin/debug
+
+	install -Dm755 scripts/mysql_config "$pkgdir"/usr/bin/perconaserver_config
+	install -Dm644 "$srcdir"/$pkgbase-$_pkgver/man/mysql_config.1 "$pkgdir"/usr/share/man/man1/perconaserver_config.1
+	sed s@/lib64@/lib@ -i "$pkgdir"/usr/bin/perconaserver_config
+
+	install -D -m0644 scripts/perconaserverclient.pc "$pkgdir"/usr/lib/pkgconfig/perconaserverclient.pc
+	install -D -m0644 "$srcdir"/$pkgbase-$_pkgver/support-files/mysql.m4 "$pkgdir"/usr/share/aclocal/perconaserverclient.m4
+}
+
+package_percona-server-clients() {
+	pkgdesc='Percona Server client tools'
+	depends=('libperconaserverclient' 'zlib' 'zstd' 'lz4' 'openssl' 'jemalloc' 'readline')
+	conflicts=('mysql-clients')
+	provides=("mysql-clients=$_myver" "mariadb-clients=$_myver")
+
+	cd build
+	make -C client DESTDIR="$pkgdir" install
+
+	# install man pages
+	install -d "$pkgdir"/usr/share/man/man1
+	for man in mysql{,admin,check,dump,import,show,slap,pump,binlog,_upgrade}; do
+		install -m644 "$srcdir"/$pkgbase-$_pkgver/man/$man.1 "$pkgdir"/usr/share/man/man1/$man.1
+	done
+
+	# provided by percona-server
+	rm "$pkgdir"/usr/bin/mysql{_config_editor,_secure_installation,_ssl_rsa_setup}
+}
+
+package_percona-server() {
+	pkgdesc='Drop-in replacement for MySQL that provides improved performance, diagnostics, instrumentation and MyRocks storage engine'
+	backup=('etc/mysql/my.cnf' 'etc/mysqlrouter/mysqlrouter.conf')
+	depends=('libaio' 'systemd-tools' 'pam' 'jemalloc' 'numactl' 'lz4' 'zstd' 'openssl' 'libtirpc' 'curl'
+	         'libevent' 'protobuf' 'icu') # 'boost-libs'
+	optdepends=('perl-dbd-mysql')
+	conflicts=('mysql')
+	provides=("mysql=$_myver" "mariadb=$_myver")
+	options=('emptydirs')
+
+	cd build
+	make DESTDIR="$pkgdir" install
+
+	cd "$pkgdir"
+	install -Dm644 "$srcdir"/my.cnf etc/mysql/my.cnf
+	install -Dm644 "$srcdir"/mysql-user.conf usr/lib/sysusers.d/mysql.conf
+
+	install -dm755 etc/mysqlrouter
+	sed -e 's:@ROUTER_RUNTIMEDIR@:/run/mysqlrouter:' \
+		-e 's:^logging_folder.*:logging_folder =:' \
+		"$srcdir"/$pkgbase-$_pkgver/packaging/rpm-common/mysqlrouter.conf.in \
+		> etc/mysqlrouter/mysqlrouter.conf
+	install -Dm644 "$srcdir"/mysqlrouter-user.conf usr/lib/sysusers.d/mysqlrouter.conf
+
+	chmod 755 usr
+	rm -vrf usr/{cmake,lib/perconaserver/plugin/debug,lib/tmpfiles.d/mysql{,router}.conf}
+
+	# Move documentation
+	if [ -f usr/PATENTS ]; then
+		mv usr/{PATENTS,README.md} usr/share/doc/$pkgname/
+		rm usr/COPYING.*
+	fi
+
+	# provided by libperconaserverclient
+	rm usr/bin/mysql_config
+	rm usr/lib/libperconaserverclient*
+	rm -r usr/include/
+	rm usr/share/man/man1/mysql_config.1
+	rm -r usr/share/aclocal usr/lib/pkgconfig
+
+	# provided by percona-server-clients
+	rm usr/bin/mysql{,admin,check,dump,import,show,slap,pump,binlog,test,_upgrade}
+	rm usr/lib/perconaserver/plugin/authentication_*_client.so
+	rm usr/share/man/man1/mysql{,admin,check,dump,import,show,slap,pump,binlog,_upgrade}.1
+
+	# not needed
+	rm -r usr/share/mysql-test
+	rm usr/share/doc/percona-server/mysql.info
+}

Copied: percona-server/repos/community-staging-x86_64/build-hostname.patch (from rev 966071, percona-server/trunk/build-hostname.patch)
===================================================================
--- community-staging-x86_64/build-hostname.patch	                        (rev 0)
+++ community-staging-x86_64/build-hostname.patch	2021-06-20 20:39:57 UTC (rev 966072)
@@ -0,0 +1,17 @@
+diff --git a/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake b/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
+index 5b6882cc..d165f3e7 100644
+--- a/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
++++ b/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCTest.cmake
+@@ -56,11 +56,7 @@ endmacro(whoami)
+ 
+ ## gives the current hostname, minus .tokutek.com if it's there
+ macro(hostname out)
+-  execute_process(
+-    COMMAND hostname
+-    OUTPUT_VARIABLE fullhostname
+-    OUTPUT_STRIP_TRAILING_WHITESPACE)
+-  string(REGEX REPLACE "\\.tokutek\\.com$" "" ${out} "${fullhostname}")
++  set(${out} "archbuild")
+ endmacro(hostname)
+ 
+ ## gather machine info

Copied: percona-server/repos/community-staging-x86_64/gcc-11.patch (from rev 966071, percona-server/trunk/gcc-11.patch)
===================================================================
--- community-staging-x86_64/gcc-11.patch	                        (rev 0)
+++ community-staging-x86_64/gcc-11.patch	2021-06-20 20:39:57 UTC (rev 966072)
@@ -0,0 +1,390 @@
+diff --git a/components/mysqlbackup/backup_page_tracker.h b/components/mysqlbackup/backup_page_tracker.h
+index a0898a251f84..1d072a5104d3 100644
+--- a/components/mysqlbackup/backup_page_tracker.h
++++ b/components/mysqlbackup/backup_page_tracker.h
+@@ -28,6 +28,7 @@
+ 
+ #include <mysql/components/services/page_track_service.h>
+ 
++#include <stddef.h>  // size_t
+ #include <list>
+ 
+ #include "mysqlbackup.h"
+diff --git a/extra/robin-hood-hashing/robin_hood.h b/extra/robin-hood-hashing/robin_hood.h
+index 34ba81bf8736..596f123beb98 100644
+--- a/extra/robin-hood-hashing/robin_hood.h
++++ b/extra/robin-hood-hashing/robin_hood.h
+@@ -43,6 +43,7 @@
+ #include <cstdlib>
+ #include <cstring>
+ #include <functional>
++#include <limits>  // std::numeric_limits
+ #include <memory> // only to support hash of smart pointers
+ #include <stdexcept>
+ #include <string>
+diff --git a/include/my_alloc.h b/include/my_alloc.h
+index a1bd1f278abb..942f3cf0786f 100644
+--- a/include/my_alloc.h
++++ b/include/my_alloc.h
+@@ -32,6 +32,7 @@
+ 
+ #include <string.h>
+ 
++#include <cstdint>  // std::uintptr_t
+ #include <memory>
+ #include <new>
+ #include <type_traits>
+diff --git a/include/mysql/components/services/page_track_service.h b/include/mysql/components/services/page_track_service.h
+index 103b51351868..3090daa332cc 100644
+--- a/include/mysql/components/services/page_track_service.h
++++ b/include/mysql/components/services/page_track_service.h
+@@ -27,6 +27,7 @@
+ #include <mysql/components/service.h>
+ #include <functional>
+ 
++#include <stddef.h>  // size_t
+ #include <stdint.h>
+ 
+ #ifdef __cplusplus
+diff --git a/mysys/thr_lock.cc b/mysys/thr_lock.cc
+index 404e32024ed3..662f34086d68 100644
+--- a/mysys/thr_lock.cc
++++ b/mysys/thr_lock.cc
+@@ -1198,6 +1198,7 @@ static void *test_thread(void *arg) {
+   THR_LOCK_DATA *multi_locks[MAX_LOCK_COUNT];
+   my_thread_id id;
+   mysql_cond_t COND_thr_lock;
++  memset(&COND_thr_lock, 0, sizeof(COND_thr_lock));
+ 
+   id = param + 1; /* Main thread uses value 0. */
+   mysql_cond_init(0, &COND_thr_lock);
+diff --git a/router/src/harness/src/stdx/filesystem.cc b/router/src/harness/src/stdx/filesystem.cc
+index d800d4635379..d1f352a6f210 100644
+--- a/router/src/harness/src/stdx/filesystem.cc
++++ b/router/src/harness/src/stdx/filesystem.cc
+@@ -92,7 +92,7 @@ stdx::expected<std::string, std::error_code> getcwd() {
+     return stdx::make_unexpected(last_posix_error_code());
+   }
+ #else
+-  std::array<char, PATH_MAX> cwd;
++  std::array<char, PATH_MAX> cwd{};
+   if (nullptr == ::getcwd(cwd.data(), cwd.size())) {
+     return stdx::make_unexpected(last_error_code());
+   }
+diff --git a/router/src/harness/tests/plugins/lifecycle.cc b/router/src/harness/tests/plugins/lifecycle.cc
+index 115b05804ecc..d2760d4c3422 100644
+--- a/router/src/harness/tests/plugins/lifecycle.cc
++++ b/router/src/harness/tests/plugins/lifecycle.cc
+@@ -195,7 +195,7 @@ void init_exit_strategies(const mysql_harness::ConfigSection *section) {
+   // clang-format on
+ 
+   // process configuration
+-  for (const std::string &func : {"init", "start", "stop", "deinit"}) {
++  for (const std::string func : {"init", "start", "stop", "deinit"}) {
+     if (section->has(func)) {
+       const std::string &line = section->get(func);
+ 
+@@ -449,7 +449,7 @@ LIFECYCLE_API void lifecycle_init(int flags) {
+     std::lock_guard<std::mutex> lock(g_strategies_mtx);
+     g_strategies.clear();
+ 
+-    for (const std::string &key : {"instance1", "instance2", "instance3"}) {
++    for (const std::string key : {"instance1", "instance2", "instance3"}) {
+       g_strategies[key].strategy_set = false;  // optimisation,
+     }                                          // doesn't affect behavior
+   }
+diff --git a/router/src/harness/tests/test_net_ts_impl_resolver.cc b/router/src/harness/tests/test_net_ts_impl_resolver.cc
+index 3f28f2688e43..e5007b21671e 100644
+--- a/router/src/harness/tests/test_net_ts_impl_resolver.cc
++++ b/router/src/harness/tests/test_net_ts_impl_resolver.cc
+@@ -80,15 +80,15 @@ TEST(NetTS_impl_resolver, gethostname_buffer_too_short) {
+ }
+ 
+ TEST(NetTS_impl_resolver, gethostname) {
+-  std::array<char, 255> name;
++  std::array<char, 255> name{};
+   const auto res = net::impl::resolver::gethostname(name.data(), name.size());
+ 
+   EXPECT_THAT(res, ::testing::Truly([](auto v) { return bool(v); }));
+ }
+ 
+ TEST(NetTS_impl_resolver, getnameinfo) {
+-  std::array<char, NI_MAXHOST> name;
+-  std::array<char, NI_MAXSERV> serv;
++  std::array<char, NI_MAXHOST> name{};
++  std::array<char, NI_MAXSERV> serv{};
+   struct sockaddr_in saddr {};
+ 
+   saddr.sin_family = AF_INET;
+@@ -101,8 +101,8 @@ TEST(NetTS_impl_resolver, getnameinfo) {
+ }
+ 
+ TEST(NetTS_impl_resolver, getnameinfo_invalid_sockaddr_size) {
+-  std::array<char, NI_MAXHOST> name;
+-  std::array<char, NI_MAXSERV> serv;
++  std::array<char, NI_MAXHOST> name{};
++  std::array<char, NI_MAXSERV> serv{};
+   struct sockaddr_in saddr {};
+ 
+   saddr.sin_family = AF_INET;
+@@ -132,8 +132,8 @@ TEST(NetTS_impl_resolver, getnameinfo_invalid_sockaddr_size) {
+ // windows doesn't check for bad-flags, but returns ERROR_INSUFFICIENT_BUFFER
+ // freebsd, macosx doesn't check for bad-flags, but returns EAI_NONAME
+ TEST(NetTS_impl_resolver, getnameinfo_badflags) {
+-  std::array<char, NI_MAXHOST> name;
+-  std::array<char, NI_MAXSERV> serv;
++  std::array<char, NI_MAXHOST> name{};
++  std::array<char, NI_MAXSERV> serv{};
+   struct sockaddr_in saddr {};
+ 
+   saddr.sin_family = AF_INET;
+@@ -150,7 +150,7 @@ TEST(NetTS_impl_resolver, getnameinfo_badflags) {
+ #endif
+ 
+ TEST(NetTS_impl_resolver, getnameinfo_overflow) {
+-  std::array<char, 1> name;  // buffer too small to resolve the address
++  std::array<char, 1> name{};  // buffer too small to resolve the address
+   struct sockaddr_in saddr {};
+ 
+   saddr.sin_family = AF_INET;
+@@ -295,7 +295,7 @@ TEST(NetTS_impl_resolver, inetntop_nospace) {
+ 
+   saddr.sin_family = AF_INET;
+ 
+-  std::array<char, 1> name;
++  std::array<char, 1> name{};
+ 
+   const auto res =
+       net::impl::resolver::inetntop(AF_INET, &saddr, name.data(), name.size());
+@@ -319,7 +319,7 @@ TEST(NetTS_impl_resolver, inetntop_nospace) {
+ TEST(NetTS_impl_resolver, inetntop_ipv4) {
+   struct in_addr addr {};
+ 
+-  std::array<char, INET_ADDRSTRLEN> name;
++  std::array<char, INET_ADDRSTRLEN> name{};
+ 
+   const auto res =
+       net::impl::resolver::inetntop(AF_INET, &addr, name.data(), name.size());
+@@ -331,7 +331,7 @@ TEST(NetTS_impl_resolver, inetntop_ipv4) {
+ TEST(NetTS_impl_resolver, inetntop_ipv6) {
+   struct in6_addr addr {};
+ 
+-  std::array<char, INET6_ADDRSTRLEN> name;
++  std::array<char, INET6_ADDRSTRLEN> name{};
+ 
+   const auto res =
+       net::impl::resolver::inetntop(AF_INET6, &addr, name.data(), name.size());
+@@ -343,7 +343,7 @@ TEST(NetTS_impl_resolver, inetntop_ipv6) {
+ TEST(NetTS_impl_resolver, inetntop_fail_invalid_protocol) {
+   struct in6_addr addr {};
+ 
+-  std::array<char, INET6_ADDRSTRLEN> name;
++  std::array<char, INET6_ADDRSTRLEN> name{};
+ 
+   const auto res =
+       net::impl::resolver::inetntop(AF_UNIX, &addr, name.data(), name.size());
+@@ -355,7 +355,7 @@ TEST(NetTS_impl_resolver, inetntop_fail_invalid_protocol) {
+ TEST(NetTS_impl_resolver, inetntop_fail_empty_buffer) {
+   struct in6_addr addr {};
+ 
+-  std::array<char, INET6_ADDRSTRLEN> name;
++  std::array<char, INET6_ADDRSTRLEN> name{};
+ 
+   const auto res =
+       net::impl::resolver::inetntop(AF_INET6, &addr, name.data(), 0);
+diff --git a/router/tests/component/test_bootstrap_account.cc b/router/tests/component/test_bootstrap_account.cc
+index c475e1429f97..ee57ecddfde3 100644
+--- a/router/tests/component/test_bootstrap_account.cc
++++ b/router/tests/component/test_bootstrap_account.cc
+@@ -3971,7 +3971,7 @@ TEST_F(UndoCreateUserTest, failure_after_account_creation) {
+   // induce failure at config-write step (should result in error analogous to:
+   // "Could not create file '.../router-sBHJGw/mysqlrouter.conf.bak': Permission
+   // denied"
+-  for (const std::string &file : {"mysqlrouter.conf", "mysqlrouter.conf.bak"}) {
++  for (const std::string file : {"mysqlrouter.conf", "mysqlrouter.conf.bak"}) {
+     std::string path = bootstrap_directory.name() + "/" + file;
+     std::ofstream f(path.c_str());
+     f << "[DEFAULT]\n";
+@@ -4082,7 +4082,7 @@ TEST_F(UndoCreateUserTest,
+   // induce failure at config-write step (should result in error analogous to:
+   // "Could not create file '.../router-sBHJGw/mysqlrouter.conf.bak': Permission
+   // denied"
+-  for (const std::string &file : {"mysqlrouter.conf", "mysqlrouter.conf.bak"}) {
++  for (const std::string file : {"mysqlrouter.conf", "mysqlrouter.conf.bak"}) {
+     std::string path = bootstrap_directory.name() + "/" + file;
+     std::ofstream f(path.c_str());
+     f << "[DEFAULT]\n";
+diff --git a/sql-common/sql_string.cc b/sql-common/sql_string.cc
+index 40435729421f..44511304e80f 100644
+--- a/sql-common/sql_string.cc
++++ b/sql-common/sql_string.cc
+@@ -23,6 +23,7 @@
+ #include "sql_string.h"
+ 
+ #include <algorithm>
++#include <limits>  // std::numeric_limits
+ 
+ #include "my_dbug.h"
+ #include "my_macros.h"
+diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
+index 27dfdd8c825a..30590fb9cc64 100644
+--- a/sql/CMakeLists.txt
++++ b/sql/CMakeLists.txt
+@@ -870,6 +870,13 @@ IF(SOLARIS AND MY_COMPILER_IS_GNU AND
+     )
+ ENDIF()
+ 
++# Suppress warnings for gcc-11 or newer
++IF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11)
++  ADD_CXX_COMPILE_FLAGS_TO_FILES(-Wno-mismatched-new-delete FILES sql_cursor.cc sql_prepare.cc)
++  # a false positive with a bison-generated file (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98753)
++  ADD_CXX_COMPILE_FLAGS_TO_FILES(-Wno-free-nonheap-object FILES ${CMAKE_CURRENT_BINARY_DIR}/sql_hints.yy.cc)
++ENDIF()
++
+ ADD_LIBRARY(sql_dd STATIC ${DD_SOURCES})
+ ADD_DEPENDENCIES(sql_dd GenFixPrivs)
+ ADD_DEPENDENCIES(sql_dd GenServerSource)
+diff --git a/sql/item_geofunc_internal.cc b/sql/item_geofunc_internal.cc
+index 29384b48edd9..de426d3789ce 100644
+--- a/sql/item_geofunc_internal.cc
++++ b/sql/item_geofunc_internal.cc
+@@ -111,8 +111,7 @@ template <typename Coordsys>
+ void BG_geometry_collection::merge_components(bool *pnull_value) {
+   if (is_comp_no_overlapped()) return;
+ 
+-  POS pos;
+-  Item_func_st_union ifsu(pos, nullptr, nullptr);
++  Item_func_st_union ifsu(POS(), nullptr, nullptr);
+   bool do_again = true;
+   uint32 last_composition[6] = {0}, num_unchanged_composition = 0;
+   size_t last_num_geos = 0;
+diff --git a/sql/memory/unique_ptr.h b/sql/memory/unique_ptr.h
+index 7997834d6ec6..a30585008de0 100644
+--- a/sql/memory/unique_ptr.h
++++ b/sql/memory/unique_ptr.h
+@@ -28,6 +28,7 @@
+ #include <algorithm>
+ #include <cstddef>
+ #include <iostream>
++#include <limits>  // std::numeric_limits
+ #include <memory>
+ #include <string>
+ #include <tuple>
+diff --git a/sql/opt_range.cc b/sql/opt_range.cc
+index f1167ef9ef2f..0af19bc8cc15 100644
+--- a/sql/opt_range.cc
++++ b/sql/opt_range.cc
+@@ -15560,7 +15560,7 @@ static void append_range_all_keyparts(Opt_trace_array *range_trace,
+       range_string and the string becomes too long. Printing very long
+       range conditions normally doesn't make sense either.
+     */
+-    if (!append_to_trace && range_string->length() > 500) {
++    if (!append_to_trace && range_string && range_string->length() > 500) {
+       range_string->append(STRING_WITH_LEN("..."));
+       break;
+     }
+@@ -15608,7 +15608,7 @@ static void append_range_all_keyparts(Opt_trace_array *range_trace,
+       */
+       if (append_to_trace)
+         range_trace->add_utf8(range_so_far->ptr(), range_so_far->length());
+-      else {
++      else if (range_string) {
+         if (range_string->length() == 0)
+           range_string->append(STRING_WITH_LEN("("));
+         else
+diff --git a/sql/server_component/mysql_query_attributes_imp.cc b/sql/server_component/mysql_query_attributes_imp.cc
+index 14b2e65cb9c2..302d2016888a 100644
+--- a/sql/server_component/mysql_query_attributes_imp.cc
++++ b/sql/server_component/mysql_query_attributes_imp.cc
+@@ -274,7 +274,7 @@ static String *query_parameter_val_str(const PS_PARAM *param,
+         str->length(
+             my_TIME_to_str(tm, str->ptr(), uint8{DATETIME_MAX_DECIMALS}));
+       } else {
+-        delete str;
++        delete[] str;
+         str = nullptr;
+       }
+       break;
+@@ -300,7 +300,7 @@ static String *query_parameter_val_str(const PS_PARAM *param,
+         str->length(
+             my_TIME_to_str(tm, str->ptr(), uint8{DATETIME_MAX_DECIMALS}));
+       } else {
+-        delete str;
++        delete[] str;
+         str = nullptr;
+       }
+       break;
+@@ -342,7 +342,7 @@ static String *query_parameter_val_str(const PS_PARAM *param,
+         str->length(
+             my_TIME_to_str(tm, str->ptr(), uint8{DATETIME_MAX_DECIMALS}));
+       } else {
+-        delete str;
++        delete[] str;
+         str = nullptr;
+       }
+       break;
+@@ -355,7 +355,7 @@ static String *query_parameter_val_str(const PS_PARAM *param,
+       uint dummy_errors;
+       if (str->copy(reinterpret_cast<const char *>(param->value), param->length,
+                     &my_charset_bin, &my_charset_bin, &dummy_errors)) {
+-        delete str;
++        delete[] str;
+         str = nullptr;
+       }
+       break;
+@@ -368,7 +368,7 @@ static String *query_parameter_val_str(const PS_PARAM *param,
+       uint dummy_errors;
+       if (str->copy(reinterpret_cast<const char *>(param->value), param->length,
+                     cs, cs, &dummy_errors)) {
+-        delete str;
++        delete[] str;
+         str = nullptr;
+       }
+       break;
+diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt
+index b34a1bb97c8a..7cc7ad7e0f24 100644
+--- a/storage/innobase/CMakeLists.txt
++++ b/storage/innobase/CMakeLists.txt
+@@ -288,3 +288,10 @@ IF(HAS_WARN_FLAG)
+   ADD_COMPILE_FLAGS(fts/fts0pars.cc
+     COMPILE_FLAGS "${HAS_WARN_FLAG}")
+ ENDIF()
++
++# Suppress warnings for gcc-11 or newer
++IF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11)
++  ADD_CXX_COMPILE_FLAGS_TO_FILES(-Wno-maybe-uninitialized FILES os/os0file.cc)
++  # a false positive with a bison-generated file (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98753)
++  ADD_CXX_COMPILE_FLAGS_TO_FILES(-Wno-free-nonheap-object FILES pars/pars0grm.cc)
++ENDIF()
+diff --git a/unittest/gunit/mock_create_field.h b/unittest/gunit/mock_create_field.h
+index 16c87540b8fa..d9caad5b4ed5 100644
+--- a/unittest/gunit/mock_create_field.h
++++ b/unittest/gunit/mock_create_field.h
+@@ -40,6 +40,7 @@ class Mock_create_field : public Create_field {
+     */
+     DBUG_ASSERT(field_type == MYSQL_TYPE_TIMESTAMP ||
+                 field_type == MYSQL_TYPE_TIMESTAMP2);
++    memset(&m_lex_string, 0, sizeof(m_lex_string));
+     init(nullptr,  // THD *thd
+          nullptr,  // char *fld_name
+          field_type,
+diff --git a/unittest/gunit/strings_utf8-t.cc b/unittest/gunit/strings_utf8-t.cc
+index a863c7d1aa28..7e6e1b71b452 100644
+--- a/unittest/gunit/strings_utf8-t.cc
++++ b/unittest/gunit/strings_utf8-t.cc
+@@ -148,6 +148,7 @@ TEST_F(StringsUTF8Test, MyIsmbcharUtf8) {
+ 
+   /* valid utf8 charaters, testing for boundry values */
+   utf8_src[0] = '\x00';
++  utf8_src[1] = '\x00';
+   EXPECT_EQ(0U, system_charset_info->cset->ismbchar(system_charset_info,
+                                                     utf8_src, utf8_src + 1));
+ 
+@@ -522,6 +523,7 @@ TEST_F(StringsUTF8mb4Test, MyIsmbcharUtf8mb4) {
+ 
+   /* valid utf8mb4 charaters, testing for boundry values */
+   utf8_src[0] = '\x00';
++  utf8_src[1] = '\x00';
+   EXPECT_EQ(0U, system_charset_info->cset->ismbchar(system_charset_info,
+                                                     utf8_src, utf8_src + 1));
+   utf8_src[0] = '\x7f';

Copied: percona-server/repos/community-staging-x86_64/icu68.patch (from rev 966071, percona-server/trunk/icu68.patch)
===================================================================
--- community-staging-x86_64/icu68.patch	                        (rev 0)
+++ community-staging-x86_64/icu68.patch	2021-06-20 20:39:57 UTC (rev 966072)
@@ -0,0 +1,17 @@
+Regressed by https://github.com/unicode-org/icu/commit/c3fe7e09d844
+
+sql/mysqld.cc:6915:30: error: use of undeclared identifier 'TRUE'
+    my_getopt_skip_unknown = TRUE;
+                             ^
+
+--- sql/mysqld.cc.orig	2020-06-16 16:31:03 UTC
++++ sql/mysqld.cc
+@@ -6910,7 +6912,7 @@ int mysqld_main(int argc, char **argv)
+   if (opt_keyring_migration_source || opt_keyring_migration_destination ||
+       migrate_connect_options) {
+     Migrate_keyring mk;
+-    my_getopt_skip_unknown = TRUE;
++    my_getopt_skip_unknown = true;
+     if (mk.init(remaining_argc, remaining_argv, opt_keyring_migration_source,
+                 opt_keyring_migration_destination, opt_keyring_migration_user,
+                 opt_keyring_migration_host, opt_keyring_migration_password,

Copied: percona-server/repos/community-staging-x86_64/my.cnf (from rev 966071, percona-server/trunk/my.cnf)
===================================================================
--- community-staging-x86_64/my.cnf	                        (rev 0)
+++ community-staging-x86_64/my.cnf	2021-06-20 20:39:57 UTC (rev 966072)
@@ -0,0 +1,34 @@
+# For advice on how to change settings please see
+# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
+
+[client]
+socket          = /run/mysqld/mysqld.sock
+
+[mysqld]
+#
+# Remove leading # and set to the amount of RAM for the most important data
+# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
+# innodb_buffer_pool_size = 128M
+#
+# Remove the leading "# " to disable binary logging
+# Binary logging captures changes between backups and is enabled by
+# default. It's default setting is log_bin=binlog
+# disable_log_bin
+#
+# Remove leading # to set options mainly useful for reporting servers.
+# The server defaults are faster for transactions and fast SELECTs.
+# Adjust sizes as needed, experiment to find the optimal values.
+# join_buffer_size = 128M
+# sort_buffer_size = 2M
+# read_rnd_buffer_size = 2M
+#
+# Remove leading # to revert to previous value for default_authentication_plugin,
+# this will increase compatibility with older clients. For background, see:
+# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
+# default-authentication-plugin=mysql_native_password
+
+datadir         = /var/lib/mysql
+socket          = /run/mysqld/mysqld.sock
+
+log-error       = /var/log/mysqld.log
+pid-file        = /run/mysqld/mysqld.pid

Copied: percona-server/repos/community-staging-x86_64/mysql-user.conf (from rev 966071, percona-server/trunk/mysql-user.conf)
===================================================================
--- community-staging-x86_64/mysql-user.conf	                        (rev 0)
+++ community-staging-x86_64/mysql-user.conf	2021-06-20 20:39:57 UTC (rev 966072)
@@ -0,0 +1 @@
+u mysql 89 "MySQL user" /var/lib/mysql

Copied: percona-server/repos/community-staging-x86_64/mysqlrouter-user.conf (from rev 966071, percona-server/trunk/mysqlrouter-user.conf)
===================================================================
--- community-staging-x86_64/mysqlrouter-user.conf	                        (rev 0)
+++ community-staging-x86_64/mysqlrouter-user.conf	2021-06-20 20:39:57 UTC (rev 966072)
@@ -0,0 +1 @@
+u mysqlrouter - "Percona MySQL Router" /var/lib/mysqlrouter

Copied: percona-server/repos/community-staging-x86_64/no-werror.patch (from rev 966071, percona-server/trunk/no-werror.patch)
===================================================================
--- community-staging-x86_64/no-werror.patch	                        (rev 0)
+++ community-staging-x86_64/no-werror.patch	2021-06-20 20:39:57 UTC (rev 966072)
@@ -0,0 +1,28 @@
+diff --git a/plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/CMakeLists.txt b/plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/CMakeLists.txt
+index 9d2c1dd2..cefa9190 100644
+--- a/plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/CMakeLists.txt
++++ b/plugin/tokudb-backup-plugin/Percona-TokuBackup/backup/CMakeLists.txt
+@@ -20,7 +20,7 @@ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS
+   _FILE_OFFSET_BITS=64 
+   _LARGEFILE64_SOURCE)
+ 
+-set(CMAKE_CXX_FLAGS "-Werror -W -Wall -Wshadow ${CMAKE_CXX_FLAGS}")
++set(CMAKE_CXX_FLAGS "-W -Wall -Wshadow ${CMAKE_CXX_FLAGS}")
+ 
+ set(USE_VALGRIND OFF CACHE BOOL "whether to use valgrind headers")
+ if (USE_VALGRIND)
+diff --git a/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake b/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
+index 92897b88..95dad8ac 100644
+--- a/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
++++ b/storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake
+@@ -171,8 +171,8 @@ if (NOT CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+ endif ()
+ 
+ ## always want these
+-set(CMAKE_C_FLAGS "-Wall -Werror ${CMAKE_C_FLAGS}")
+-set(CMAKE_CXX_FLAGS "-Wall -Werror ${CMAKE_CXX_FLAGS}")
++set(CMAKE_C_FLAGS "-Wall ${CMAKE_C_FLAGS}")
++set(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}")
+ 
+ # pick language dialect
+ set(CMAKE_C_FLAGS "-std=c99 ${CMAKE_C_FLAGS}")

Copied: percona-server/repos/community-staging-x86_64/rocksdb-make.patch (from rev 966071, percona-server/trunk/rocksdb-make.patch)
===================================================================
--- community-staging-x86_64/rocksdb-make.patch	                        (rev 0)
+++ community-staging-x86_64/rocksdb-make.patch	2021-06-20 20:39:57 UTC (rev 966072)
@@ -0,0 +1,13 @@
+diff --git a/storage/rocksdb/get_rocksdb_files.sh b/storage/rocksdb/get_rocksdb_files.sh
+index dbaab0f..c68b158 100755
+--- a/storage/rocksdb/get_rocksdb_files.sh
++++ b/storage/rocksdb/get_rocksdb_files.sh
+@@ -4,7 +4,7 @@ MKFILE=`mktemp`
+ # include rocksdb make file relative to the path of this script
+ echo "include rocksdb/src.mk
+ all:
+-	@echo \$(LIB_SOURCES)" > $MKFILE
++	@echo \"\$(LIB_SOURCES)\"" > $MKFILE
+ for f in `make --makefile $MKFILE`
+ do
+   echo ./rocksdb/$f



More information about the arch-commits mailing list