Date: Saturday, December 19, 2020 @ 11:19:58 Author: foutrelis Revision: 779953
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 779952, percona-server/trunk/PKGBUILD) percona-server/repos/community-staging-x86_64/build-hostname.patch (from rev 779952, percona-server/trunk/build-hostname.patch) percona-server/repos/community-staging-x86_64/icu68.patch (from rev 779952, percona-server/trunk/icu68.patch) percona-server/repos/community-staging-x86_64/my.cnf (from rev 779952, percona-server/trunk/my.cnf) percona-server/repos/community-staging-x86_64/mysql-user.conf (from rev 779952, percona-server/trunk/mysql-user.conf) percona-server/repos/community-staging-x86_64/mysqlrouter-user.conf (from rev 779952, percona-server/trunk/mysqlrouter-user.conf) percona-server/repos/community-staging-x86_64/no-werror.patch (from rev 779952, percona-server/trunk/no-werror.patch) percona-server/repos/community-staging-x86_64/rocksdb-make.patch (from rev 779952, percona-server/trunk/rocksdb-make.patch) -----------------------+ PKGBUILD | 204 ++++++++++++++++++++++++++++++++++++++++++++++++ build-hostname.patch | 17 ++++ icu68.patch | 17 ++++ my.cnf | 34 ++++++++ mysql-user.conf | 1 mysqlrouter-user.conf | 1 no-werror.patch | 28 ++++++ rocksdb-make.patch | 13 +++ 8 files changed, 315 insertions(+) Copied: percona-server/repos/community-staging-x86_64/PKGBUILD (from rev 779952, percona-server/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2020-12-19 11:19:58 UTC (rev 779953) @@ -0,0 +1,204 @@ +# Maintainer: Massimiliano Torromeo <massimiliano.torro...@gmail.com> + +pkgbase=percona-server +pkgname=('libperconaserverclient' 'percona-server-clients' 'percona-server') +pkgver=8.0.22_13 +_boost_ver=1.73.0 +_pkgver=${pkgver/_/-} +_myver=${pkgver/_rel*} +pkgrel=2 +arch=('x86_64') +makedepends=('cmake' 'zlib' 'lz4' 'zstd' 'libaio' 'systemd-tools' 'pam' 'numactl' 'jemalloc' 'openssl' 'rpcsvc-proto' 'boost' 'doxygen' 'graphviz') +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://dl.bintray.com/boostorg/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') +sha256sums=('614249dc7790e82cabf22fdb20492be7ec5b8e98550f662204a17e0e8797cc9a' + '9995e192e68528793755692917f9eb6422f3052a53c5e13ba278a228af6c7acf' + 'b467b04d6d06152b2abc33f2a6de63fef0fc922dd5119d2ee1d07d3c1a489731' + '5d7710fe88ec6d298175a309c0b776142397b119c468830b2865980292ed5da6' + '4ca7ffdcb2d1716d4f31e4c7dd314e5d76e64f13fdc67c5d81c53650b793f5e0' + '80189c3d1c171eea06567aa9c66e10675d7f43721d0475fa2fca5d1e6ae03ea8' + '1537fdbb92dd1c135c1eb9f4d10c44fd02e652db66c933d731990a1196f1397c' + '2343a191c452b91caa458b03b0c1ef3f5afb0e7031816c68467af5c6a6ffe253' + '2ff495d271f99c4d0dba89e8ccde7e6b9789a4ea6b55034de9b9217b47e32c03') + +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 + + sed -r -e s@/var/run/mysqlrouter@/run/mysqlrouter@ \ + -e s@lib64/mysql@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 \ + -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET=community \ + -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_general_ci \ + -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_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' '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 779952, percona-server/trunk/build-hostname.patch) =================================================================== --- community-staging-x86_64/build-hostname.patch (rev 0) +++ community-staging-x86_64/build-hostname.patch 2020-12-19 11:19:58 UTC (rev 779953) @@ -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/icu68.patch (from rev 779952, percona-server/trunk/icu68.patch) =================================================================== --- community-staging-x86_64/icu68.patch (rev 0) +++ community-staging-x86_64/icu68.patch 2020-12-19 11:19:58 UTC (rev 779953) @@ -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 779952, percona-server/trunk/my.cnf) =================================================================== --- community-staging-x86_64/my.cnf (rev 0) +++ community-staging-x86_64/my.cnf 2020-12-19 11:19:58 UTC (rev 779953) @@ -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 779952, percona-server/trunk/mysql-user.conf) =================================================================== --- community-staging-x86_64/mysql-user.conf (rev 0) +++ community-staging-x86_64/mysql-user.conf 2020-12-19 11:19:58 UTC (rev 779953) @@ -0,0 +1 @@ +u mysql 89 "MySQL user" /var/lib/mysql Copied: percona-server/repos/community-staging-x86_64/mysqlrouter-user.conf (from rev 779952, percona-server/trunk/mysqlrouter-user.conf) =================================================================== --- community-staging-x86_64/mysqlrouter-user.conf (rev 0) +++ community-staging-x86_64/mysqlrouter-user.conf 2020-12-19 11:19:58 UTC (rev 779953) @@ -0,0 +1 @@ +u mysqlrouter - "Percona MySQL Router" /var/lib/mysqlrouter Copied: percona-server/repos/community-staging-x86_64/no-werror.patch (from rev 779952, percona-server/trunk/no-werror.patch) =================================================================== --- community-staging-x86_64/no-werror.patch (rev 0) +++ community-staging-x86_64/no-werror.patch 2020-12-19 11:19:58 UTC (rev 779953) @@ -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 779952, percona-server/trunk/rocksdb-make.patch) =================================================================== --- community-staging-x86_64/rocksdb-make.patch (rev 0) +++ community-staging-x86_64/rocksdb-make.patch 2020-12-19 11:19:58 UTC (rev 779953) @@ -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