diff --git a/.gitignore b/.gitignore index adae0de..20870bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -SOURCES/mariadb-10.5.8.tar.gz -/mariadb-10.5.8.tar.gz +/*/ +/*.rpm +/*.tar.gz diff --git a/README.mariadb-docs b/README.mariadb-docs deleted file mode 100644 index bff53eb..0000000 --- a/README.mariadb-docs +++ /dev/null @@ -1,9 +0,0 @@ -MariaDB haven't yet made a document package available for offline. - -You can create your own copy with the instructions here: - -https://mariadb.com/kb/en/meta/mirroring-the-mariadb-knowledge-base/ - -You can find view the on-line documentation at: - -https://mariadb.com/kb/en/documentation/ diff --git a/README.mysql-cnf b/README.mysql-cnf deleted file mode 100644 index 3700c7f..0000000 --- a/README.mysql-cnf +++ /dev/null @@ -1,13 +0,0 @@ -This directory contains prepared configuration files with .cnf extension, -which provide a configuration for some common MariaDB deployment scenarios. -These configuration files do not include the default configuration of datadir, -log-file and pid-file locations, as specified in the default my.cnf file, -provided in this distribution. - -Thus, it is recommended to use these configuration files as an addition to the -default my.cnf configuration file. - -Since default my.cnf contains `!includedir @INSTALL_SYSCONF2DIR@` directive, it is -recommended to copy required configuration under @INSTALL_SYSCONF2DIR@ directory, -so the default my.cnf specifications will be extended. - diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index c190bde..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-9 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/generate-modified-sources.sh b/generate-modified-sources.sh deleted file mode 100644 index b12059f..0000000 --- a/generate-modified-sources.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -# This script downloads sources and modifies them - -set -ex - -NAME="mariadb" -VERSION=$( rpmspec -q --srpm --qf '%{VERSION}' "${NAME}.spec" ) -# SOURCES_URL=$( spectool -s 0 "$NAME.spec" | cut -d ' ' -f 2 ) -SOURCES_URL="https://downloads.mariadb.org/interstitial/mariadb-${VERSION}/source/mariadb-${VERSION}.tar.gz" - -OLD_ARCHIVE_NAME="${NAME}-${VERSION}" -NEW_ARCHIVE_NAME="${NAME}-${VERSION}-downstream_modified" - -# Retrieve the archive: - -rm -rf "./${OLD_ARCHIVE_NAME}.tar.gz" "./${OLD_ARCHIVE_NAME}/" "./${NEW_ARCHIVE_NAME}.tar.gz" "./${NEW_ARCHIVE_NAME}/" -wget "${SOURCES_URL}" - -# Modify the archive: - -# 1/ Change both the name of the archive and the name of the base directory inside of the archive -# It will be necessary to change the name in the SPECfile in the %prep phase -# This will prevent maintainer to rebase to a non-modified sources archive without changing the SPECfile - -tar -xof "${OLD_ARCHIVE_NAME}.tar.gz" -mv "${OLD_ARCHIVE_NAME}" "${NEW_ARCHIVE_NAME}" - -# 2/ Remove the code licensed under the PerconaFT license -# which was not yet reviewed as suitable for Fedora or RHEL. -# -# License file: -# storage/tokudb/PerconaFT/PATENTS -# -# The whole storage engine, which requires code under this license -# has to be removed before uploading sources to Fedora. - -rm -r "${NEW_ARCHIVE_NAME}/storage/tokudb" - -# Pack the extracted files back to the archive - -tar -czf "${NEW_ARCHIVE_NAME}.tar.gz" "${NEW_ARCHIVE_NAME}" - -# Remove the decompressed original used to create the archive - -rm -r "./${NEW_ARCHIVE_NAME}/" diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch deleted file mode 100644 index 6334812..0000000 --- a/mariadb-auth_pam_tool_dir.patch +++ /dev/null @@ -1,29 +0,0 @@ -This scirpt is ran by the systemd service. -In Fedora the service has priviledges dropped to the mysql user. -Thus "chown 0" will always fail - -Never parse 'ls' output! -http://mywiki.wooledge.org/BashFAQ/087 - ---- mariadb-10.4.12/scripts/mysql_install_db.sh 2020-01-26 21:43:53.000000000 +0100 -+++ mariadb-10.4.12/scripts/mysql_install_db.sh_patched 2020-01-29 11:11:09.448812331 +0100 -@@ -482,13 +482,16 @@ if test -n "$user" - then - if test -z "$srcdir" -a "$in_rpm" -eq 0 - then -- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ -- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -- if test $? -ne 0 -+ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ] - then -+ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ -+ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -+ if test $? -ne 0 -+ then - echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'." - echo "It must be root, the PAM authentication plugin doesn't work otherwise.." - echo -+ fi - fi - chown $user "$pamtooldir/auth_pam_tool_dir" && \ - chmod 0700 "$pamtooldir/auth_pam_tool_dir" diff --git a/mariadb-check-socket.sh b/mariadb-check-socket.sh deleted file mode 100644 index 51a7e43..0000000 --- a/mariadb-check-socket.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -# We check if there is already a process using the socket file, -# since otherwise the systemd service file could report false -# positive result when starting and mysqld_safe could remove -# a socket file, which is actually being used by a different daemon. - -source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" - -if test -e "$socketfile" ; then - echo "Socket file $socketfile exists." >&2 - - # no write permissions - if ! test -w "$socketfile" ; then - echo "Not enough permission to write to the socket file $socketfile, which is suspicious." >&2 - echo "Please, remove $socketfile manually to start the service." >&2 - exit 1 - fi - - # not a socket file - if ! test -S "$socketfile" ; then - echo "The file $socketfile is not a socket file, which is suspicious." >&2 - echo "Please, remove $socketfile manually to start the service." >&2 - exit 1 - fi - - # some process uses the socket file - response=`@bindir@/mariadb-admin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER --connect-timeout="${CHECKSOCKETTIMEOUT:-10}" ping 2>&1` - if [ $? -eq 0 ] || echo "$response" | grep -q "Access denied for user" ; then - echo "Is another MariaDB daemon already running with the same unix socket?" >&2 - echo "Please, stop the process using the socket $socketfile or remove the file manually to start the service." >&2 - exit 1 - fi - - # socket file is a garbage - echo "No process is using $socketfile, which means it is a garbage, so it will be removed automatically." >&2 -fi - -exit 0 diff --git a/mariadb-check-upgrade.sh b/mariadb-check-upgrade.sh deleted file mode 100644 index fe95544..0000000 --- a/mariadb-check-upgrade.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" - -upgrade_info_file="$datadir/mysql_upgrade_info" -version=0 -# get version as integer from mysql_upgrade_info file -if [ -f "$upgrade_info_file" ] && [ -r "$upgrade_info_file" ] ; then - version_major=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\1/') - version_minor=$(cat "$upgrade_info_file" | head -n 1 | sed -e 's/\([0-9]*\)\.\([0-9]*\)\..*$/\2/') - if [[ $version_major =~ ^[0-9]+$ ]] && [[ $version_minor =~ ^[0-9]+$ ]] ; then - version=$((version_major*100+version_minor)) - fi -fi - -# compute current version as integer -thisversion=$((@MAJOR_VERSION@*100+@MINOR_VERSION@)) - -# provide warning in cases we should run mysql_upgrade -if [ $version -ne $thisversion ] ; then - - # give extra warning if some version seems to be skipped - if [ $version -gt 0 ] && [ $version -lt 505 ] ; then - echo "The datadir located at $datadir seems to be older than of a version 5.5. Please, mind that as a general rule, to upgrade from one release series to another, go to the next series rather than skipping a series." >&2 - fi - - cat <&2 -The datadir located at $datadir needs to be upgraded using 'mariadb-upgrade' tool. This can be done using the following steps: - - 1. Back-up your data before with 'mariadb-upgrade' - 2. Start the database daemon using 'systemctl start @DAEMON_NAME@.service' - 3. Run 'mariadb-upgrade' with a database user that has sufficient privileges - -Read more about 'mariadb-upgrade' usage at: -https://mariadb.com/kb/en/mysql_upgrade/ -EOF -fi - -exit 0 diff --git a/mariadb-fips.patch b/mariadb-fips.patch deleted file mode 100644 index 443af6f..0000000 --- a/mariadb-fips.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fix md5 in FIPS mode - -OpenSSL 3.0.0+ does not support EVP_MD_CTX_FLAG_NON_FIPS_ALLOW any longer. -In OpenSSL 1.1.1 the non FIPS allowed flag is context specific, while -in 3.0.0+ it is a different EVP_MD provider. - -Resolves: rhbz#2050541 - -diff -up mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc.fips mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc ---- mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc.fips 2022-02-07 16:36:47.255131576 +0100 -+++ mariadb-10.5.13-downstream_modified/mysys_ssl/my_md5.cc 2022-02-07 22:57:32.391002916 +0100 -@@ -52,12 +52,15 @@ static void md5_result(EVP_MD_CTX *conte - - static void md5_init(EVP_MD_CTX *context) - { -+ EVP_MD *md5; -+ md5 = EVP_MD_fetch(NULL, "MD5", "fips=no"); - EVP_MD_CTX_init(context); - #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW - /* Ok to ignore FIPS: MD5 is not used for crypto here */ - EVP_MD_CTX_set_flags(context, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); - #endif -- EVP_DigestInit_ex(context, EVP_md5(), NULL); -+ EVP_DigestInit_ex(context, md5, NULL); -+ EVP_MD_free(md5); - } - - static void md5_input(EVP_MD_CTX *context, const uchar *buf, unsigned len) diff --git a/mariadb-galera.cnf.patch b/mariadb-galera.cnf.patch new file mode 100644 index 0000000..095cdf4 --- /dev/null +++ b/mariadb-galera.cnf.patch @@ -0,0 +1,12 @@ +--- mariadb-10.1.13/support-files/wsrep.cnf.sh.orig 2016-03-24 10:12:15.000000000 +0100 ++++ mariadb-10.1.13/support-files/wsrep.cnf.sh 2016-04-07 10:18:34.281155365 +0200 +@@ -30,6 +30,9 @@ bind-address=0.0.0.0 + ## WSREP options + ## + ++# Enable wsrep ++wsrep_on=1 ++ + # Full path to wsrep provider library or 'none' + wsrep_provider=none + diff --git a/mariadb-groonga.patch b/mariadb-groonga.patch deleted file mode 100644 index 3a0e74c..0000000 --- a/mariadb-groonga.patch +++ /dev/null @@ -1,30 +0,0 @@ -# Fixing conflict with groonga package -# https://bugzilla.redhat.com/show_bug.cgi?id=1763287 - ---- mariadb-10.3.18/storage/mroonga/vendor/groonga/CMakeLists.txt.withoutoption 2019-11-11 14:01:07.762595716 +0100 -+++ mariadb-10.3.18/storage/mroonga/vendor/groonga/CMakeLists.txt 2019-11-11 14:33:05.224012458 +0100 -@@ -86,7 +86,9 @@ - set(INCLUDE_DIR "include") - set(GRN_INCLUDE_DIR "include/groonga") - set(DATA_DIR "share") --set(GRN_DATA_DIR "${DATA_DIR}/${GRN_PROJECT_NAME}") -+if(NOT DEFINED GRN_DATA_DIR) -+ set(GRN_DATA_DIR "${DATA_DIR}/${GRN_PROJECT_NAME}") -+endif() - set(CONFIG_DIR "etc") - set(GRN_CONFIG_DIR "${CONFIG_DIR}/${GRN_PROJECT_NAME}") - set(GRN_CONFIG_PATH "${CMAKE_INSTALL_PREFIX}/${GRN_CONFIG_DIR}/groonga.conf") - ---- mariadb-10.3.18/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt.withoutoption 2019-11-11 14:34:22.661005715 +0100 -+++ mariadb-10.3.18/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt 2019-11-11 14:35:59.962244120 +0100 -@@ -16,7 +16,9 @@ - # MA 02110-1335 USA - - cmake_minimum_required(VERSION 2.6) --set(GROONGA_NORMALIZER_MYSQL_PROJECT_NAME "groonga-normalizer-mysql") -+if (NOT DEFINED GROONGA_NORMALIZER_MYSQL_PROJECT_NAME) -+ set(GROONGA_NORMALIZER_MYSQL_PROJECT_NAME "groonga-normalizer-mysql") -+endif() - project("${GROONGA_NORMALIZER_MYSQL_PROJECT_NAME}") - - if(DEFINED GROONGA_NORMALIZER_MYSQL_EMBED) diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch index d4ed2b7..e3b7e7c 100644 --- a/mariadb-logrotate.patch +++ b/mariadb-logrotate.patch @@ -26,9 +26,13 @@ Update 6/2018 beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can. * Submited as PR: https://github.com/MariaDB/server/pull/807 ---- mariadb-10.5.4/support-files/mysql-log-rotate.sh.old 2020-09-16 13:36:57.247955135 +0200 -+++ mariadb-10.5.4/support-files/mysql-log-rotate.sh 2020-09-16 13:40:59.744220908 +0200 -@@ -3,23 +3,10 @@ +Update 01/2022 +* added delaycompress option +* see https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux + +--- mariadb-10.3.32/support-files/mysql-log-rotate.sh 2022-01-14 17:03:27.000000000 +0100 ++++ mariadb-10.3.32/support-files/mysql-log-rotate.sh_patched 2022-01-17 15:07:54.205379672 +0100 +@@ -3,36 +3,22 @@ # in the [mysqld] section as follows: # # [mysqld] @@ -52,13 +56,15 @@ Update 6/2018 - # create 600 mysql mysql +@LOG_LOCATION@ { + create 600 mysql mysql + su mysql mysql notifempty daily rotate 3 -@@ -27,11 +14,9 @@ + missingok compress ++ delaycompress postrotate - # just if mariadbd is really running + # just if mysqld is really running - if test -x @bindir@/mysqladmin && \ - @bindir@/mysqladmin ping &>/dev/null - then diff --git a/mariadb-openssl3.patch b/mariadb-openssl3.patch deleted file mode 100644 index 9f5b660..0000000 --- a/mariadb-openssl3.patch +++ /dev/null @@ -1,401 +0,0 @@ -From c80991c79f701dac42c630af4bd39593b0c7efb4 Mon Sep 17 00:00:00 2001 -From: Vladislav Vaintroub -Date: Mon, 8 Nov 2021 18:48:19 +0100 -Subject: [PATCH] MDEV-25785 Add support for OpenSSL 3.0 - -Summary of changes - -- MD_CTX_SIZE is increased - -- EVP_CIPHER_CTX_buf_noconst(ctx) does not work anymore, points - to nobody knows where. The assumption made previously was that - (since the function does not seem to be documented) - was that it points to the last partial source block. - Add own partial block buffer for NOPAD encryption instead - -- SECLEVEL in CipherString in openssl.cnf - had been downgraded to 0, from 1, to make TLSv1.0 and TLSv1.1 possible - -- Workaround Ssl_cipher_list issue, it now returns TLSv1.3 ciphers, - in addition to what was set in --ssl-cipher - -- ctx_buf buffer now must be aligned to 16 bytes with openssl( - previously with WolfSSL only), ot crashes will happen - -- updated aes-t , to be better debuggable - using function, rather than a huge multiline macro - added test that does "nopad" encryption piece-wise, to test - replacement of EVP_CIPHER_CTX_buf_noconst ---- - cmake/ssl.cmake | 19 ++++- - include/ssl_compat.h | 3 +- - mysql-test/lib/openssl.cnf | 2 +- - mysql-test/main/ssl_cipher.result | 6 +- - mysql-test/main/ssl_cipher.test | 2 +- - mysys_ssl/my_crypt.cc | 46 +++++++----- - unittest/mysys/aes-t.c | 121 ++++++++++++++++++++++-------- - 7 files changed, 141 insertions(+), 58 deletions(-) - - -diff -up mariadb-10.5.12-downstream_modified/cmake/ssl.cmake.patch16 mariadb-10.5.12-downstream_modified/cmake/ssl.cmake ---- mariadb-10.5.12-downstream_modified/cmake/ssl.cmake.patch16 2021-08-03 10:29:07.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/cmake/ssl.cmake 2021-11-18 16:58:41.552440737 +0100 -@@ -139,9 +139,20 @@ MACRO (MYSQL_CHECK_SSL) - SET(SSL_INTERNAL_INCLUDE_DIRS "") - SET(SSL_DEFINES "-DHAVE_OPENSSL") - -+ FOREACH(x INCLUDES LIBRARIES DEFINITIONS) -+ SET(SAVE_CMAKE_REQUIRED_${x} ${CMAKE_REQUIRED_${x}}) -+ ENDFOREACH() -+ -+ # Silence "deprecated in OpenSSL 3.0" -+ IF((NOT OPENSSL_VERSION) # 3.0 not determined by older cmake -+ OR NOT(OPENSSL_VERSION VERSION_LESS "3.0.0")) -+ SET(SSL_DEFINES "${SSL_DEFINES} -DOPENSSL_API_COMPAT=0x10100000L") -+ SET(CMAKE_REQUIRED_DEFINITIONS -DOPENSSL_API_COMPAT=0x10100000L) -+ ENDIF() -+ - SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) - SET(CMAKE_REQUIRED_LIBRARIES ${SSL_LIBRARIES}) -- SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) -+ - CHECK_SYMBOL_EXISTS(ERR_remove_thread_state "openssl/err.h" - HAVE_ERR_remove_thread_state) - CHECK_SYMBOL_EXISTS(EVP_aes_128_ctr "openssl/evp.h" -@@ -150,8 +161,10 @@ MACRO (MYSQL_CHECK_SSL) - HAVE_EncryptAes128Gcm) - CHECK_SYMBOL_EXISTS(X509_check_host "openssl/x509v3.h" - HAVE_X509_check_host) -- SET(CMAKE_REQUIRED_INCLUDES) -- SET(CMAKE_REQUIRED_LIBRARIES) -+ -+ FOREACH(x INCLUDES LIBRARIES DEFINITIONS) -+ SET(CMAKE_REQUIRED_${x} ${SAVE_CMAKE_REQUIRED_${x}}) -+ ENDFOREACH() - ELSE() - IF(WITH_SSL STREQUAL "system") - MESSAGE(FATAL_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support") -diff -up mariadb-10.5.12-downstream_modified/include/ssl_compat.h.patch16 mariadb-10.5.12-downstream_modified/include/ssl_compat.h ---- mariadb-10.5.12-downstream_modified/include/ssl_compat.h.patch16 2021-08-03 10:29:07.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/include/ssl_compat.h 2021-11-18 16:58:41.552440737 +0100 -@@ -24,7 +24,7 @@ - #define SSL_LIBRARY OpenSSL_version(OPENSSL_VERSION) - #define ERR_remove_state(X) ERR_clear_error() - #define EVP_CIPHER_CTX_SIZE 176 --#define EVP_MD_CTX_SIZE 48 -+#define EVP_MD_CTX_SIZE 72 - #undef EVP_MD_CTX_init - #define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0) - #undef EVP_CIPHER_CTX_init -@@ -74,7 +74,6 @@ - #define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G)) - #endif - --#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf) - #define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt) - #define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX) - -diff -up mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf.patch16 mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf ---- mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf.patch16 2021-08-03 10:29:07.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/mysql-test/lib/openssl.cnf 2021-11-18 16:58:41.552440737 +0100 -@@ -9,4 +9,4 @@ ssl_conf = ssl_section - system_default = system_default_section - - [system_default_section] --CipherString = ALL:@SECLEVEL=1 -+CipherString = ALL:@SECLEVEL=0 -diff -up mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result.patch16 mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result ---- mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result.patch16 2021-08-03 10:29:08.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.result 2021-11-18 16:58:41.552440737 +0100 -@@ -61,8 +61,8 @@ connect ssl_con,localhost,root,,,,,SSL; - SHOW STATUS LIKE 'Ssl_cipher'; - Variable_name Value - Ssl_cipher AES128-SHA --SHOW STATUS LIKE 'Ssl_cipher_list'; --Variable_name Value --Ssl_cipher_list AES128-SHA -+SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list'; -+VARIABLE_VALUE like '%AES128-SHA%' -+1 - disconnect ssl_con; - connection default; -diff -up mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test.patch16 mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test ---- mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test.patch16 2021-11-18 16:58:41.552440737 +0100 -+++ mariadb-10.5.12-downstream_modified/mysql-test/main/ssl_cipher.test 2021-11-18 17:00:47.753839711 +0100 -@@ -100,6 +100,6 @@ connect (ssl_con,localhost,root,,,,,SSL) - --replace_regex /TLS_AES_.*/AES128-SHA/ - SHOW STATUS LIKE 'Ssl_cipher'; - --replace_regex /TLS_AES_.*/AES128-SHA/ --SHOW STATUS LIKE 'Ssl_cipher_list'; -+SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list'; - disconnect ssl_con; - connection default; -diff -up mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc.patch16 mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc ---- mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc.patch16 2021-08-03 10:29:08.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/mysys_ssl/my_crypt.cc 2021-11-18 16:58:41.552440737 +0100 -@@ -29,11 +29,7 @@ - #include - #include - --#ifdef HAVE_WOLFSSL - #define CTX_ALIGN 16 --#else --#define CTX_ALIGN 0 --#endif - - class MyCTX - { -@@ -100,8 +96,9 @@ class MyCTX_nopad : public MyCTX - { - public: - const uchar *key; -- uint klen, buf_len; -+ uint klen, source_tail_len; - uchar oiv[MY_AES_BLOCK_SIZE]; -+ uchar source_tail[MY_AES_BLOCK_SIZE]; - - MyCTX_nopad() : MyCTX() { } - ~MyCTX_nopad() { } -@@ -112,7 +109,7 @@ public: - compile_time_assert(MY_AES_CTX_SIZE >= sizeof(MyCTX_nopad)); - this->key= key; - this->klen= klen; -- this->buf_len= 0; -+ this->source_tail_len= 0; - if (ivlen) - memcpy(oiv, iv, ivlen); - DBUG_ASSERT(ivlen == 0 || ivlen == sizeof(oiv)); -@@ -123,26 +120,41 @@ public: - return res; - } - -+ /** Update last partial source block, stored in source_tail array. */ -+ void update_source_tail(const uchar* src, uint slen) -+ { -+ if (!slen) -+ return; -+ uint new_tail_len= (source_tail_len + slen) % MY_AES_BLOCK_SIZE; -+ if (new_tail_len) -+ { -+ if (slen + source_tail_len < MY_AES_BLOCK_SIZE) -+ { -+ memcpy(source_tail + source_tail_len, src, slen); -+ } -+ else -+ { -+ DBUG_ASSERT(slen > new_tail_len); -+ memcpy(source_tail, src + slen - new_tail_len, new_tail_len); -+ } -+ } -+ source_tail_len= new_tail_len; -+ } -+ - int update(const uchar *src, uint slen, uchar *dst, uint *dlen) - { -- buf_len+= slen; -+ update_source_tail(src, slen); - return MyCTX::update(src, slen, dst, dlen); - } - - int finish(uchar *dst, uint *dlen) - { -- buf_len %= MY_AES_BLOCK_SIZE; -- if (buf_len) -+ if (source_tail_len) - { -- uchar *buf= EVP_CIPHER_CTX_buf_noconst(ctx); - /* - Not much we can do, block ciphers cannot encrypt data that aren't - a multiple of the block length. At least not without padding. - Let's do something CTR-like for the last partial block. -- -- NOTE this assumes that there are only buf_len bytes in the buf. -- If OpenSSL will change that, we'll need to change the implementation -- of this class too. - */ - uchar mask[MY_AES_BLOCK_SIZE]; - uint mlen; -@@ -154,10 +166,10 @@ public: - return rc; - DBUG_ASSERT(mlen == sizeof(mask)); - -- for (uint i=0; i < buf_len; i++) -- dst[i]= buf[i] ^ mask[i]; -+ for (uint i=0; i < source_tail_len; i++) -+ dst[i]= source_tail[i] ^ mask[i]; - } -- *dlen= buf_len; -+ *dlen= source_tail_len; - return MY_AES_OK; - } - }; -diff -up mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c.patch16 mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c ---- mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c.patch16 2021-08-03 10:29:10.000000000 +0200 -+++ mariadb-10.5.12-downstream_modified/unittest/mysys/aes-t.c 2021-11-18 16:58:41.553440740 +0100 -@@ -21,27 +21,96 @@ - #include - #include - --#define DO_TEST(mode, nopad, slen, fill, dlen, hash) \ -- SKIP_BLOCK_IF(mode == 0xDEADBEAF, nopad ? 4 : 5, #mode " not supported") \ -- { \ -- memset(src, fill, src_len= slen); \ -- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, \ -- src, src_len, dst, &dst_len, \ -- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \ -- "encrypt " #mode " %u %s", src_len, nopad ? "nopad" : "pad"); \ -- if (!nopad) \ -- ok (dst_len == my_aes_get_size(mode, src_len), "my_aes_get_size");\ -- my_md5(md5, (char*)dst, dst_len); \ -- ok(dst_len == dlen && memcmp(md5, hash, sizeof(md5)) == 0, "md5"); \ -- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT, \ -- dst, dst_len, ddst, &ddst_len, \ -- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \ -- "decrypt " #mode " %u", dst_len); \ -- ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); \ -+ -+/** Test streaming encryption, bytewise update.*/ -+static int aes_crypt_bytewise(enum my_aes_mode mode, int flags, const unsigned char *src, -+ unsigned int slen, unsigned char *dst, unsigned int *dlen, -+ const unsigned char *key, unsigned int klen, -+ const unsigned char *iv, unsigned int ivlen) -+{ -+ /* Allocate context on odd address on stack, in order to -+ catch misalignment errors.*/ -+ void *ctx= (char *)alloca(MY_AES_CTX_SIZE+1)+1; -+ -+ int res1, res2; -+ uint d1= 0, d2; -+ uint i; -+ -+ if ((res1= my_aes_crypt_init(ctx, mode, flags, key, klen, iv, ivlen))) -+ return res1; -+ for (i= 0; i < slen; i++) -+ { -+ uint tmp_d1=0; -+ res1= my_aes_crypt_update(ctx, src+i,1, dst, &tmp_d1); -+ if (res1) -+ return res1; -+ d1+= tmp_d1; -+ dst+= tmp_d1; -+ } -+ res2= my_aes_crypt_finish(ctx, dst, &d2); -+ *dlen= d1 + d2; -+ return res1 ? res1 : res2; -+} -+ -+ -+#ifndef HAVE_EncryptAes128Ctr -+const uint MY_AES_CTR=0xDEADBEAF; -+#endif -+#ifndef HAVE_EncryptAes128Gcm -+const uint MY_AES_GCM=0xDEADBEAF; -+#endif -+ -+#define MY_AES_UNSUPPORTED(x) (x == 0xDEADBEAF) -+ -+static void do_test(uint mode, const char *mode_str, int nopad, uint slen, -+ char fill, size_t dlen, const char *hash) -+{ -+ uchar key[16]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6}; -+ uchar iv[16]= {2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7}; -+ uchar src[1000], dst[1100], dst2[1100], ddst[1000]; -+ uchar md5[MY_MD5_HASH_SIZE]; -+ uint src_len, dst_len, dst_len2, ddst_len; -+ int result; -+ -+ if (MY_AES_UNSUPPORTED(mode)) -+ { -+ skip(nopad?7:6, "%s not supported", mode_str); -+ return; -+ } -+ memset(src, fill, src_len= slen); -+ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, src_len, -+ dst, &dst_len, key, sizeof(key), iv, sizeof(iv)); -+ ok(result == MY_AES_OK, "encrypt %s %u %s", mode_str, src_len, -+ nopad ? "nopad" : "pad"); -+ -+ if (nopad) -+ { -+ result= aes_crypt_bytewise(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, -+ src_len, dst2, &dst_len2, key, sizeof(key), -+ iv, sizeof(iv)); -+ ok(result == MY_AES_OK, "encrypt bytewise %s %u", mode_str, src_len); -+ /* Compare with non-bytewise encryption result*/ -+ ok(dst_len == dst_len2 && memcmp(dst, dst2, dst_len) == 0, -+ "memcmp bytewise %s %u", mode_str, src_len); - } -+ else -+ { -+ int dst_len_real= my_aes_get_size(mode, src_len); -+ ok(dst_len_real= dst_len, "my_aes_get_size"); -+ } -+ my_md5(md5, (char *) dst, dst_len); -+ ok(dst_len == dlen, "md5 len"); -+ ok(memcmp(md5, hash, sizeof(md5)) == 0, "md5"); -+ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT, -+ dst, dst_len, ddst, &ddst_len, key, sizeof(key), iv, -+ sizeof(iv)); -+ -+ ok(result == MY_AES_OK, "decrypt %s %u", mode_str, dst_len); -+ ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); -+} - --#define DO_TEST_P(M,S,F,D,H) DO_TEST(M,0,S,F,D,H) --#define DO_TEST_N(M,S,F,D,H) DO_TEST(M,ENCRYPTION_FLAG_NOPAD,S,F,D,H) -+#define DO_TEST_P(M, S, F, D, H) do_test(M, #M, 0, S, F, D, H) -+#define DO_TEST_N(M, S, F, D, H) do_test(M, #M, ENCRYPTION_FLAG_NOPAD, S, F, D, H) - - /* useful macro for debugging */ - #define PRINT_MD5() \ -@@ -53,25 +122,15 @@ - printf("\"\n"); \ - } while(0); - --#ifndef HAVE_EncryptAes128Ctr --const uint MY_AES_CTR=0xDEADBEAF; --#endif --#ifndef HAVE_EncryptAes128Gcm --const uint MY_AES_GCM=0xDEADBEAF; --#endif - - int - main(int argc __attribute__((unused)),char *argv[]) - { -- uchar key[16]= {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}; -- uchar iv[16]= {2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7}; -- uchar src[1000], dst[1100], ddst[1000]; -- uchar md5[MY_MD5_HASH_SIZE]; -- uint src_len, dst_len, ddst_len; - - MY_INIT(argv[0]); - -- plan(87); -+ plan(122); -+ - DO_TEST_P(MY_AES_ECB, 200, '.', 208, "\xd8\x73\x8e\x3a\xbc\x66\x99\x13\x7f\x90\x23\x52\xee\x97\x6f\x9a"); - DO_TEST_P(MY_AES_ECB, 128, '?', 144, "\x19\x58\x33\x85\x4c\xaa\x7f\x06\xd1\xb2\xec\xd7\xb7\x6a\xa9\x5b"); - DO_TEST_P(MY_AES_CBC, 159, '%', 160, "\x4b\x03\x18\x3d\xf1\xa7\xcd\xa1\x46\xb3\xc6\x8a\x92\xc0\x0f\xc9"); - - - -MariaDB before 10.8 series does not contain the OpenSSL 3 patch on the upstream. -MariaDB upstream later added the following condition: -https://github.com/MariaDB/server/commit/c9beef4315 -limiting the OpenSSL that can be used to < 3. and reverted this commit for 10.8 and later: -https://github.com/MariaDB/server/commit/64e358821e - -Since we apply the OpenSSL 3 patch from MariaDB 10.8 series to earlier series, we need to revert this commit -on those earlier series too. - ---- mariadb-10.5.15-downstream_modified/cmake/ssl.cmake 2022-02-22 05:13:17.259097302 +0100 -+++ mariadb-10.5.15-downstream_modified/cmake/ssl.cmake_patched 2022-02-23 07:22:20.290082378 +0100 -@@ -118,7 +118,7 @@ MACRO (MYSQL_CHECK_SSL) - ENDIF() - FIND_PACKAGE(OpenSSL) - SET_PACKAGE_PROPERTIES(OpenSSL PROPERTIES TYPE RECOMMENDED) -- IF(OPENSSL_FOUND AND OPENSSL_VERSION AND OPENSSL_VERSION VERSION_LESS "3.0.0") -+ IF(OPENSSL_FOUND) - SET(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY}) - INCLUDE(CheckSymbolExists) - SET(SSL_SOURCES "") diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch index 7728cf1..3534c43 100644 --- a/mariadb-ownsetup.patch +++ b/mariadb-ownsetup.patch @@ -1,14 +1,16 @@ ---- mariadb-10.4.14/support-files/CMakeLists.txt 2020-08-06 17:28:28.000000000 +0200 -+++ mariadb-10.4.14/support-files/CMakeLists.txt_patched 2020-09-03 13:21:07.826658279 +0200 -@@ -187,6 +187,7 @@ IF(UNIX) - COMPONENT SharedLibraries) - INSTALL(FILES rpm/mysql-clients.cnf DESTINATION ${INSTALL_SYSCONF2DIR} - COMPONENT Client) -+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_SOURCE_DIR}/rpm/server.cnf @ONLY) - INSTALL(FILES rpm/server.cnf DESTINATION ${INSTALL_SYSCONF2DIR} - COMPONENT IniFiles) - INSTALL(FILES rpm/enable_encryption.preset DESTINATION ${INSTALL_SYSCONF2DIR} - +diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt +--- mariadb-10.2.32/support-files/CMakeLists.txt 2020-05-08 13:45:27.000000000 +0200 ++++ mariadb-10.2.32/support-files/CMakeLists.txt_pacthed 2020-05-13 10:11:30.884190396 +0200 +@@ -100,7 +100,8 @@ IF(UNIX) + ENDIF() + + CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) +- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) ++ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) ++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) + + INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) + diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf --- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100 +++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100 diff --git a/mariadb-pcdir.patch b/mariadb-pcdir.patch index 117273a..d9a8a78 100644 --- a/mariadb-pcdir.patch +++ b/mariadb-pcdir.patch @@ -3,17 +3,18 @@ Use PCDIR CMake option, if configured Upstream install the server pkgconfig file into arch-independent directory Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340 ---- mariadb-10.5.5/support-files/CMakeLists.txt.old 2020-09-30 10:36:08.582490318 +0200 -+++ mariadb-10.5.5/support-files/CMakeLists.txt 2020-09-30 10:38:58.079710848 +0200 -@@ -91,7 +91,11 @@ - ENDIF() +--- mariadb-10.3.12/support-files/CMakeLists.txt 2019-03-20 15:25:53.423283135 +0100 ++++ mariadb-10.3.12/support-files/CMakeLists.txt_patched 2019-03-20 15:38:56.372819958 +0100 +@@ -82,7 +82,12 @@ IF(UNIX) CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY) + CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY) +IF(INSTALL_PCDIR) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_PCDIR} COMPONENT Development) +ELSE() - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development) +ENDIF() ++ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) diff --git a/mariadb-prepare-db-dir.sh b/mariadb-prepare-db-dir.sh deleted file mode 100644 index cccfe96..0000000 --- a/mariadb-prepare-db-dir.sh +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh - -# This script creates the MariaDB data directory during first service start. -# In subsequent starts, it does nothing much. - -source "`dirname ${BASH_SOURCE[0]}`/mariadb-scripts-common" - -export LC_ALL=C - -# Returns content of the specified directory -# If listing files fails, fake-file is returned so which means -# we'll behave like there was some data initialized -# Some files or directories are fine to be there, so those are -# explicitly removed from the listing -# @param datadir -list_datadir () -{ - ( ls -1A "$1" 2>/dev/null || echo "fake-file" ) | grep -v \ - -e '^lost+found$' \ - -e '\.err$' \ - -e '^.bash_history$' -} - -# Checks whether datadir should be initialized -# @param datadir -should_initialize () -{ - test -z "$(list_datadir "$1")" -} - -# If two args given first is user, second is group -# otherwise the arg is the systemd service file -if [ "$#" -eq 2 ] -then - myuser="$1" - mygroup="$2" -else - # Absorb configuration settings from the specified systemd service file, - # or the default service if not specified - SERVICE_NAME="$1" - if [ x"$SERVICE_NAME" = x ] - then - SERVICE_NAME=@DAEMON_NAME@.service - fi - - myuser=`systemctl show -p User "${SERVICE_NAME}" | - sed 's/^User=//'` - if [ x"$myuser" = x ] - then - myuser=mysql - fi - - mygroup=`systemctl show -p Group "${SERVICE_NAME}" | - sed 's/^Group=//'` - if [ x"$mygroup" = x ] - then - mygroup=mysql - fi -fi - -# Set up the errlogfile with appropriate permissions -if [ ! -e "$errlogfile" -a ! -h "$errlogfile" -a x$(dirname "$errlogfile") = "x/var/log" ]; then - case $(basename "$errlogfile") in - mysql*.log|mariadb*.log) install /dev/null -m0640 -o$myuser -g$mygroup "$errlogfile" ;; - *) ;; - esac -else - # Provide some advice if the log file cannot be created by this script - errlogdir=$(dirname "$errlogfile") - if ! [ -d "$errlogdir" ] ; then - echo "The directory $errlogdir does not exist." >&2 - exit 1 - elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then - echo "The log file $errlogfile cannot be written, please, fix its permissions." >&2 - echo "The daemon will be run under $myuser:$mygroup" >&2 - exit 1 - fi -fi - -# Make the data directory if doesn't exist or empty -if should_initialize "$datadir" ; then - # First, make sure $datadir is there with correct permissions - # (note: if it's not, and we're not root, this'll fail ...) - if [ ! -e "$datadir" -a ! -h "$datadir" ] - then - mkdir -p "$datadir" || exit 1 - fi - chown "$myuser:$mygroup" "$datadir" - chmod 0755 "$datadir" - [ -x /sbin/restorecon ] && /sbin/restorecon "$datadir" - - # Now create the database - echo "Initializing @NICE_PROJECT_NAME@ database" >&2 - # Avoiding deletion of files not created by mysql_install_db is - # guarded by time check and sleep should help work-arounded - # potential issues on systems with 1 second resolution timestamps - # https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19 - INITDB_TIMESTAMP=`LANG=C date -u` - sleep 1 - @bindir@/mariadb-install-db --rpm --datadir="$datadir" --user="$myuser" --skip-test-db >&2 - ret=$? - if [ $ret -ne 0 ] ; then - echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 - echo "Perhaps @sysconfdir@/my.cnf is misconfigured or there is some problem with permissions of $datadir." >&2 - # Clean up any partially-created database files - if [ ! -e "$datadir/mysql/user.frm" ] && [ -d "$datadir" ] ; then - echo "Initialization of @NICE_PROJECT_NAME@ database was not finished successfully." >&2 - echo "Files created so far will be removed." >&2 - find "$datadir" -mindepth 1 -maxdepth 1 -newermt "$INITDB_TIMESTAMP" \ - -not -name "lost+found" -exec rm -rf {} + - if [ $? -ne 0 ] ; then - echo "Removing of created files was not successfull." >&2 - echo "Please, clean directory $datadir manually." >&2 - fi - else - echo "However, part of data has been initialized and those will not be removed." >&2 - echo "Please, clean directory $datadir manually." >&2 - fi - exit $ret - fi - # upgrade does not need to be run on a fresh datadir - echo "@VERSION@-MariaDB" >"$datadir/mysql_upgrade_info" -else - if [ -d "$datadir/mysql/" ] ; then - # mysql dir exists, it seems data are initialized properly - echo "Database @NICE_PROJECT_NAME@ is probably initialized in $datadir already, nothing is done." - echo "If this is not the case, make sure the $datadir is empty before running `basename $0`." - else - # if the directory is not empty but mysql/ directory is missing, then - # print error and let user to initialize manually or empty the directory - echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." >&2 - echo "Make sure the $datadir is empty before running `basename $0`." >&2 - exit 1 - fi -fi - -exit 0 diff --git a/mariadb-scripts-common.sh b/mariadb-scripts-common.sh deleted file mode 100644 index e603a9e..0000000 --- a/mariadb-scripts-common.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/sh - -# Some useful functions used in other MariaDB helper scripts -# This scripts defines variables datadir, errlogfile, socketfile - -export LC_ALL=C - -# extract value of a MariaDB option from config files -# Usage: get_mysql_option VARNAME DEFAULT SECTION [ SECTION, ... ] -# result is returned in $result -# We use my_print_defaults which prints all options from multiple files, -# with the more specific ones later; hence take the last match. -get_mysql_option(){ - if [ $# -ne 3 ] ; then - echo "get_mysql_option requires 3 arguments: section option default_value" - return - fi - sections="$1" - option_name="$2" - default_value="$3" - result=`@bindir@/my_print_defaults $my_print_defaults_extra_args $sections | sed -n "s/^--${option_name}=//p" | tail -n 1` - if [ -z "$result" ]; then - # not found, use default - result="${default_value}" - fi -} - -# For the case of running more instances via systemd, scripts that source -# this file can get --default-group-suffix or similar option as the first -# argument. The utility my_print_defaults needs to use it as well, so the -# scripts sourcing this file work with the same options as the daemon. -my_print_defaults_extra_args='' -while echo "$1" | grep -q '^--defaults' ; do - my_print_defaults_extra_args="${my_print_defaults_extra_args} $1" - shift -done - -# Defaults here had better match what mariadbd-safe will default to -# The option values are generally defined on three important places -# on the default installation: -# 1) default values are hardcoded in the code of mariadbd daemon or -# mariadbd-safe script -# 2) configurable values are defined in @sysconfdir@/my.cnf -# 3) default values for helper scripts are specified bellow -# So, in case values are defined in my.cnf, we need to get that value. -# In case they are not defined in my.cnf, we need to get the same value -# in the daemon, as in the helper scripts. Thus, default values here -# must correspond with values defined in mariadbd-safe script and source -# code itself. - -server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ mariadb mariadb-@MAJOR_VERSION@.@MINOR_VERSION@ mariadbd mariadbd-@MAJOR_VERSION@.@MINOR_VERSION@ client-server galera" - -get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@" -datadir="$result" - -# if there is log_error in the my.cnf, my_print_defaults still -# returns log-error -# log-error might be defined in mysqld_safe and mysqld sections, -# the former has bigger priority -get_mysql_option "$server_sections" log-error "$datadir/`uname -n`.err" -errlogfile="$result" - -get_mysql_option "$server_sections" socket "@MYSQL_UNIX_ADDR@" -socketfile="$result" - -get_mysql_option "$server_sections" pid-file "$datadir/`uname -n`.pid" -pidfile="$result" - diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch index 74914b1..b684482 100644 --- a/mariadb-scripts.patch +++ b/mariadb-scripts.patch @@ -1,12 +1,11 @@ We have some downstream patches and other scripts that include variables to be expanded by cmake. Cmake needs to know about them, so adding them manually. - # Install libgcc as mylibgcc.a ---- mariadb-10.5.5/scripts/CMakeLists.txt.old 2020-09-24 10:13:35.272589689 +0200 -+++ mariadb-10.5.5/scripts/CMakeLists.txt 2020-09-24 10:17:31.428985798 +0200 -@@ -377,6 +377,34 @@ - INSTALL_LINK(${file} ${binname} ${INSTALL_BINDIR} ${${file}_COMPONENT}) - ENDIF() +--- mariadb-10.3.8/scripts/CMakeLists.txt 2018-07-02 09:34:11.000000000 +0200 ++++ mariadb-10.3.8/scripts/CMakeLists.txt_patched 2018-07-03 10:58:15.954670153 +0200 +@@ -361,6 +361,34 @@ ELSE() + COMPONENT ${${file}_COMPONENT} + ) ENDFOREACH() + + # files for systemd diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch deleted file mode 100644 index e4e6694..0000000 --- a/mariadb-spider_on_armv7hl.patch +++ /dev/null @@ -1,1078 +0,0 @@ -Fix for: -https://jira.mariadb.org/browse/MDEV-18737 -Taken from: -https://github.com/MariaDB/server/commit/ddce85907611e0533d6226de7f53e751cf173f6a - - - - - -From 3faf5d4c1c3274a20a92cb3eb7eb2de6140894d6 Mon Sep 17 00:00:00 2001 -From: Kentoku SHIBA -Date: Thu, 25 Jul 2019 22:52:45 +0900 -Subject: [PATCH] MDEV-18737 Spider "Out of memory" on armv7hl (#1363) - -This is an issue of memory alignment of variable argument when calling my_multi_malloc(). -The fix is strictly casting allocating size to "uint". ---- - storage/spider/ha_spider.cc | 36 +++-- - storage/spider/spd_conn.cc | 69 +++++----- - storage/spider/spd_copy_tables.cc | 25 ++-- - storage/spider/spd_db_conn.cc | 13 +- - storage/spider/spd_db_handlersocket.cc | 4 +- - storage/spider/spd_db_mysql.cc | 10 +- - storage/spider/spd_db_oracle.cc | 24 ++-- - storage/spider/spd_direct_sql.cc | 78 +++++------ - storage/spider/spd_group_by_handler.cc | 7 +- - storage/spider/spd_ping_table.cc | 36 +++-- - storage/spider/spd_table.cc | 134 ++++++++++--------- - storage/spider/spd_trx.cc | 173 +++++++++++++------------ - 12 files changed, 327 insertions(+), 282 deletions(-) - -diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc -index 967d2c6e5de..e04f0c8ef55 100644 ---- a/storage/spider/ha_spider.cc -+++ b/storage/spider/ha_spider.cc -@@ -394,15 +394,24 @@ int ha_spider::open( - { - if (!(searched_bitmap = (uchar *) - spider_bulk_malloc(spider_current_trx, 15, MYF(MY_WME), -- &searched_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &ft_discard_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &position_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &partition_handler_share, sizeof(SPIDER_PARTITION_HANDLER_SHARE), -- &idx_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &idx_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &rnd_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &rnd_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set), -- &pt_handler_share_handlers, sizeof(ha_spider *) * part_num, -+ &searched_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &ft_discard_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &position_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &partition_handler_share, -+ (uint) sizeof(SPIDER_PARTITION_HANDLER_SHARE), -+ &idx_read_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &idx_write_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &rnd_read_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &rnd_write_bitmap, -+ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set), -+ &pt_handler_share_handlers, -+ (uint) sizeof(ha_spider *) * part_num, - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -@@ -11317,7 +11326,7 @@ int ha_spider::create( - if (!(tmp_share.static_key_cardinality = (longlong *) - spider_bulk_malloc(spider_current_trx, 246, MYF(MY_WME), - &tmp_share.static_key_cardinality, -- sizeof(*tmp_share.static_key_cardinality) * form->s->keys, -+ (uint) (sizeof(*tmp_share.static_key_cardinality) * form->s->keys), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -@@ -12126,7 +12135,8 @@ int ha_spider::info_push( - spider_free(spider_current_trx, hs_pushed_ret_fields, MYF(0)); - if (!(hs_pushed_ret_fields = (uint32 *) - spider_bulk_malloc(spider_current_trx, 17, MYF(MY_WME), -- &hs_pushed_ret_fields, sizeof(uint32) * hs_pushed_ret_fields_num, -+ &hs_pushed_ret_fields, -+ (uint) (sizeof(uint32) * hs_pushed_ret_fields_num), - NullS)) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -13690,8 +13700,8 @@ SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link() - */ - if (!(bulk_access_link = (SPIDER_BULK_ACCESS_LINK *) - spider_bulk_malloc(spider_current_trx, 168, MYF(MY_WME), -- &bulk_access_link, sizeof(SPIDER_BULK_ACCESS_LINK), -- &ref, ALIGN_SIZE(ref_length) * 2, -+ &bulk_access_link, (uint) (sizeof(SPIDER_BULK_ACCESS_LINK)), -+ &ref, (uint) (ALIGN_SIZE(ref_length) * 2), - NullS)) - ) { - goto error_bulk_malloc; -diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc -index 911c9bc95ac..f8ca9108061 100644 ---- a/storage/spider/spd_conn.cc -+++ b/storage/spider/spd_conn.cc -@@ -470,30 +470,30 @@ SPIDER_CONN *spider_create_conn( - #endif - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 18, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, share->conn_keys_lengths[link_idx] + 1, -- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (share->conn_keys_lengths[link_idx] + 1), -+ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), - &tmp_username, -- share->tgt_usernames_lengths[link_idx] + 1, -+ (uint) (share->tgt_usernames_lengths[link_idx] + 1), - &tmp_password, -- share->tgt_passwords_lengths[link_idx] + 1, -- &tmp_socket, share->tgt_sockets_lengths[link_idx] + 1, -+ (uint) (share->tgt_passwords_lengths[link_idx] + 1), -+ &tmp_socket, (uint) (share->tgt_sockets_lengths[link_idx] + 1), - &tmp_wrapper, -- share->tgt_wrappers_lengths[link_idx] + 1, -- &tmp_ssl_ca, share->tgt_ssl_cas_lengths[link_idx] + 1, -+ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), -+ &tmp_ssl_ca, (uint) (share->tgt_ssl_cas_lengths[link_idx] + 1), - &tmp_ssl_capath, -- share->tgt_ssl_capaths_lengths[link_idx] + 1, -+ (uint) (share->tgt_ssl_capaths_lengths[link_idx] + 1), - &tmp_ssl_cert, -- share->tgt_ssl_certs_lengths[link_idx] + 1, -+ (uint) (share->tgt_ssl_certs_lengths[link_idx] + 1), - &tmp_ssl_cipher, -- share->tgt_ssl_ciphers_lengths[link_idx] + 1, -+ (uint) (share->tgt_ssl_ciphers_lengths[link_idx] + 1), - &tmp_ssl_key, -- share->tgt_ssl_keys_lengths[link_idx] + 1, -+ (uint) (share->tgt_ssl_keys_lengths[link_idx] + 1), - &tmp_default_file, -- share->tgt_default_files_lengths[link_idx] + 1, -+ (uint) (share->tgt_default_files_lengths[link_idx] + 1), - &tmp_default_group, -- share->tgt_default_groups_lengths[link_idx] + 1, -- &need_mon, sizeof(int), -+ (uint) (share->tgt_default_groups_lengths[link_idx] + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -592,13 +592,13 @@ SPIDER_CONN *spider_create_conn( - } else if (conn_kind == SPIDER_CONN_KIND_HS_READ) { - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 19, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, share->hs_read_conn_keys_lengths[link_idx] + 1, -- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, -- &tmp_socket, share->hs_read_socks_lengths[link_idx] + 1, -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (share->hs_read_conn_keys_lengths[link_idx] + 1), -+ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), -+ &tmp_socket, (uint) (share->hs_read_socks_lengths[link_idx] + 1), - &tmp_wrapper, -- share->tgt_wrappers_lengths[link_idx] + 1, -- &need_mon, sizeof(int), -+ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -634,13 +634,13 @@ SPIDER_CONN *spider_create_conn( - } else { - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 20, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, share->hs_write_conn_keys_lengths[link_idx] + 1, -- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1, -- &tmp_socket, share->hs_write_socks_lengths[link_idx] + 1, -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (share->hs_write_conn_keys_lengths[link_idx] + 1), -+ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1), -+ &tmp_socket, (uint) (share->hs_write_socks_lengths[link_idx] + 1), - &tmp_wrapper, -- share->tgt_wrappers_lengths[link_idx] + 1, -- &need_mon, sizeof(int), -+ (uint) (share->tgt_wrappers_lengths[link_idx] + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -3634,13 +3634,16 @@ int spider_create_mon_threads( - } - if (!(share->bg_mon_thds = (THD **) - spider_bulk_malloc(spider_current_trx, 23, MYF(MY_WME | MY_ZEROFILL), -- &share->bg_mon_thds, sizeof(THD *) * share->all_link_count, -- &share->bg_mon_threads, sizeof(pthread_t) * share->all_link_count, -- &share->bg_mon_mutexes, sizeof(pthread_mutex_t) * -- share->all_link_count, -- &share->bg_mon_conds, sizeof(pthread_cond_t) * share->all_link_count, -+ &share->bg_mon_thds, -+ (uint) (sizeof(THD *) * share->all_link_count), -+ &share->bg_mon_threads, -+ (uint) (sizeof(pthread_t) * share->all_link_count), -+ &share->bg_mon_mutexes, -+ (uint) (sizeof(pthread_mutex_t) * share->all_link_count), -+ &share->bg_mon_conds, -+ (uint) (sizeof(pthread_cond_t) * share->all_link_count), - &share->bg_mon_sleep_conds, -- sizeof(pthread_cond_t) * share->all_link_count, -+ (uint) (sizeof(pthread_cond_t) * share->all_link_count), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -diff --git a/storage/spider/spd_copy_tables.cc b/storage/spider/spd_copy_tables.cc -index 13c53220b16..1a472e2c12b 100644 ---- a/storage/spider/spd_copy_tables.cc -+++ b/storage/spider/spd_copy_tables.cc -@@ -390,12 +390,15 @@ int spider_udf_get_copy_tgt_tables( - do { - if (!(table_conn = (SPIDER_COPY_TABLE_CONN *) - spider_bulk_malloc(spider_current_trx, 25, MYF(MY_WME | MY_ZEROFILL), -- &table_conn, sizeof(SPIDER_COPY_TABLE_CONN), -- &tmp_share, sizeof(SPIDER_SHARE), -- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, -- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, -- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, -- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, -+ &table_conn, (uint) (sizeof(SPIDER_COPY_TABLE_CONN)), -+ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), -+ &tmp_connect_info, -+ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), -+ &tmp_connect_info_length, -+ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), -+ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), -+ &tmp_longlong, -+ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), - NullS)) - ) { - spider_sys_index_end(table_tables); -@@ -706,12 +709,12 @@ int spider_udf_copy_tables_create_table_list( - if (!(copy_tables->link_idxs[0] = (int *) - spider_bulk_malloc(spider_current_trx, 26, MYF(MY_WME | MY_ZEROFILL), - ©_tables->link_idxs[0], -- sizeof(int) * copy_tables->link_idx_count[0], -+ (uint) (sizeof(int) * copy_tables->link_idx_count[0]), - ©_tables->link_idxs[1], -- sizeof(int) * copy_tables->link_idx_count[1], -- &tmp_name_ptr, sizeof(char) * ( -+ (uint) (sizeof(int) * copy_tables->link_idx_count[1]), -+ &tmp_name_ptr, (uint) (sizeof(char) * ( - spider_table_name_length * 2 + copy_tables->database_length + 3 -- ), -+ )), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -906,7 +909,7 @@ long long spider_copy_tables_body( - - if (!(copy_tables = (SPIDER_COPY_TABLES *) - spider_bulk_malloc(spider_current_trx, 27, MYF(MY_WME | MY_ZEROFILL), -- ©_tables, sizeof(SPIDER_COPY_TABLES), -+ ©_tables, (uint) (sizeof(SPIDER_COPY_TABLES)), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc -index cc4599ce0b3..f7178293b05 100644 ---- a/storage/spider/spd_db_conn.cc -+++ b/storage/spider/spd_db_conn.cc -@@ -2643,7 +2643,8 @@ int spider_db_fetch_for_item_sum_func( - if (!spider->direct_aggregate_item_first) - { - if (!spider_bulk_malloc(spider_current_trx, 240, MYF(MY_WME), -- &spider->direct_aggregate_item_first, sizeof(SPIDER_ITEM_HLD), -+ &spider->direct_aggregate_item_first, -+ (uint) (sizeof(SPIDER_ITEM_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -2662,7 +2663,7 @@ int spider_db_fetch_for_item_sum_func( - { - if (!spider_bulk_malloc(spider_current_trx, 241, MYF(MY_WME), - &spider->direct_aggregate_item_current->next, -- sizeof(SPIDER_ITEM_HLD), NullS) -+ (uint) (sizeof(SPIDER_ITEM_HLD)), NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); - } -@@ -4034,8 +4035,8 @@ int spider_db_store_result( - current->field_count = field_count; - if (!(position = (SPIDER_POSITION *) - spider_bulk_malloc(spider_current_trx, 7, MYF(MY_WME | MY_ZEROFILL), -- &position, sizeof(SPIDER_POSITION) * page_size, -- &tmp_row, sizeof(char*) * field_count, -+ &position, (uint) (sizeof(SPIDER_POSITION) * page_size), -+ &tmp_row, (uint) (sizeof(SPIDER_DB_ROW) * field_count), - NullS)) - ) - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -10814,8 +10815,8 @@ int spider_db_udf_copy_tables( - DBUG_ENTER("spider_db_udf_copy_tables"); - if (!(last_row_pos = (ulong *) - spider_bulk_malloc(spider_current_trx, 30, MYF(MY_WME), -- &last_row_pos, sizeof(ulong) * table->s->fields, -- &last_lengths, sizeof(ulong) * table->s->fields, -+ &last_row_pos, (uint) (sizeof(ulong) * table->s->fields), -+ &last_lengths, (uint) (sizeof(ulong) * table->s->fields), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -diff --git a/storage/spider/spd_db_handlersocket.cc b/storage/spider/spd_db_handlersocket.cc -index 1e42838f40a..1e88ad4a59a 100644 ---- a/storage/spider/spd_db_handlersocket.cc -+++ b/storage/spider/spd_db_handlersocket.cc -@@ -505,8 +505,8 @@ SPIDER_DB_ROW *spider_db_handlersocket_row::clone() - DBUG_RETURN(NULL); - } - if (!spider_bulk_malloc(spider_current_trx, 169, MYF(MY_WME), -- &clone_row->hs_row, sizeof(SPIDER_HS_STRING_REF) * field_count, -- &tmp_char, row_size, -+ &clone_row->hs_row, (uint) (sizeof(SPIDER_HS_STRING_REF) * field_count), -+ &tmp_char, (uint) (row_size), - NullS) - ) { - delete clone_row; -diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc -index 1b62b4a9bd5..947a614f11e 100644 ---- a/storage/spider/spd_db_mysql.cc -+++ b/storage/spider/spd_db_mysql.cc -@@ -523,9 +523,9 @@ SPIDER_DB_ROW *spider_db_mbase_row::clone() - row_size = record_size + field_count; - } - if (!spider_bulk_malloc(spider_current_trx, 29, MYF(MY_WME), -- &clone_row->row, sizeof(char*) * field_count, -- &tmp_char, row_size, -- &clone_row->lengths, sizeof(ulong) * field_count, -+ &clone_row->row, (uint) (sizeof(char*) * field_count), -+ &tmp_char, (uint) (row_size), -+ &clone_row->lengths, (uint) (sizeof(ulong) * field_count), - NullS) - ) { - delete clone_row; -@@ -13519,7 +13519,7 @@ int spider_mbase_handler::init_union_table_name_pos() - if (!union_table_name_pos_first) - { - if (!spider_bulk_malloc(spider_current_trx, 236, MYF(MY_WME), -- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD), -+ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -13540,7 +13540,7 @@ int spider_mbase_handler::set_union_table_name_pos() - if (!union_table_name_pos_current->next) - { - if (!spider_bulk_malloc(spider_current_trx, 237, MYF(MY_WME), -- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD), -+ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc -index 08d7d3e083d..d869afc61f4 100644 ---- a/storage/spider/spd_db_oracle.cc -+++ b/storage/spider/spd_db_oracle.cc -@@ -588,16 +588,16 @@ int spider_db_oracle_row::init() - if ( - !(ind = (sb2 *) - spider_bulk_malloc(spider_current_trx, 161, MYF(MY_WME | MY_ZEROFILL), -- &ind, sizeof(sb2) * field_count, -- &rlen, sizeof(ub2) * field_count, -- &coltp, sizeof(ub2) * field_count, -- &colsz, sizeof(ub2) * field_count, -- &row_size, sizeof(ulong) * field_count, -- &val, sizeof(char *) * field_count, -- &tmp_val, MAX_FIELD_WIDTH * field_count, -- &defnp, sizeof(OCIDefine *) * field_count, -- &lobhp, sizeof(OCILobLocator *) * field_count, -- &colhp, sizeof(OCIParam *) * field_count, -+ &ind, (uint) (sizeof(sb2) * field_count), -+ &rlen, (uint) (sizeof(ub2) * field_count), -+ &coltp, (uint) (sizeof(ub2) * field_count), -+ &colsz, (uint) (sizeof(ub2) * field_count), -+ &row_size, (uint) (sizeof(ulong) * field_count), -+ &val, (uint) (sizeof(char *) * field_count), -+ &tmp_val, (uint) (MAX_FIELD_WIDTH * field_count), -+ &defnp, (uint) (sizeof(OCIDefine *) * field_count), -+ &lobhp, (uint) (sizeof(OCILobLocator *) * field_count), -+ &colhp, (uint) (sizeof(OCIParam *) * field_count), - NullS) - ) || - !(val_str = new spider_string[field_count]) -@@ -12487,7 +12487,7 @@ int spider_oracle_handler::init_union_table_name_pos() - if (!union_table_name_pos_first) - { - if (!spider_bulk_malloc(spider_current_trx, 238, MYF(MY_WME), -- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD), -+ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -@@ -12508,7 +12508,7 @@ int spider_oracle_handler::set_union_table_name_pos() - if (!union_table_name_pos_current->next) - { - if (!spider_bulk_malloc(spider_current_trx, 239, MYF(MY_WME), -- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD), -+ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)), - NullS) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); -diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc -index 7237d0877a7..7bf0b91a4a7 100644 ---- a/storage/spider/spd_direct_sql.cc -+++ b/storage/spider/spd_direct_sql.cc -@@ -1,4 +1,5 @@ --/* Copyright (C) 2009-2018 Kentoku Shiba -+/* Copyright (C) 2009-2019 Kentoku Shiba -+ Copyright (C) 2019 MariaDB corp - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -117,31 +118,32 @@ int spider_udf_direct_sql_create_table_list( - #if MYSQL_VERSION_ID < 50500 - if (!(direct_sql->db_names = (char**) - spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL), -- &direct_sql->db_names, sizeof(char*) * table_count, -- &direct_sql->table_names, sizeof(char*) * table_count, -- &direct_sql->tables, sizeof(TABLE*) * table_count, -- &tmp_name_ptr, sizeof(char) * ( -+ &direct_sql->db_names, (uint) (sizeof(char*) * table_count), -+ &direct_sql->table_names, (uint) (sizeof(char*) * table_count), -+ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count), -+ &tmp_name_ptr, (uint) (sizeof(char) * ( - table_name_list_length + - thd->db_length * table_count + - 2 * table_count -- ), -- &direct_sql->iop, sizeof(int) * table_count, -+ )), -+ &direct_sql->iop, (uint) (sizeof(int) * table_count), - NullS)) - ) - #else - if (!(direct_sql->db_names = (char**) - spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL), -- &direct_sql->db_names, sizeof(char*) * table_count, -- &direct_sql->table_names, sizeof(char*) * table_count, -- &direct_sql->tables, sizeof(TABLE*) * table_count, -- &tmp_name_ptr, sizeof(char) * ( -+ &direct_sql->db_names, (uint) (sizeof(char*) * table_count), -+ &direct_sql->table_names, (uint) (sizeof(char*) * table_count), -+ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count), -+ &tmp_name_ptr, (uint) (sizeof(char) * ( - table_name_list_length + - SPIDER_THD_db_length(thd) * table_count + - 2 * table_count -- ), -- &direct_sql->iop, sizeof(int) * table_count, -- &direct_sql->table_list, sizeof(TABLE_LIST) * table_count, -- &direct_sql->real_table_bitmap, sizeof(uchar) * ((table_count + 7) / 8), -+ )), -+ &direct_sql->iop, (uint) (sizeof(int) * table_count), -+ &direct_sql->table_list, (uint) (sizeof(TABLE_LIST) * table_count), -+ &direct_sql->real_table_bitmap, -+ (uint) (sizeof(uchar) * ((table_count + 7) / 8)), - NullS)) - ) - #endif -@@ -412,23 +414,23 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn( - #endif - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 32, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, direct_sql->conn_key_length + 1, -- &tmp_host, direct_sql->tgt_host_length + 1, -- &tmp_username, direct_sql->tgt_username_length + 1, -- &tmp_password, direct_sql->tgt_password_length + 1, -- &tmp_socket, direct_sql->tgt_socket_length + 1, -- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1, -- &tmp_ssl_ca, direct_sql->tgt_ssl_ca_length + 1, -- &tmp_ssl_capath, direct_sql->tgt_ssl_capath_length + 1, -- &tmp_ssl_cert, direct_sql->tgt_ssl_cert_length + 1, -- &tmp_ssl_cipher, direct_sql->tgt_ssl_cipher_length + 1, -- &tmp_ssl_key, direct_sql->tgt_ssl_key_length + 1, -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (direct_sql->conn_key_length + 1), -+ &tmp_host, (uint) (direct_sql->tgt_host_length + 1), -+ &tmp_username, (uint) (direct_sql->tgt_username_length + 1), -+ &tmp_password, (uint) (direct_sql->tgt_password_length + 1), -+ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1), -+ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1), -+ &tmp_ssl_ca, (uint) (direct_sql->tgt_ssl_ca_length + 1), -+ &tmp_ssl_capath, (uint) (direct_sql->tgt_ssl_capath_length + 1), -+ &tmp_ssl_cert, (uint) (direct_sql->tgt_ssl_cert_length + 1), -+ &tmp_ssl_cipher, (uint) (direct_sql->tgt_ssl_cipher_length + 1), -+ &tmp_ssl_key, (uint) (direct_sql->tgt_ssl_key_length + 1), - &tmp_default_file, -- direct_sql->tgt_default_file_length + 1, -+ (uint) (direct_sql->tgt_default_file_length + 1), - &tmp_default_group, -- direct_sql->tgt_default_group_length + 1, -- &need_mon, sizeof(int), -+ (uint) (direct_sql->tgt_default_group_length + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -439,12 +441,12 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn( - } else { - if (!(conn = (SPIDER_CONN *) - spider_bulk_malloc(spider_current_trx, 33, MYF(MY_WME | MY_ZEROFILL), -- &conn, sizeof(*conn), -- &tmp_name, direct_sql->conn_key_length + 1, -- &tmp_host, direct_sql->tgt_host_length + 1, -- &tmp_socket, direct_sql->tgt_socket_length + 1, -- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1, -- &need_mon, sizeof(int), -+ &conn, (uint) (sizeof(*conn)), -+ &tmp_name, (uint) (direct_sql->conn_key_length + 1), -+ &tmp_host, (uint) (direct_sql->tgt_host_length + 1), -+ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1), -+ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1), -+ &need_mon, (uint) (sizeof(int)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -1602,8 +1604,8 @@ long long spider_direct_sql_body( - SPIDER_BACKUP_DASTATUS; - if (!(direct_sql = (SPIDER_DIRECT_SQL *) - spider_bulk_malloc(spider_current_trx, 34, MYF(MY_WME | MY_ZEROFILL), -- &direct_sql, sizeof(SPIDER_DIRECT_SQL), -- &sql, sizeof(char) * args->lengths[0], -+ &direct_sql, (uint) (sizeof(SPIDER_DIRECT_SQL)), -+ &sql, (uint) (sizeof(char) * args->lengths[0]), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -diff --git a/storage/spider/spd_group_by_handler.cc b/storage/spider/spd_group_by_handler.cc -index 3b57092c4ce..51cfca23106 100644 ---- a/storage/spider/spd_group_by_handler.cc -+++ b/storage/spider/spd_group_by_handler.cc -@@ -1,4 +1,5 @@ --/* Copyright (C) 2008-2018 Kentoku Shiba -+/* Copyright (C) 2008-2019 Kentoku Shiba -+ Copyright (C) 2019 MariaDB corp - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -637,9 +638,9 @@ SPIDER_CONN_HOLDER *spider_fields::create_conn_holder( - DBUG_PRINT("info",("spider this=%p", this)); - return_conn_holder = (SPIDER_CONN_HOLDER *) - spider_bulk_malloc(spider_current_trx, 252, MYF(MY_WME | MY_ZEROFILL), -- &return_conn_holder, sizeof(SPIDER_CONN_HOLDER), -+ &return_conn_holder, (uint) (sizeof(SPIDER_CONN_HOLDER)), - &table_link_idx_holder, -- table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER), -+ (uint) (table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER)), - NullS - ); - if (!return_conn_holder) -diff --git a/storage/spider/spd_ping_table.cc b/storage/spider/spd_ping_table.cc -index 431d46063c3..60e36fc24fb 100644 ---- a/storage/spider/spd_ping_table.cc -+++ b/storage/spider/spd_ping_table.cc -@@ -1,4 +1,5 @@ --/* Copyright (C) 2009-2018 Kentoku Shiba -+/* Copyright (C) 2009-2019 Kentoku Shiba -+ Copyright (C) 2019 MariaDB corp - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -367,12 +368,15 @@ int spider_get_ping_table_mon( - do { - if (!(table_mon = (SPIDER_TABLE_MON *) - spider_bulk_malloc(spider_current_trx, 35, MYF(MY_WME | MY_ZEROFILL), -- &table_mon, sizeof(SPIDER_TABLE_MON), -- &tmp_share, sizeof(SPIDER_SHARE), -- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, -- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, -- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, -- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, -+ &table_mon, (uint) (sizeof(SPIDER_TABLE_MON)), -+ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), -+ &tmp_connect_info, -+ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), -+ &tmp_connect_info_length, -+ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), -+ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), -+ &tmp_longlong, -+ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), - NullS)) - ) { - spider_sys_index_end(table_link_mon); -@@ -491,13 +495,17 @@ SPIDER_TABLE_MON_LIST *spider_get_ping_table_tgt( - SPD_INIT_ALLOC_ROOT(&mem_root, 4096, 0, MYF(MY_WME)); - if (!(table_mon_list = (SPIDER_TABLE_MON_LIST *) - spider_bulk_malloc(spider_current_trx, 36, MYF(MY_WME | MY_ZEROFILL), -- &table_mon_list, sizeof(SPIDER_TABLE_MON_LIST), -- &tmp_share, sizeof(SPIDER_SHARE), -- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, -- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, -- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, -- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, -- &key_str, str->length() + 1, -+ &table_mon_list, (uint) (sizeof(SPIDER_TABLE_MON_LIST)), -+ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), -+ &tmp_connect_info, -+ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), -+ &tmp_connect_info_length, -+ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), -+ &tmp_long, -+ (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), -+ &tmp_longlong, -+ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), -+ &key_str, (uint) (str->length() + 1), - NullS)) - ) { - my_error(HA_ERR_OUT_OF_MEM, MYF(0)); -diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc -index 83c5a37555f..5bae895570d 100644 ---- a/storage/spider/spd_table.cc -+++ b/storage/spider/spd_table.cc -@@ -1209,8 +1209,8 @@ int spider_create_string_list( - - if (!(*string_list = (char**) - spider_bulk_malloc(spider_current_trx, 37, MYF(MY_WME | MY_ZEROFILL), -- string_list, sizeof(char*) * (*list_length), -- string_length_list, sizeof(int) * (*list_length), -+ string_list, (uint) (sizeof(char*) * (*list_length)), -+ string_length_list, (uint) (sizeof(int) * (*list_length)), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1328,7 +1328,7 @@ int spider_create_long_list( - - if (!(*long_list = (long*) - spider_bulk_malloc(spider_current_trx, 38, MYF(MY_WME | MY_ZEROFILL), -- long_list, sizeof(long) * (*list_length), -+ long_list, (uint) (sizeof(long) * (*list_length)), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1412,7 +1412,7 @@ int spider_create_longlong_list( - - if (!(*longlong_list = (longlong *) - spider_bulk_malloc(spider_current_trx, 39, MYF(MY_WME | MY_ZEROFILL), -- longlong_list, sizeof(longlong) * (*list_length), -+ longlong_list, (uint) (sizeof(longlong) * (*list_length)), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1483,8 +1483,8 @@ int spider_increase_string_list( - - if (!(tmp_str_list = (char**) - spider_bulk_malloc(spider_current_trx, 40, MYF(MY_WME | MY_ZEROFILL), -- &tmp_str_list, sizeof(char*) * link_count, -- &tmp_length_list, sizeof(uint) * link_count, -+ &tmp_str_list, (uint) (sizeof(char*) * link_count), -+ &tmp_length_list, (uint) (sizeof(uint) * link_count), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1546,8 +1546,8 @@ int spider_increase_null_string_list( - - if (!(tmp_str_list = (char**) - spider_bulk_malloc(spider_current_trx, 247, MYF(MY_WME | MY_ZEROFILL), -- &tmp_str_list, sizeof(char*) * link_count, -- &tmp_length_list, sizeof(uint) * link_count, -+ &tmp_str_list, (uint) (sizeof(char*) * link_count), -+ &tmp_length_list, (uint) (sizeof(uint) * link_count), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1604,7 +1604,7 @@ int spider_increase_long_list( - - if (!(tmp_long_list = (long*) - spider_bulk_malloc(spider_current_trx, 41, MYF(MY_WME | MY_ZEROFILL), -- &tmp_long_list, sizeof(long) * link_count, -+ &tmp_long_list, (uint) (sizeof(long) * link_count), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -1649,7 +1649,7 @@ int spider_increase_longlong_list( - - if (!(tmp_longlong_list = (longlong*) - spider_bulk_malloc(spider_current_trx, 42, MYF(MY_WME | MY_ZEROFILL), -- &tmp_longlong_list, sizeof(longlong) * link_count, -+ &tmp_longlong_list, (uint) (sizeof(longlong) * link_count), - NullS)) - ) { - my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM); -@@ -2972,17 +2972,17 @@ int spider_parse_connect_info( - if (!(share_alter->tmp_server_names = (char **) - spider_bulk_malloc(spider_current_trx, 43, MYF(MY_WME | MY_ZEROFILL), - &share_alter->tmp_server_names, -- sizeof(char *) * 16 * share->all_link_count, -+ (uint) (sizeof(char *) * 16 * share->all_link_count), - &share_alter->tmp_server_names_lengths, -- sizeof(uint *) * 16 * share->all_link_count, -+ (uint) (sizeof(uint *) * 16 * share->all_link_count), - &share_alter->tmp_tgt_ports, -- sizeof(long) * share->all_link_count, -+ (uint) (sizeof(long) * share->all_link_count), - &share_alter->tmp_tgt_ssl_vscs, -- sizeof(long) * share->all_link_count, -+ (uint) (sizeof(long) * share->all_link_count), - &share_alter->tmp_monitoring_binlog_pos_at_failing, -- sizeof(long) * share->all_link_count, -+ (uint) (sizeof(long) * share->all_link_count), - &share_alter->tmp_link_statuses, -- sizeof(long) * share->all_link_count, -+ (uint) (sizeof(long) * share->all_link_count), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -@@ -4383,13 +4383,17 @@ SPIDER_SHARE *spider_create_share( - bitmap_size = spider_bitmap_size(table_share->fields); - if (!(share = (SPIDER_SHARE *) - spider_bulk_malloc(spider_current_trx, 46, MYF(MY_WME | MY_ZEROFILL), -- &share, sizeof(*share), -- &tmp_name, length + 1, -- &tmp_static_key_cardinality, sizeof(*tmp_static_key_cardinality) * table_share->keys, -- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields, -- &tmp_cardinality_upd, sizeof(*tmp_cardinality_upd) * bitmap_size, -- &tmp_table_mon_mutex_bitmap, sizeof(*tmp_table_mon_mutex_bitmap) * -- ((spider_param_udf_table_mon_mutex_count() + 7) / 8), -+ &share, (uint) (sizeof(*share)), -+ &tmp_name, (uint) (length + 1), -+ &tmp_static_key_cardinality, -+ (uint) (sizeof(*tmp_static_key_cardinality) * table_share->keys), -+ &tmp_cardinality, -+ (uint) (sizeof(*tmp_cardinality) * table_share->fields), -+ &tmp_cardinality_upd, -+ (uint) (sizeof(*tmp_cardinality_upd) * bitmap_size), -+ &tmp_table_mon_mutex_bitmap, -+ (uint) (sizeof(*tmp_table_mon_mutex_bitmap) * -+ ((spider_param_udf_table_mon_mutex_count() + 7) / 8)), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -5907,8 +5911,8 @@ SPIDER_LGTM_TBLHND_SHARE *spider_get_lgtm_tblhnd_share( - DBUG_PRINT("info",("spider create new lgtm tblhnd share")); - if (!(lgtm_tblhnd_share = (SPIDER_LGTM_TBLHND_SHARE *) - spider_bulk_malloc(spider_current_trx, 244, MYF(MY_WME | MY_ZEROFILL), -- &lgtm_tblhnd_share, sizeof(*lgtm_tblhnd_share), -- &tmp_name, table_name_length + 1, -+ &lgtm_tblhnd_share, (uint) (sizeof(*lgtm_tblhnd_share)), -+ &tmp_name, (uint) (table_name_length + 1), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -6017,9 +6021,10 @@ SPIDER_PARTITION_SHARE *spider_get_pt_share( - DBUG_PRINT("info",("spider create new pt share")); - if (!(partition_share = (SPIDER_PARTITION_SHARE *) - spider_bulk_malloc(spider_current_trx, 51, MYF(MY_WME | MY_ZEROFILL), -- &partition_share, sizeof(*partition_share), -- &tmp_name, table_share->path.length + 1, -- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields, -+ &partition_share, (uint) (sizeof(*partition_share)), -+ &tmp_name, (uint) (table_share->path.length + 1), -+ &tmp_cardinality, -+ (uint) (sizeof(*tmp_cardinality) * table_share->fields), - NullS)) - ) { - *error_num = HA_ERR_OUT_OF_MEM; -@@ -6395,15 +6400,18 @@ int spider_open_all_tables( - - if (!(share = (SPIDER_SHARE *) - spider_bulk_malloc(spider_current_trx, 52, MYF(MY_WME | MY_ZEROFILL), -- &share, sizeof(*share), -- &connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT, -- &connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT, -- &long_info, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT, -- &longlong_info, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT, -- &conns, sizeof(SPIDER_CONN *), -- &need_mon, sizeof(int), -- &spider->conn_link_idx, sizeof(uint), -- &spider->conn_can_fo, sizeof(uchar), -+ &share, (uint) (sizeof(*share)), -+ &connect_info, -+ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT), -+ &connect_info_length, -+ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT), -+ &long_info, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT), -+ &longlong_info, -+ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT), -+ &conns, (uint) (sizeof(SPIDER_CONN *)), -+ &need_mon, (uint) (sizeof(int)), -+ &spider->conn_link_idx, (uint) (sizeof(uint)), -+ &spider->conn_can_fo, (uint) (sizeof(uchar)), - NullS)) - ) { - delete spider; -@@ -7204,12 +7212,12 @@ int spider_db_init( - - if (!(spider_udf_table_mon_mutexes = (pthread_mutex_t *) - spider_bulk_malloc(NULL, 53, MYF(MY_WME | MY_ZEROFILL), -- &spider_udf_table_mon_mutexes, sizeof(pthread_mutex_t) * -- spider_param_udf_table_mon_mutex_count(), -- &spider_udf_table_mon_conds, sizeof(pthread_cond_t) * -- spider_param_udf_table_mon_mutex_count(), -- &spider_udf_table_mon_list_hash, sizeof(HASH) * -- spider_param_udf_table_mon_mutex_count(), -+ &spider_udf_table_mon_mutexes, (uint) (sizeof(pthread_mutex_t) * -+ spider_param_udf_table_mon_mutex_count()), -+ &spider_udf_table_mon_conds, (uint) (sizeof(pthread_cond_t) * -+ spider_param_udf_table_mon_mutex_count()), -+ &spider_udf_table_mon_list_hash, (uint) (sizeof(HASH) * -+ spider_param_udf_table_mon_mutex_count()), - NullS)) - ) - goto error_alloc_mon_mutxes; -@@ -7258,10 +7266,10 @@ int spider_db_init( - #ifndef WITHOUT_SPIDER_BG_SEARCH - if (!(spider_table_sts_threads = (SPIDER_THREAD *) - spider_bulk_malloc(NULL, 256, MYF(MY_WME | MY_ZEROFILL), -- &spider_table_sts_threads, sizeof(SPIDER_THREAD) * -- spider_param_table_sts_thread_count(), -- &spider_table_crd_threads, sizeof(SPIDER_THREAD) * -- spider_param_table_crd_thread_count(), -+ &spider_table_sts_threads, (uint) (sizeof(SPIDER_THREAD) * -+ spider_param_table_sts_thread_count()), -+ &spider_table_crd_threads, (uint) (sizeof(SPIDER_THREAD) * -+ spider_param_table_crd_thread_count()), - NullS)) - ) - goto error_alloc_mon_mutxes; -@@ -7968,8 +7976,8 @@ SPIDER_INIT_ERROR_TABLE *spider_get_init_error_table( - } - if (!(spider_init_error_table = (SPIDER_INIT_ERROR_TABLE *) - spider_bulk_malloc(spider_current_trx, 54, MYF(MY_WME | MY_ZEROFILL), -- &spider_init_error_table, sizeof(*spider_init_error_table), -- &tmp_name, share->table_name_length + 1, -+ &spider_init_error_table, (uint) (sizeof(*spider_init_error_table)), -+ &tmp_name, (uint) (share->table_name_length + 1), - NullS)) - ) { - pthread_mutex_unlock(&spider_init_error_tbl_mutex); -@@ -9551,25 +9559,25 @@ int spider_create_spider_object_for_share( - #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET) - if (!(need_mons = (int *) - spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL), -- &need_mons, (sizeof(int) * share->link_count), -- &conns, (sizeof(SPIDER_CONN *) * share->link_count), -- &conn_link_idx, (sizeof(uint) * share->link_count), -- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size), -- &conn_keys, (sizeof(char *) * share->link_count), -- &hs_r_conn_keys, (sizeof(char *) * share->link_count), -- &hs_w_conn_keys, (sizeof(char *) * share->link_count), -- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), -+ &need_mons, (uint) (sizeof(int) * share->link_count), -+ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count), -+ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), -+ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), -+ &conn_keys, (uint) (sizeof(char *) * share->link_count), -+ &hs_r_conn_keys, (uint) (sizeof(char *) * share->link_count), -+ &hs_w_conn_keys, (uint) (sizeof(char *) * share->link_count), -+ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), - NullS)) - ) - #else - if (!(need_mons = (int *) - spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL), -- &need_mons, (sizeof(int) * share->link_count), -- &conns, (sizeof(SPIDER_CONN *) * share->link_count), -- &conn_link_idx, (sizeof(uint) * share->link_count), -- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size), -- &conn_keys, (sizeof(char *) * share->link_count), -- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), -+ &need_mons, (uint) (sizeof(int) * share->link_count), -+ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count), -+ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), -+ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), -+ &conn_keys, (uint) (sizeof(char *) * share->link_count), -+ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE), - NullS)) - ) - #endif -diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc -index bb9f11793cb..1638533eca1 100644 ---- a/storage/spider/spd_trx.cc -+++ b/storage/spider/spd_trx.cc -@@ -548,81 +548,90 @@ int spider_create_trx_alter_table( - - if (!(alter_table = (SPIDER_ALTER_TABLE *) - spider_bulk_malloc(spider_current_trx, 55, MYF(MY_WME | MY_ZEROFILL), -- &alter_table, sizeof(*alter_table), -- &tmp_name, sizeof(char) * (share->table_name_length + 1), -- -- &tmp_server_names, sizeof(char *) * share->all_link_count, -- &tmp_tgt_table_names, sizeof(char *) * share->all_link_count, -- &tmp_tgt_dbs, sizeof(char *) * share->all_link_count, -- &tmp_tgt_hosts, sizeof(char *) * share->all_link_count, -- &tmp_tgt_usernames, sizeof(char *) * share->all_link_count, -- &tmp_tgt_passwords, sizeof(char *) * share->all_link_count, -- &tmp_tgt_sockets, sizeof(char *) * share->all_link_count, -- &tmp_tgt_wrappers, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_cas, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_capaths, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_certs, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_ciphers, sizeof(char *) * share->all_link_count, -- &tmp_tgt_ssl_keys, sizeof(char *) * share->all_link_count, -- &tmp_tgt_default_files, sizeof(char *) * share->all_link_count, -- &tmp_tgt_default_groups, sizeof(char *) * share->all_link_count, -- &tmp_static_link_ids, sizeof(char *) * share->all_link_count, -- -- &tmp_server_names_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_table_names_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_dbs_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_hosts_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_usernames_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_passwords_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_sockets_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_wrappers_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_cas_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_capaths_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_certs_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_ciphers_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_ssl_keys_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_default_files_lengths, sizeof(uint) * share->all_link_count, -- &tmp_tgt_default_groups_lengths, sizeof(uint) * share->all_link_count, -- &tmp_static_link_ids_lengths, sizeof(uint) * share->all_link_count, -- -- &tmp_tgt_ports, sizeof(long) * share->all_link_count, -- &tmp_tgt_ssl_vscs, sizeof(long) * share->all_link_count, -+ &alter_table, (uint) (sizeof(*alter_table)), -+ &tmp_name, (uint) (sizeof(char) * (share->table_name_length + 1)), -+ -+ &tmp_server_names, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_table_names, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_dbs, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_hosts, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_usernames, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_passwords, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_sockets, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_wrappers, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_cas, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_capaths, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_certs, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_ciphers, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_ssl_keys, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_default_files, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_tgt_default_groups, (uint) (sizeof(char *) * share->all_link_count), -+ &tmp_static_link_ids, (uint) (sizeof(char *) * share->all_link_count), -+ -+ &tmp_server_names_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_table_names_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_dbs_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_hosts_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_usernames_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_passwords_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_sockets_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_wrappers_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_cas_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_capaths_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_certs_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_ciphers_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_ssl_keys_lengths, (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_default_files_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_tgt_default_groups_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ &tmp_static_link_ids_lengths, -+ (uint) (sizeof(uint) * share->all_link_count), -+ -+ &tmp_tgt_ports, (uint) (sizeof(long) * share->all_link_count), -+ &tmp_tgt_ssl_vscs, (uint) (sizeof(long) * share->all_link_count), - &tmp_monitoring_binlog_pos_at_failing, -- sizeof(long) * share->all_link_count, -- &tmp_link_statuses, sizeof(long) * share->all_link_count, -- -- &tmp_server_names_char, sizeof(char) * -- (share_alter->tmp_server_names_charlen + 1), -- &tmp_tgt_table_names_char, sizeof(char) * -- (share_alter->tmp_tgt_table_names_charlen + 1), -- &tmp_tgt_dbs_char, sizeof(char) * -- (share_alter->tmp_tgt_dbs_charlen + 1), -- &tmp_tgt_hosts_char, sizeof(char) * -- (share_alter->tmp_tgt_hosts_charlen + 1), -- &tmp_tgt_usernames_char, sizeof(char) * -- (share_alter->tmp_tgt_usernames_charlen + 1), -- &tmp_tgt_passwords_char, sizeof(char) * -- (share_alter->tmp_tgt_passwords_charlen + 1), -- &tmp_tgt_sockets_char, sizeof(char) * -- (share_alter->tmp_tgt_sockets_charlen + 1), -- &tmp_tgt_wrappers_char, sizeof(char) * -- (share_alter->tmp_tgt_wrappers_charlen + 1), -- &tmp_tgt_ssl_cas_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_cas_charlen + 1), -- &tmp_tgt_ssl_capaths_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_capaths_charlen + 1), -- &tmp_tgt_ssl_certs_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_certs_charlen + 1), -- &tmp_tgt_ssl_ciphers_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_ciphers_charlen + 1), -- &tmp_tgt_ssl_keys_char, sizeof(char) * -- (share_alter->tmp_tgt_ssl_keys_charlen + 1), -- &tmp_tgt_default_files_char, sizeof(char) * -- (share_alter->tmp_tgt_default_files_charlen + 1), -- &tmp_tgt_default_groups_char, sizeof(char) * -- (share_alter->tmp_tgt_default_groups_charlen + 1), -- &tmp_static_link_ids_char, sizeof(char) * -- (share_alter->tmp_static_link_ids_charlen + 1), -+ (uint) (sizeof(long) * share->all_link_count), -+ &tmp_link_statuses, (uint) (sizeof(long) * share->all_link_count), -+ -+ &tmp_server_names_char, (uint) (sizeof(char) * -+ (share_alter->tmp_server_names_charlen + 1)), -+ &tmp_tgt_table_names_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_table_names_charlen + 1)), -+ &tmp_tgt_dbs_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_dbs_charlen + 1)), -+ &tmp_tgt_hosts_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_hosts_charlen + 1)), -+ &tmp_tgt_usernames_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_usernames_charlen + 1)), -+ &tmp_tgt_passwords_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_passwords_charlen + 1)), -+ &tmp_tgt_sockets_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_sockets_charlen + 1)), -+ &tmp_tgt_wrappers_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_wrappers_charlen + 1)), -+ &tmp_tgt_ssl_cas_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_cas_charlen + 1)), -+ &tmp_tgt_ssl_capaths_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_capaths_charlen + 1)), -+ &tmp_tgt_ssl_certs_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_certs_charlen + 1)), -+ &tmp_tgt_ssl_ciphers_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_ciphers_charlen + 1)), -+ &tmp_tgt_ssl_keys_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_ssl_keys_charlen + 1)), -+ &tmp_tgt_default_files_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_default_files_charlen + 1)), -+ &tmp_tgt_default_groups_char, (uint) (sizeof(char) * -+ (share_alter->tmp_tgt_default_groups_charlen + 1)), -+ &tmp_static_link_ids_char, (uint) (sizeof(char) * -+ (share_alter->tmp_static_link_ids_charlen + 1)), - NullS)) - ) { - error_num = HA_ERR_OUT_OF_MEM; -@@ -1200,10 +1209,10 @@ SPIDER_TRX *spider_get_trx( - DBUG_PRINT("info",("spider create new trx")); - if (!(trx = (SPIDER_TRX *) - spider_bulk_malloc(NULL, 56, MYF(MY_WME | MY_ZEROFILL), -- &trx, sizeof(*trx), -- &tmp_share, sizeof(SPIDER_SHARE), -- &udf_table_mutexes, sizeof(pthread_mutex_t) * -- spider_param_udf_table_lock_mutex_count(), -+ &trx, (uint) (sizeof(*trx)), -+ &tmp_share, (uint) (sizeof(SPIDER_SHARE)), -+ &udf_table_mutexes, (uint) (sizeof(pthread_mutex_t) * -+ spider_param_udf_table_lock_mutex_count()), - NullS)) - ) - goto error_alloc_trx; -@@ -4191,10 +4200,10 @@ int spider_create_trx_ha( - { - if (!(trx_ha = (SPIDER_TRX_HA *) - spider_bulk_malloc(spider_current_trx, 58, MYF(MY_WME), -- &trx_ha, sizeof(SPIDER_TRX_HA), -- &tmp_name, sizeof(char *) * (share->table_name_length + 1), -- &conn_link_idx, sizeof(uint) * share->link_count, -- &conn_can_fo, sizeof(uchar) * share->link_bitmap_size, -+ &trx_ha, (uint) (sizeof(SPIDER_TRX_HA)), -+ &tmp_name, (uint) (sizeof(char *) * (share->table_name_length + 1)), -+ &conn_link_idx, (uint) (sizeof(uint) * share->link_count), -+ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size), - NullS)) - ) { - DBUG_RETURN(HA_ERR_OUT_OF_MEM); --- -2.23.0 - diff --git a/mariadb-ssl-cipher-tests.patch b/mariadb-ssl-cipher-tests.patch deleted file mode 100644 index 567e433..0000000 --- a/mariadb-ssl-cipher-tests.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest mariadb-10.3.9/mysql-test/main/ssl_cipher.test ---- mariadb-10.3.13/mysql-test/main/ssl_cipher.test 2019-02-20 08:59:09.000000000 +0100 -+++ mariadb-10.3.13/mysql-test/main/ssl_cipher.test_patched 2019-02-22 11:22:01.250256060 +0100 -@@ -97,7 +97,9 @@ drop user mysqltest_1@localhost; - let $restart_parameters=--ssl-cipher=AES128-SHA; - source include/restart_mysqld.inc; - connect (ssl_con,localhost,root,,,,,SSL); -+--replace_regex /TLS_AES_.*/AES128-SHA/ - SHOW STATUS LIKE 'Ssl_cipher'; -+--replace_regex /TLS_AES_.*/AES128-SHA/ - SHOW STATUS LIKE 'Ssl_cipher_list'; - disconnect ssl_con; - connection default; diff --git a/mariadb.rpmlintrc b/mariadb.rpmlintrc index ff69b0e..b0c9601 100644 --- a/mariadb.rpmlintrc +++ b/mariadb.rpmlintrc @@ -6,14 +6,13 @@ # Spelling errors -addFilter(r'spelling-error .* en_US (cnf|mysqld|benchmarking|pam|passwordless|subpackage|libmariadb|mariadbd) ') +addFilter(r'spelling-error .* en_US (cnf|mysqld|benchmarking|pam|passwordless|subpackage|libmariadb) ') # Debugsource addFilter(r'^mariadb.*debugsource\.[^:]+: (E|W): no-documentation') + # Debuginfo addFilter(r'^mariadb.*debuginfo\.[^:]+: (E|W): useless-provides debuginfo\(build-id\)') -# Debug symlinks -addFilter(r'dangling-relative-symlink /usr/lib/.build-id') # Testsuite # Some expected tests results are zero-length files @@ -33,9 +32,6 @@ addFilter(r'no-manual-page-for-binary') addFilter(r'obsolete-not-provided MySQL') # Provided by mariadb-connector-c addFilter(r'obsolete-not-provided mariadb-libs') -# Upstream dropped support -addFilter(r'obsolete-not-provided mariadb-bench') -addFilter(r'obsolete-not-provided mariadb-tokudb-engine') # Config file without noreplace flag # Don't replace logs that may contain old entries @@ -54,26 +50,7 @@ addFilter(r'incoherent-logrotate-file /etc/logrotate.d/mariadb') addFilter(r'non-executable-in-bin /usr/bin/wsrep_sst_common 644') addFilter(r'script-without-shebang /usr/bin/wsrep_sst_common') addFilter(r'non-executable-script /usr/bin/wsrep_sst_common 644 None') -# mariadb-scripts-common has a similar issue -addFilter(r'non-executable-script /usr/libexec/mariadb-scripts-common 644 /bin/sh') +# mysql-scripts-common has a simmilar issue +addFilter(r'non-executable-script /usr/libexec/mysql-scripts-common 644 /bin/sh') # Seems pretty standard to me ... addFilter(r'non-standard-dir-perm /var/log/mariadb 750') -# 640 is IMO also prety OK -addFilter(r'non-readable /etc/sysconfig/clustercheck 640') - -# Unversioned bundles -# RocksDB has so rapid developement, it it not compatible through versions. -# That means we need to stick to the exact verison upstream use. -addFilter(r'unversioned-explicit-provides bundled\(rocksdb\)') - -# Testsuite errors -addFilter(r'non-executable-script /usr/share/mysql-test') -addFilter(r'arch-dependent-file-in-usr-share /usr/share/mysql-test') - -# Comments at the end of RPM %endif tags -addFilter(r'extra tokens at the end of %endif directive') - -# PAM plugin specialities - all expected -addFilter(r'non-conffile-in-etc /etc/security/user_map.conf') -addFilter(r'setuid-binary /usr/lib64/mariadb/plugin/auth_pam_tool_dir/auth_pam_tool') -addFilter(r'non-standard-executable-perm /usr/lib64/mariadb/plugin/auth_pam_tool_dir/auth_pam_tool') diff --git a/mariadb.spec b/mariadb.spec index ba91c9a..f6ccf19 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -1,7 +1,3 @@ -# This is a fix for the https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds -# So the beaviour will be the same also in F31 nad F32 -%undefine __cmake_in_source_build - # Prefix that is used for patches %global pkg_name %{name} %global pkgnamepatch mariadb @@ -10,17 +6,7 @@ %{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail, but 0 on production ready build -%global ignore_testsuite_result 0 - -# The last version on which the full testsuite has been run -# In case of further rebuilds of that version, don't require full testsuite to be run -# run only "main" suite -%global last_tested_version 10.5.8 -# Set to 1 to force run the testsuite even if it was already tested in current version -%global force_run_testsuite 0 - -# Aditional SELinux rules -%global require_mysql_selinux 1 +%{!?ignore_testsuite_result:%global ignore_testsuite_result 0} # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -32,29 +18,31 @@ -# TokuDB engine - DEPRECATED ! +# TokuDB engine # https://mariadb.com/kb/en/mariadb/tokudb/ # TokuDB engine is available only for x86_64 -# The Percona upstream deprecated the SE. It is not part of MariaDB 10.5 # Mroonga engine # https://mariadb.com/kb/en/mariadb/about-mroonga/ # Current version in MariaDB, 7.07, only supports the x86_64 # Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html # RocksDB engine -# https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/ -# RocksDB engine is available only for x86_64 +# https://mariadb.com/kb/en/library/myrocks-supported-platforms/ +# RocksB engine is available only for x86_64 # RocksDB may be built with jemalloc, if specified in CMake -%ifarch x86_64 -%if 0%{?fedora} -# TokuDB is deprecated in MariaDB 10.5 and later -%bcond_with tokudb +# Cassandra engine +# Experimental version of the Cassandra storage engine +# The tests needs running cassandra server +# Do not build it for now +%if "%_arch" == "x86_64" && 0%{?fedora} +%bcond_without tokudb %bcond_without mroonga %bcond_without rocksdb +%bcond_with cassandra %else %bcond_with tokudb %bcond_with mroonga %bcond_with rocksdb -%endif +%bcond_with cassandra %endif # The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing @@ -71,7 +59,6 @@ %bcond_with connect %bcond_with sphinx %endif - %bcond_without gssapi # For some use cases we do not need some parts of the package. Set to "...with" to exclude @@ -88,11 +75,16 @@ %bcond_without test %bcond_without galera %bcond_without backup +%if 0%{?fedora} +%bcond_without bench +%else +%bcond_with bench +%endif # When there is already another package that ships /etc/my.cnf, # rather include it than ship the file again, since conflicts between # those files may create issues -%if 0%{?fedora} || 0%{?rhel} > 7 +%if 0%{?fedora} >= 29 || 0%{?rhel} > 7 %bcond_with config %else %bcond_without config @@ -102,29 +94,24 @@ %bcond_with debug # Page compression algorithms for InnoDB & XtraDB +# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in the buildroot +# https://jira.mariadb.org/browse/MDEV-15932 %bcond_without lz4 -# MariaDB 10.0 and later requires pcre >= 10.34, otherwise we need to use +# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use # the bundled library, since the package cannot be build with older version -# https://mariadb.com/kb/en/pcre/ -%if 0%{?fedora} || 0%{?rhel} > 8 +%if 0%{?fedora} || 0%{?rhel} > 7 %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 10.34 -%endif - -# Use main python interpretter version -%if 0%{?fedora} || 0%{?rhel} > 7 -%global python_path /usr/bin/python3 -%else -%global python_path /usr/bin/python2 +%global pcre_bundled_version 8.45 %endif # Include systemd files %global daemon_name %{name} +%global daemondir %{_unitdir} %global daemon_no_prefix %{pkg_name} %global mysqld_pid_dir mariadb @@ -140,6 +127,8 @@ # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql + + # Provide mysql names for compatibility %if 0%{?fedora} %bcond_without mysql_names @@ -147,25 +136,27 @@ %bcond_with mysql_names %endif + + # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.8 +Version: 10.3.35 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server URL: http://mariadb.org -# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license +# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in -Source5: README.mysql-cnf Source6: README.mysql-docs Source7: README.mysql-license +Source8: README.wsrep_sst_rsync_tunnel Source10: mysql.tmpfiles.d.in Source11: mysql.service.in Source12: mysql-prepare-db-dir.sh @@ -184,6 +175,9 @@ Source71: LICENSE.clustercheck # Upstream said: "Generally MariaDB has more allows to allow for xtradb sst mechanism". # https://jira.mariadb.org/browse/MDEV-12646 Source72: mariadb-server-galera.te +# Script to support encrypted rsync transfers when SST is required between nodes. +# https://github.com/dciabrin/wsrep_sst_rsync_tunnel/blob/master/wsrep_sst_rsync_tunnel +Source73: wsrep_sst_rsync_tunnel # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 @@ -192,16 +186,11 @@ Patch4: %{pkgnamepatch}-logrotate.patch Patch7: %{pkgnamepatch}-scripts.patch # Patch9: pre-configure to comply with guidelines Patch9: %{pkgnamepatch}-ownsetup.patch -# Patch10: Fix cipher name in the SSL Cipher name test -Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch -# Patch11: Use PCDIR CMake option, if configured -Patch11: %{pkgnamepatch}-pcdir.patch -# Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737 -Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch -# Patch15: Add option to edit groonga's and groonga-normalizer-mysql install path -Patch15: %{pkgnamepatch}-groonga.patch -# Patch16: Workaround for "chown 0" with priviledges dropped to "mysql" user -Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch +# Patch10: Add RHEL8 required security +Patch10: %{pkgnamepatch}-annocheck.patch +# Patch12: Downstream fix for a correct pkgconfig file location +Patch12: %{pkgnamepatch}-pcdir.patch + BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -223,13 +212,11 @@ BuildRequires: systemtap-sdt-devel # Bison SQL parser; needed also for wsrep API BuildRequires: bison bison-devel -%{?with_debug:BuildRequires: valgrind-devel} - # auth_pam.so plugin will be build if pam-devel is installed BuildRequires: pam-devel -# use either new enough version of pcre2 or provide bundles(pcre2) -%{?with_unbundled_pcre:BuildRequires: pcre2-devel >= 10.34 pkgconf} -%{!?with_unbundled_pcre:Provides: bundled(pcre2) = %{pcre_bundled_version}} +# use either new enough version of pcre or provide bundles(pcre) +%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf} +%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}} # Few utilities needs Perl %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -240,46 +227,22 @@ BuildRequires: python3 # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time -BuildRequires: perl(base) -BuildRequires: perl(Cwd) -BuildRequires: perl(Data::Dumper) -BuildRequires: perl(English) BuildRequires: perl(Env) -BuildRequires: perl(Errno) BuildRequires: perl(Exporter) BuildRequires: perl(Fcntl) -BuildRequires: perl(File::Basename) -BuildRequires: perl(File::Copy) -BuildRequires: perl(File::Find) -BuildRequires: perl(File::Spec) -BuildRequires: perl(File::Spec::Functions) BuildRequires: perl(File::Temp) +BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) -BuildRequires: perl(IO::File) -BuildRequires: perl(IO::Handle) -BuildRequires: perl(IO::Select) -BuildRequires: perl(IO::Socket) -BuildRequires: perl(IO::Socket::INET) BuildRequires: perl(IPC::Open3) -BuildRequires: perl(lib) BuildRequires: perl(Memoize) -BuildRequires: perl(POSIX) BuildRequires: perl(Socket) -BuildRequires: perl(strict) -BuildRequires: perl(Symbol) BuildRequires: perl(Sys::Hostname) -BuildRequires: perl(Term::ANSIColor) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) -BuildRequires: perl(Time::localtime) -BuildRequires: perl(warnings) +BuildRequires: perl(Symbol) # for running some openssl tests rhbz#1189180 BuildRequires: openssl openssl-devel -%if %{with debug} -BuildRequires: valgrind-devel -%endif - Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} @@ -289,7 +252,7 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-libs%{?_isa} = %{sameevr} %else # If not built with client library in this package, use connector-c -Requires: mariadb-connector-c >= 3.0 +Requires: mariadb-connector-c >= 3.1.11 %endif %if %{with mysql_names} @@ -301,10 +264,13 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Suggests: %{name}-server%{?_isa} = %{sameevr} -Conflicts: community-mysql +Conflicts: mysql -# Filtering: https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/ -%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::|wsrep) +# obsoletion of mariadb-galera +Provides: mariadb-galera = %{sameevr} + +# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) %global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$ # Define license macro if not present @@ -325,19 +291,19 @@ Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} -%endif +%endif # mysql_names %description libs The mariadb-libs package provides the essential shared libraries for any MariaDB/MySQL client program or interface. You will need to install this package to use any other MariaDB package or any clients that need to connect to a MariaDB/MySQL server. -%endif +%endif #clibrary # At least main config file /etc/my.cnf is shared for client and server part # Since we want to support combination of different client and server -# implementations (e.g. mariadb library and community-mysql server), +# implementations (e.g. mariadb library and mysql server), # we need the config file(s) to be in a separate package, so no extra packages # are pulled, because these would likely conflict. # More specifically, the dependency on the main configuration file (/etc/my.cnf) @@ -361,6 +327,8 @@ package itself. Summary: The shared files required by server and client Requires: %{_sysconfdir}/my.cnf +# obsoletion of mariadb-galera-common +Provides: mariadb-galera-common = %{sameevr} %if %{without clibrary} Obsoletes: %{name}-libs <= %{sameevr} @@ -389,14 +357,21 @@ MariaDB packages. Summary: The configuration files and scripts for galera replication Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} -Requires: galera >= 26.4.3 +Requires: galera >= 25.3.3 Requires(post): libselinux-utils +%if 0%{?rhel} > 7 Requires(post): policycoreutils-python-utils +%else +Requires(post): policycoreutils-python +%endif # wsrep requirements Requires: lsof # Default wsrep_sst_method Requires: rsync +# obsoletion of mariadb-galera-server +Provides: mariadb-galera-server = %{sameevr} + %description server-galera MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) @@ -421,13 +396,10 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} -%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} -%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} -%{?with_rocksdb:Suggests: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} -%{?with_tokudb:Suggests: %{name}-tokudb-engine%{?_isa} = %{sameevr}} -%{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}} -%{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}} -%{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}} +%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} +%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} +%{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} +%{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} Suggests: mytop Suggests: logrotate @@ -435,12 +407,6 @@ Suggests: logrotate Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d -# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package -# For cases, where we want to fix a SELinux issues in MariaDB sooner than patched selinux-policy-targeted package is released -%if %require_mysql_selinux -Requires: (mysql-selinux if selinux-policy-targeted) -%endif - # for fuser in mysql-check-socket Requires: psmisc @@ -458,10 +424,7 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif -Conflicts: community-mysql-server - -# Bench subpackage has been deprecated in F32 -Obsoletes: %{name}-bench <= %{sameevr} +Conflicts: mysql-server %description server MariaDB is a multi-user, multi-threaded SQL database server. It is a @@ -579,6 +542,16 @@ Requires: sphinx libsphinxclient The Sphinx storage engine for MariaDB. %endif +%if %{with cassandra} +%package cassandra-engine +Summary: The Cassandra storage engine for MariaDB - EXPERIMENTAL VERSION +Requires: %{name}-server%{?_isa} = %{sameevr} +BuildRequires: cassandra thrift-devel + +%description cassandra-engine +The Cassandra storage engine for MariaDB. EXPERIMENTAL VERSION! +%endif + %package server-utils Summary: Non-essential server utilities for MariaDB/MySQL applications @@ -586,7 +559,7 @@ Requires: %{name}-server%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-perl = %{sameevr} %endif -Conflicts: community-mysql-server +Conflicts: mysql-server # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) perl(DBD::mysql) @@ -602,13 +575,13 @@ Summary: Files for development of MariaDB/MySQL applications %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: openssl-devel %if %{without clibrary} -Requires: mariadb-connector-c-devel >= 3.0 +Requires: mariadb-connector-c-devel >= 3.1.11 %endif %if %{with mysql_names} Provides: mysql-devel = %{sameevr} Provides: mysql-devel%{?_isa} = %{sameevr} %endif -Conflicts: community-mysql-devel +Conflicts: mysql-devel %description devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -651,7 +624,7 @@ Requires: libaio-devel Provides: mysql-embedded-devel = %{sameevr} Provides: mysql-embedded-devel%{?_isa} = %{sameevr} %endif -Conflicts: community-mysql-embedded-devel +Conflicts: mysql-embedded-devel %description embedded-devel MariaDB is a multi-user, multi-threaded SQL database server. @@ -661,6 +634,24 @@ the embedded version of the MariaDB server. %endif +%if %{with bench} +%package bench +Summary: MariaDB benchmark scripts and data +Requires: %{name}%{?_isa} = %{sameevr} +%if %{with mysql_names} +Provides: mysql-bench = %{sameevr} +Provides: mysql-bench%{?_isa} = %{sameevr} +%endif +Conflicts: mysql-bench + +%description bench +MariaDB is a multi-user, multi-threaded SQL database server. +MariaDB is a community developed branch of MySQL. +This package contains benchmark scripts and data for use when benchmarking +MariaDB. +%endif + + %if %{with test} %package test Summary: The test suite distributed with MariaDB @@ -678,7 +669,8 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -Conflicts: community-mysql-test + +Conflicts: mysql-test %if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} @@ -697,24 +689,12 @@ sources. # Remove JAR files that upstream puts into tarball find . -name "*.jar" -type f -exec rm --verbose -f {} \; -# Remove testsuite for the mariadb-connector-c -rm -rf libmariadb/unittest -# Remove python scripts remains from tokudb upstream (those files are not used anyway) -rm -r storage/tokudb/mysql-test/tokudb/t/*.py -%if %{without rocksdb} -rm -r storage/rocksdb/ -%endif - - %patch4 -p1 %patch7 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 -#%patch13 -p1 -%patch15 -p1 -%patch16 -p1 +%patch12 -p1 # workaround for upstream bug #56342 #rm mysql-test/t/ssl_8k_key-master.opt @@ -736,7 +716,7 @@ cat %{SOURCE53} | tee -a mysql-test/unstable-tests %endif cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE70} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE70} %{SOURCE73} scripts %if %{with galera} # prepare selinux policy @@ -746,30 +726,37 @@ sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{nam # Get version of PCRE, that upstream use -pcre_version=`grep -e "ftp.pcre.org/pub/pcre/pcre2" cmake/pcre.cmake | sed -r "s;[^0123456789]*2-([[:digit:]]+\.[[:digit:]]+)\.[^0123456789]*;\1;"` +pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'` +pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'` -# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles %if %{without unbundled_pcre} -if [ %{pcre_bundled_version} != "$pcre_version" ] ; then - echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_version\n" +# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles +if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ] +then + echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n" exit 1 fi %else # Check if the PCRE version that upstream use, is the same as the one present in system -pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre2-*.pc --modversion 2>/dev/null | head -n 1` - -if [ "$pcre_system_version" != "$pcre_version" ] ; then - echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_version\n" +pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null ` +if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ] +then + echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n" fi +%endif # PCRE + + +%if %{without rocksdb} +rm -r storage/rocksdb/ %endif +# Remove python scripts remains from tokudb upstream (those files are not used anyway) +rm -r storage/tokudb/mysql-test/tokudb/t/*.py + %build -# This package has static probe points which do not currently -# work with LTO and result in undefined symbols at link time. -# This is being worked on in upstream GCC -%define _lto_cflags %{nil} +%{set_build_flags} # fail quickly and obviously if user tries to build as root %if %runselftest @@ -781,6 +768,14 @@ fi fi %endif +CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +# Override all optimization flags when making a debug build +%{?with_debug: CFLAGS="$CFLAGS -O0 -g"} + +CXXFLAGS="$CFLAGS" +CPPFLAGS="$CFLAGS" +export CFLAGS CXXFLAGS CPPFLAGS + # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. %cmake . \ @@ -807,6 +802,7 @@ fi -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ + -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DINSTALL_PCDIR=%{_lib}/pkgconfig \ -DMYSQL_DATADIR="%{dbdatadir}" \ @@ -838,48 +834,18 @@ fi -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \ -DPLUGIN_CLIENT_ED25519=OFF \ - -DPYTHON_SHEBANG=%{python_path} \ + -DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DCONNECT_WITH_MONGO=OFF \ -DCONNECT_WITH_JDBC=OFF \ %{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} +# Print all Cmake options values +# cmake -LAH for List Advanced Help +cmake -LA -CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# force PIC mode so that we can build libmysqld.so -CFLAGS="$CFLAGS -fPIC" - -%if %{with debug} -# Override all optimization flags when making a debug build -# -D_FORTIFY_SOURCE requires optimizations enabled. Disable the fortify. -CFLAGS=`echo "$CFLAGS" | sed -r 's/-D_FORTIFY_SOURCE=[012]/-D_FORTIFY_SOURCE=0/'` -CFLAGS=`echo "$CFLAGS" | sed -r 's/-O[0123]//'` - -CFLAGS="$CFLAGS -O0 -g -D_FORTIFY_SOURCE=0" - -# Fixes for Fedora 32 & Rawhide (GCC 10.0): -%if 0%{?fedora} >= 32 -CFLAGS="$CFLAGS -Wno-error=class-memaccess" -CFLAGS="$CFLAGS -Wno-error=enum-conversion" -%endif # f32 -%endif # debug - -CXXFLAGS="$CFLAGS" -CPPFLAGS="$CFLAGS" -export CFLAGS CXXFLAGS CPPFLAGS - - -# Print all Cmake options values; "-LAH" means "List Advanced Help" -cmake -LAH - -#%cmake_build - -# to safe disk space, do not use ccache -export CCACHE_DISABLE=1 -# do not use %%{?_smp_mflags} to safe memory and avoid build failure due to not enough resources -make -j2 VERBOSE=1 - +%make_build VERBOSE=1 # build selinux policy @@ -888,11 +854,8 @@ pushd selinux make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp %endif - - %install -#%cmake_install -make DESTDIR=%{buildroot} install +%make_install # multilib header support #1625157 for header in mysql/server/my_config.h mysql/server/private/config.h; do @@ -942,17 +905,19 @@ rm scripts/my.cnf # use different config file name for each variant of server (mariadb / mysql) mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -# remove SysV init script and a symlink to that, we use systemd +# remove SysV init script and a symlink to that, we pack our very own +rm %{buildroot}%{_sysconfdir}/init.d/mysql rm %{buildroot}%{_libexecdir}/rcmysql # install systemd unit files and scripts for handling server startup install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service - -# Install downstream version of tmpfiles +# Remove the upstream version +rm %{buildroot}%{_tmpfilesdir}/mariadb.conf +# Install downstream version install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?mysqld_pid_dir:1} echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf -%endif +%endif #pid # helper scripts for service starting install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir @@ -976,8 +941,8 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list # Client that uses libmysqld embedded server. # Pretty much like normal mysql command line client, but it doesn't require a running mariadb server. -%{?with_embedded:rm %{buildroot}%{_bindir}/{mariadb-,mysql_}embedded} -rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}embedded.1* +%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} +rm %{buildroot}%{_mandir}/man1/mysql_embedded.1* # Static libraries rm %{buildroot}%{_libdir}/*.a # This script creates the MySQL system tables and starts the server. @@ -995,12 +960,8 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server # Binary for monitoring MySQL performance -# Shipped as a standalone package in Fedora +# Shipped as a standalona package in Fedora rm %{buildroot}%{_bindir}/mytop -rm %{buildroot}%{_mandir}/man1/mytop.1* - -# Should be shipped with mariadb-connector-c -rm %{buildroot}%{_mandir}/man1/mariadb_config.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -1008,23 +969,15 @@ mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotated chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} # copy additional docs into build tree so %%doc will find them -install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}} install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} +install -p -m 0644 %{SOURCE8} %{basename:%{SOURCE8}} install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}} install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}} -# Delete upstreams service files -# We don't use this location of service files -rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/{mysql,mysqld}.service -# These may come handy in a future, but right now we use our own services -rm %{buildroot}/usr/lib/systemd/system/{mysql,mysqld}.service - # install galera config file -%if %{with galera} sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf -%endif # install the clustercheck script mkdir -p %{buildroot}%{_sysconfdir}/sysconfig touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck @@ -1035,27 +988,26 @@ rm %{buildroot}%{logrotateddir}/mysql # Remove AppArmor files rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor -# Buildroot does not have symlink /lib64 --> /usr/lib64 +# Buildroot does not have symlink /lib --> /usr/lib mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir} +# script without shebang: https://jira.mariadb.org/browse/MDEV-14266 +chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf + +# Add wsrep_sst_rsync_tunnel script +install -p -m 0755 scripts/wsrep_sst_rsync_tunnel %{buildroot}%{_bindir}/wsrep_sst_rsync_tunnel + # Disable plugins %if %{with gssapi} -sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf +# Comment out the line to keep RHEL8 behaviour the same +#sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf %endif %if %{with cracklib} sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf %endif -# Fix Galera Replication config file -# The replication requires cluster address upon startup (which is end-user specific). -# Disable it entirely, rather than have it failing out-of-the-box. -%if %{with galera} -sed -i 's/^wsrep_on=1/wsrep_on=0/' %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf -%endif - %if %{without embedded} rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* -rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* %endif @@ -1076,8 +1028,8 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so %if %{without clibrary} || %{without devel} rm %{buildroot}%{_bindir}/mysql_config* rm %{buildroot}%{_bindir}/mariadb_config -rm %{buildroot}%{_bindir}/mariadb-config rm %{buildroot}%{_mandir}/man1/mysql_config*.1* +unlink %{buildroot}%{_mandir}/man1/mariadb_config.1* %endif %if %{without clibrary} && %{with devel} @@ -1096,25 +1048,23 @@ rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc rm %{buildroot}%{_libdir}/libmariadb*.so unlink %{buildroot}%{_libdir}/libmysqlclient.so unlink %{buildroot}%{_libdir}/libmysqlclient_r.so -%endif -%endif +%endif # clibrary +%endif # devel %if %{without client} -rm %{buildroot}%{_bindir}/msql2mysql -rm %{buildroot}%{_bindir}/{mysql,mariadb} -rm %{buildroot}%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid} -rm %{buildroot}%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid} - -rm %{buildroot}%{_mandir}/man1/msql2mysql.1* -rm %{buildroot}%{_mandir}/man1/{mysql,mariadb}.1* -rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1* -rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* +rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\ +mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ +mysqldump,mysqlimport,mysqlshow,mysqlslap} +rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\ +mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ +mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* +rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif -%if %{with tokudb} +%if %{without tokudb} +%else %if 0%{?fedora} || 0%{?rhel} > 7 # Move the upstream file to the correct location -mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d mv %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf %endif %endif @@ -1134,22 +1084,20 @@ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian,hindi} %endif +%if %{without bench} +rm -r %{buildroot}%{_datadir}/sql-bench +%endif + %if %{without test} %if %{with embedded} -rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} -rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* -rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* +rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded} +rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1* %endif # embedded rm %{buildroot}%{_bindir}/test-connect-t rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest} -rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test} -rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1* -rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1* +rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1* rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1* -rm %{buildroot}/suite/plugins/pam/mariadb_mtr -rm %{buildroot}/suite/plugins/pam/pam_mariadb_mtr.so -%endif +%endif # test %if %{without galera} rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf @@ -1160,13 +1108,19 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf %endif %if %{without rocksdb} -rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1* -rm %{buildroot}%{_mandir}/man1/myrocks_hotbackup.1* +rm %{buildroot}%{_mandir}/man1/mysql_ldb.1* %endif %check %if %{with test} %if %runselftest + +# Workaround for rhbz#1618810 +OPENSSL_SYSTEM_CIPHERS_OVERRIDE=xyz_nonexistent_file +export OPENSSL_SYSTEM_CIPHERS_OVERRIDE +OPENSSL_CONF='' +export OPENSSL_CONF + # hack to let 32- and 64-bit tests run concurrently on same build machine export MTR_PARALLEL=1 # builds might happen at the same host, avoid collision @@ -1190,42 +1144,32 @@ export MTR_BUILD_THREAD=%{__isa_bits} ( set -ex - cd %{buildroot}%{_datadir}/mysql-test - export common_testsuite_arguments=" --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " + cd mysql-test + perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \ + --suite-timeout=5000 --testcase-timeout=100 \ + --mysqld=--binlog-format=mixed --force-restart \ + --shutdown-timeout=60 --max-test-fail=10 --big-test \ + --skip-test=spider \ +%if %{ignore_testsuite_result} + --max-test-fail=9999 || : +%else + --skip-test-list=unstable-tests +%endif - # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run - if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] - then - # in further rebuilds only run the basic "main" suite (~800 tests) - echo "running only base testsuite" - perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --suite=main --mem --skip-test-list=unstable-tests - fi - - # If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test) - if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]] - then - echo "running advanced testsuite" - perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --big-test --skip-test=spider \ - %if %{ignore_testsuite_result} - --max-test-fail=9999 || : - %else - --skip-test-list=unstable-tests - %endif - # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) - perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --mem --suite=spider,spider/bg,spider/bugfix,spider/handler \ - %if %{ignore_testsuite_result} - --max-test-fail=999 || : - %endif - # blank line - fi +# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate) + perl ./mysql-test-run.pl --parallel=auto --force --retry=1 \ + --suite-timeout=60 --testcase-timeout=10 \ + --mysqld=--binlog-format=mixed --force-restart \ + --shutdown-timeout=60 --max-test-fail=0 --big-test \ + --skip-ssl --suite=spider,spider/bg,spider/bugfix,spider/handler \ +%if %{ignore_testsuite_result} + --max-test-fail=999 || : +%endif ) -# NOTE: the Spider SE has 2 more hidden testsuites "oracle" and "oracle2". -# however, all of the tests fail with: "failed: 12521: Can't use wrapper 'oracle' for SQL connection" - -%endif -%endif +%endif # if dry run +%endif # with test @@ -1234,18 +1178,23 @@ export MTR_BUILD_THREAD=%{__isa_bits} /usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : +%if %{with clibrary} +# Can be dropped on F27 EOL +%ldconfig_scriptlets libs +%endif + +%if %{with embedded} +# Can be dropped on F27 EOL +%ldconfig_scriptlets embedded +%endif + %if %{with galera} %post server-galera -# Allow ports needed for the replication: -# https://mariadb.com/kb/en/library/configuring-mariadb-galera-cluster/#network-ports -# Galera Replication Port +# Do what README at support-files/policy/selinux/README and upstream page +# http://galeracluster.com/documentation-webpages/firewallsettings.html recommend: +semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || : semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || : -# IST Port -semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || : -# SST Port -semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || : - semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || : %endif @@ -1270,28 +1219,44 @@ fi %if %{with client} %files %{_bindir}/msql2mysql -%{_bindir}/{mysql,mariadb} -%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid} -%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid} +%{_bindir}/mysql +%{_bindir}/mysql_find_rows +%{_bindir}/mysql_plugin +%{_bindir}/mysql_waitpid +%{_bindir}/mysqlaccess +%{_bindir}/mysqladmin +%{_bindir}/mysqlbinlog +%{_bindir}/mysqlcheck +%{_bindir}/mysqldump +%{_bindir}/mysqlimport +%{_bindir}/mysqlshow +%{_bindir}/mysqlslap %{_mandir}/man1/msql2mysql.1* -%{_mandir}/man1/{mysql,mariadb}.1* -%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1* -%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1* - +%{_mandir}/man1/mysql.1* +%{_mandir}/man1/mysql_find_rows.1* +%{_mandir}/man1/mysql_plugin.1* +%{_mandir}/man1/mysql_waitpid.1* +%{_mandir}/man1/mysqlaccess.1* +%{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlcheck.1* +%{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlimport.1* +%{_mandir}/man1/mysqlshow.1* +%{_mandir}/man1/mysqlslap.1* %config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf %endif %if %{with clibrary} %files libs -%exclude %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} -%{_libdir}/libmariadb.so* +%{_libdir}/libmariadb.so.* %config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf %endif %if %{with config} %files config -# although the default my.cnf contains only server settings, we put it in the +# Although the default my.cnf contains only server settings, we put it in the # common package because it can be used for client settings too. %dir %{_sysconfdir}/my.cnf.d %config(noreplace) %{_sysconfdir}/my.cnf @@ -1305,8 +1270,8 @@ fi %if %{with clibrary} %{_libdir}/%{pkg_name}/plugin/dialog.so %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so -%endif -%endif +%endif # clibrary +%endif # common %if %{with errmsg} %files errmsg @@ -1351,23 +1316,24 @@ fi %endif %files server -%doc README.mysql-cnf +%doc README.wsrep_sst_rsync_tunnel -%{_bindir}/aria_{chk,dump_log,ftdump,pack,read_log} +%{_bindir}/aria_chk +%{_bindir}/aria_dump_log +%{_bindir}/aria_ftdump +%{_bindir}/aria_pack +%{_bindir}/aria_read_log %{_bindir}/mariadb-service-convert %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/my_print_defaults - -%{_bindir}/mariadb-conv - -%{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql} -%{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql} -%{_bindir}/{mysqld_,mariadbd-}safe -%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper} - +%{_bindir}/mysql_install_db +%{_bindir}/mysql_secure_installation +%{_bindir}/mysql_tzinfo_to_sql +%{_bindir}/mysqld_safe +%{_bindir}/mysqld_safe_helper %{_bindir}/innochecksum %{_bindir}/replace %{_bindir}/resolve_stack_dump @@ -1377,9 +1343,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset -%config(noreplace) %{_sysconfdir}/my.cnf.d/spider.cnf -%{_libexecdir}/{mysqld,mariadbd} +%{_libexecdir}/mysqld %{_libdir}/%{pkg_name}/INFO_SRC %{_libdir}/%{pkg_name}/INFO_BIN @@ -1389,10 +1354,8 @@ fi %dir %{_libdir}/%{pkg_name} %dir %{_libdir}/%{pkg_name}/plugin -# Change from root:root to mysql:mysql, so it can be accessed by the server -%attr(0755,mysql,mysql) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir %{_libdir}/security/pam_user_map.so -%{_sysconfdir}/security/user_map.conf +%config(noreplace) %{_sysconfdir}/security/user_map.conf %{_libdir}/%{pkg_name}/plugin/* %{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so} %{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so} @@ -1401,12 +1364,17 @@ fi %{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so} %{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so} %{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so} +%{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so} %if %{with clibrary} %exclude %{_libdir}/%{pkg_name}/plugin/dialog.so %exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so %endif -%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log,s3_copy}.1* +%{_mandir}/man1/aria_chk.1* +%{_mandir}/man1/aria_dump_log.1* +%{_mandir}/man1/aria_ftdump.1* +%{_mandir}/man1/aria_pack.1* +%{_mandir}/man1/aria_read_log.1* %{_mandir}/man1/galera_new_cluster.1* %{_mandir}/man1/galera_recovery.1* %{_mandir}/man1/mariadb-service-convert.1* @@ -1415,30 +1383,26 @@ fi %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/my_print_defaults.1* - -%{_mandir}/man1/mariadb-conv.1* - -%{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1* -%{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1* -%{_mandir}/man1/{mysqld_,mariadbd-}safe.1* -%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1* - +%{_mandir}/man1/mysql.server.1* +%{_mandir}/man1/mysql_install_db.1* +%{_mandir}/man1/mysql_secure_installation.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* +%{_mandir}/man1/mysqld_safe.1* +%{_mandir}/man1/mysqld_safe_helper.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolveip.1* %{_mandir}/man1/resolve_stack_dump.1* -%{_mandir}/man8/{mysqld,mariadbd}.8* +%{_mandir}/man8/mysqld.8* %{_mandir}/man1/wsrep_*.1* -%{_mandir}/man1/mysql.server.1* - %{_datadir}/%{pkg_name}/fill_help_tables.sql +%{_datadir}/%{pkg_name}/install_spider.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp.sql %{_datadir}/%{pkg_name}/maria_add_gis_sp_bootstrap.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql -%{_datadir}/%{pkg_name}/mysql_to_mariadb.sql %{_datadir}/%{pkg_name}/mysql_performance_tables.sql %{_datadir}/%{pkg_name}/mysql_test_db.sql %if %{with mroonga} @@ -1451,9 +1415,7 @@ fi %doc %{_datadir}/%{name}-server/groonga-normalizer-mysql/README.md %doc %{_datadir}/%{name}-server/groonga/README.md %endif -%if %{with galera} %{_datadir}/%{pkg_name}/wsrep.cnf -%endif %{_datadir}/%{pkg_name}/wsrep_notify %dir %{_datadir}/%{pkg_name}/policy %dir %{_datadir}/%{pkg_name}/policy/selinux @@ -1493,9 +1455,9 @@ fi %if %{with backup} %files backup -%{_bindir}/maria{,db-}backup +%{_bindir}/mariabackup %{_bindir}/mbstream -%{_mandir}/man1/maria{,db-}backup.1* +%{_mandir}/man1/mariabackup.1* %{_mandir}/man1/mbstream.1* %endif @@ -1503,11 +1465,10 @@ fi %files rocksdb-engine %config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf %{_bindir}/myrocks_hotbackup -%{_bindir}/{mysql_,mariadb-}ldb +%{_bindir}/mysql_ldb %{_bindir}/sst_dump %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so -%{_mandir}/man1/{mysql_,mariadb-}ldb.1* -%{_mandir}/man1/myrocks_hotbackup.1* +%{_mandir}/man1/mysql_ldb.1* %endif %if %{with tokudb} @@ -1544,35 +1505,46 @@ fi %{_libdir}/%{pkg_name}/plugin/ha_connect.so %endif +%if %{with cassandra} +%files cassandra-engine +%config(noreplace) %{_sysconfdir}/my.cnf.d/cassandra.cnf +%{_libdir}/%{pkg_name}/plugin/ha_cassandra.so +%endif + %files server-utils # Perl utilities -%{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission} -%{_bindir}/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission} -%{_bindir}/{mysqld_,mariadbd-}multi - -%{_mandir}/man1/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}.1* -%{_mandir}/man1/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}.1* -%{_mandir}/man1/{mysqld_,mariadbd-}multi.1* +%{_bindir}/mysql_convert_table_format +%{_bindir}/mysql_fix_extensions +%{_bindir}/mysql_setpermission +%{_bindir}/mysqldumpslow +%{_bindir}/mysqld_multi +%{_bindir}/mysqlhotcopy +%{_mandir}/man1/mysql_convert_table_format.1* +%{_mandir}/man1/mysql_fix_extensions.1* +%{_mandir}/man1/mysqldumpslow.1* +%{_mandir}/man1/mysqld_multi.1* +%{_mandir}/man1/mysqlhotcopy.1* +%{_mandir}/man1/mysql_setpermission.1* # Utilities that can be used remotely -%{_bindir}/{mysql_,mariadb-}upgrade +%{_bindir}/mysql_upgrade %{_bindir}/perror -%{_mandir}/man1/{mysql_,mariadb-}upgrade.1* +%{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/perror.1* %if %{with devel} %files devel %{_includedir}/* %{_datadir}/aclocal/mysql.m4 -%{_libdir}/pkgconfig/*mariadb.pc +%{_libdir}/pkgconfig/mariadb.pc %if %{with clibrary} %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so} %{_bindir}/mysql_config* %{_bindir}/mariadb_config* -%{_bindir}/mariadb-config %{_libdir}/libmariadb.so %{_libdir}/libmysqlclient.so %{_libdir}/libmysqlclient_r.so %{_mandir}/man1/mysql_config* +%{_mandir}/man1/mariadb_config* %endif %endif @@ -1585,238 +1557,159 @@ fi %{_libdir}/libmariadbd.so %endif +%if %{with bench} +%files bench +%{_datadir}/sql-bench +%doc %{_datadir}/sql-bench/README +%endif + %if %{with test} %files test %if %{with embedded} %{_bindir}/test-connect-t -%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded} -%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1* -%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1* +%{_bindir}/mysql_client_test_embedded +%{_bindir}/mysqltest_embedded +%{_mandir}/man1/mysql_client_test_embedded.1* +%{_mandir}/man1/mysqltest_embedded.1* %endif -%{_bindir}/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test} +%{_bindir}/mysql_client_test %{_bindir}/my_safe_process +%{_bindir}/mysqltest %attr(-,mysql,mysql) %{_datadir}/mysql-test -%{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1* +%{_mandir}/man1/mysql_client_test.1* %{_mandir}/man1/my_safe_process.1* +%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/mysql-stress-test.pl.1* %{_mandir}/man1/mysql-test-run.pl.1* %endif %changelog -* Wed Nov 11 2020 Michal Schorm - 10.5.8-1 -- Rebase to 10.5.8 +* Thu Jun 30 2022 Zuzana Miklankova - 3:10.3.35-1 +- Rebase to 10.3.35 -* Fri Nov 06 2020 Michal Schorm - 10.5.7-1 -- Rebase to 10.5.7 +* Thu Jun 30 2022 Zuzana Miklankova - 3:10.3.34-1 +- Rebase to 10.3.34 -* Mon Sep 21 2020 Lukas Javorsky - 10.5.5-1 -- Rebase to 10.5.5 -- Fix mariadb-ownsetup -- Add manual for aria_s3_copy +* Mon Jan 17 2022 Zuzana Miklankova - 3:10.3.32-2 +- Add delaycompress option to the logrotate script +- Resolves: rhbz:#2015580 -* Wed Sep 16 2020 Lukas Javorsky - 10.5.4-1 -- Rebase to 10.5.4 -- Add spider.cnf to the server config files +* Wed Jan 12 2022 Zuzana Miklankova - 3:10.3.32-1 +- Rebase to 10.3.32 -* Mon Sep 14 2020 Lukas Javorsky - 10.5.3-1 -- Rebase to 10.5.3 +* Tue Jan 11 2022 Zuzana Miklankova - 3:10.3.31-1 +- Rebase to 10.3.31 -* Fri Sep 11 2020 Michal Schorm - 10.5.2-1 -- Test rebase to 10.5.2 - Beta -- TokuDB SE has been deprecated +* Fri Sep 24 2021 Lukas Javorsky - 3:10.3.30-1 +- Rebase to 10.3.30 -* Thu Sep 10 2020 Michal Schorm - 10.5.1-1 -- Test rebase to 10.5.1 - Beta +* Mon Aug 09 2021 Lukas Javorsky - 3:10.3.29-2 +- Set user_map.conf file to be noreplace config file +- Resolves: rhbz#1989534 -* Thu Sep 10 2020 Michal Schorm - 10.5.0-1 -- Test rebase to 10.5.0 - Alpha +* Tue May 05 2021 Michal Schorm - 3:10.3.29-1 +- Rebase to 10.3.29 -* Sun Sep 06 2020 Michal Schorm - 10.4.14-3 -- Resolves: #1851605 +* Wed Mar 24 2021 Michal Schorm - 3:10.3.28-1 +- Rebase to 10.3.28 -* Thu Sep 03 2020 Michal Schorm - 10.4.14-2 -- Resolves: #1873999, #1874446 +* Thu Dec 03 2020 Michal Schorm - 3:10.3.27-3 +- Remove mariadb_rpl.h from includedir + This file is shipped in mariadb-connector-c package +- Require matching version of mariadb-connector-c package -* Thu Aug 20 2020 Michal Schorm - 10.4.14-1 -- Rebase to 10.4.14 - -* Tue Aug 18 2020 Michal Schorm - 10.4.13-7 -- Do CMake out-of-source builds -- Force the CMake change regarding the in-source builds also to F31 and F32 -- Use CMake macros instead of cmake & make direct commands -- %%cmake macro covers the %%{set_build_flags}, so they are not needed - Other changes to compile flags must be specified *after* the %%cmake macro - -* Wed Aug 05 2020 Jeff Law - 3:10.4.13-6 -- Disable LTO - -* Sat Aug 01 2020 Fedora Release Engineering - 3:10.4.13-5 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 3:10.4.13-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 14 2020 Michal Schorm - 10.4.13-3 -- Make conflicts between corresponding mariadb and mysql packages explicit -- Get rid of the Conflicts macro, it was intended to mark conflicts with - *upstream* packages - -* Fri Jun 05 2020 Michal Schorm - 10.4.13-2 -- Extend Perl "Requires" filtering to wsrep - Resolves: #1845376 - -* Fri Jun 05 2020 Michal Schorm - 10.4.13-1 -- Rebase to 10.4.13 - -* Sun May 24 2020 Lukas Javorsky - 3:10.4.12-6 -- Remove mariadb_rpl.h from includedir to prevent conflict with connector-c's libraries - -* Thu Apr 02 2020 Björn Esser - 3:10.4.12-5 -- Fix string quoting for rpm >= 4.16 - -* Thu Mar 26 2020 Jitka Plesnikova - 10.4.12-4 -- Add perl dependencies needed for tests - -* Mon Mar 16 2020 Michal Schorm - 10.4.12-3 -- Rebase mariadb-connector-c git submodule to commit fbf1db6 - For fix: https://jira.mariadb.org/browse/CONC-441 - -* Tue Mar 10 2020 Michal Schorm - 10.4.12-2 -- Update the fix for building in the debug mode - -* Thu Feb 06 2020 Michal Schorm - 10.4.12-1 -- Rebase to 10.4.12 - -* Wed Jan 29 2020 Fedora Release Engineering - 3:10.4.11-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jan 17 2020 Michal Schorm - 10.4.11-1 -- Rebase to 10.4.11 - Related: #1756468 -- Remove 'bench' subpackage. Upstream no longer maintains it. -- Use Valgrind for debug builds -- Remove ancient obsoletions -- Tweak build flags -- Add patch for auth_pam_tool directory - -* Fri Jan 10 2020 Michal Schorm - 10.3.21-1 -- Rebase to 10.3.21 - -* Mon Nov 18 2019 Lukas Javorsky - 10.3.20-3 -- Change path of groonga's packaged files -- Fix bz#1763287 - -* Tue Nov 12 2019 Michal Schorm - 10.3.20-2 -- Rebuild on top fo new mariadb-connector-c - -* Mon Nov 11 2019 Michal Schorm - 10.3.20-1 -- Rebase to 10.3.20 - -* Wed Nov 06 2019 Michal Schorm - 10.3.19-1 -- Rebase to 10.3.19 - -* Thu Oct 31 2019 Carl George - 3:10.3.18-1 -- Rebase to 10.3.18 - -* Wed Sep 11 2019 Michal Schorm - 10.3.17-3 +* Wed Nov 25 2020 Michal Schorm - 3:10.3.27-2 - Disable building of the ed25519 client plugin. From now on it will be shipped by 'mariadb-connector-c' package -* Fri Sep 06 2019 Michal Schorm - 10.3.17-2 +* Thu Nov 12 2020 Michal Schorm - 3:10.3.27-1 +- Rebase to 10.3.27 +- mariadb-debug_build.patch is no more needed, upstream did the changes: + https://github.com/MariaDB/server/commit/31eaa2029f3c2a4f8e5609ce8b87682286238d9a#diff-32766783af7cac683980224d63c59929 + https://github.com/MariaDB/server/commit/23c6fb3e6231b8939331e2d9f157092f24ed8f4f#diff-78f3162f137407db5240950beb2bcd7c + +* Fri May 15 2020 Michal Schorm - 3:10.3.23-1 +- Rebase to 10.3.23 +- Make conflicts between corresponding mariadb and mysql packages explicit +- Get rid of the Conflicts macro, it was intended to mark conflicts with + *upstream* packages + Resolves: #1853159 + +* Mon Mar 30 2020 Lukas Javorsky - 3:10.3.22-1 +- Rebase to 10.3.22 + +* Fri Jan 10 2020 Lukas Javorsky - 3:10.3.21-1 +- Rebase to 10.3.21 + +* Thu Dec 05 2019 Lukas Javorsky - 3:10.3.20-2 +- Change path of groonga's packaged files +- Fix bz#1763287 + +* Thu Dec 05 2019 Lukas Javorsky - 3:10.3.20-1 +- Rebase to 10.3.20 +- NOTE: 10.3.19 was deleted by upstream + +* Tue Dec 03 2019 Lukas Javorsky - 3:10.3.18-1 +- Rebase to 10.3.18 + +* Tue Dec 03 2019 Lukas Javorsky - 3:10.3.17-2 - Fix the debug build -* Thu Aug 01 2019 Michal Schorm - 10.3.17-1 +* Thu Aug 01 2019 Michal Schorm - 3:10.3.17-1 - Rebase to 10.3.17 - -* Thu Jul 25 2019 Fedora Release Engineering - 3:10.3.16-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Jun 18 2019 Michal Schorm - 10.3.16-1 -- Rebase to 10.3.16 -- Added patch for armv7hl builds of spider SE - -* Tue Jun 11 2019 Michal Schorm - 10.3.15-1 -- Rebase to 10.3.15 -- CVEs fixed: - CVE-2019-2510 CVE-2019-2537 -- CVEs fixed: - CVE-2019-2614 CVE-2019-2627 CVE-2019-2628 - -* Tue Jun 11 2019 Michal Schorm - 10.3.12-15 -- Remove Cassandra subpackage; it is no longer developed - -* Thu Mar 21 2019 Michal Schorm - 10.3.12-14 + Resolves: #1711265 + Resolves: #1701687 +- Add patch for server pkgconfig file location +- Use logrotatedir macro on one more spot - Fix building of TokuDB with Jemalloc 5 - Fix building with / without lz4 - -* Thu Mar 21 2019 Michal Schorm - 10.3.12-13 -- Add patch for mysqld_safe --dry-run - -* Wed Mar 20 2019 Michal Schorm - 10.3.12-12 -- Add patch for server pkgconfig file location - -* Sat Feb 23 2019 Pavel Raiskup - 10.3.12-11 -- conditionally depend on selinux-policy-targeted again (rhbz#1665643) - -* Mon Feb 11 2019 Michal Schorm - 3:10.3.12-10 -- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643 - -* Fri Feb 01 2019 Fedora Release Engineering - 3:10.3.12-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Jan 30 2019 Honza Horak - 3:10.3.12-8 -- Fix several SSL tests that failed because of different SSL cipher expectation - -* Wed Jan 23 2019 Michal Schorm - 3:10.3.12-7 -- Fix TokuDB Jemalloc ld_preload - Resolves: #1668375 -- Tweak macros usage - -* Sat Jan 19 2019 Michal Schorm - 3:10.3.12-6 -- Enable mysql-selinux requirement -- Tweak the testsuite execution, speed up the testsuite on rebuilds -- Change weak dependency of RocksDB and TokuDB storage engines - from Recommends to Suggests -- Add "Suggests" weak dependencies to more storage engines - -* Wed Jan 16 2019 Michal Schorm - 3:10.3.12-5 -- Tweak handling of the mysql-selinux requirement, leave disabled due to #1665643 - -* Mon Jan 14 2019 Björn Esser - 3:10.3.12-4 -- Rebuilt for libcrypt.so.2 (#1666033) - -* Fri Jan 11 2019 Kevin Fenzi - 3:10.3.12-3 -- Drop mysql-selinux recommends for now due to bug #1665643 - -* Wed Jan 09 2019 Honza Horak - 3:10.3.12-2 -- Use specific python shebang - -* Tue Jan 08 2019 Michal Schorm - 3:10.3.12-1 -- Rebase to 10.3.12 -- Disable building of the caching_sha2_password plugin, it is shipped - by 'mariadb-connector-c' -- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c' +- Fix "ggsapi" -> "gssapi" typo but keep the broken behaviour +- Control building of the CACHING_SHA2_PASSWORD plugin +- Fix the license tag + Resolves: #1702707 * Mon Dec 10 2018 Michal Schorm - 3:10.3.11-1 - Rebase to 10.3.11 +- Remove README.mysql-cnf as we don't ship example configuration files anymore + Resolves: #1653318 - CVEs fixed: CVE-2018-3282, CVE-2016-9843, CVE-2018-3174, CVE-2018-3143, CVE-2018-3156 CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173 CVE-2018-3200, CVE-2018-3284 +* Fri Oct 12 2018 Michal Schorm - 3:10.3.10-3 +- Fix "-fstack-protector-strong" static analysis errors + Resolves: #1624139 +- Add wsrep_sst_rsync_tunnel script, add README + Resolves: #1650463 +- Fix few covscan issues + Resolves: #1649707 +- Fix galera_new_cluster script + Resolves: #1641663 + +* Fri Oct 12 2018 Michal Schorm - 3:10.3.10-2 +- Fix RPMDiff errors - license and path macros + Resolves: #1638720 + * Fri Oct 05 2018 Michal Schorm - 3:10.3.10-1 - Rebase to 10.3.10 + Resolves: #1637034 -* Tue Sep 04 2018 Michal Schorm - 3:10.3.9-2 -- Fix parallel installability of x86_64 and i686 devel packages - -* Mon Aug 20 2018 Michal Schorm - 3:10.3.9-1 +* Wed Aug 22 2018 Michal Schorm - 3:10.3.9-1 - Rebase to 10.3.9 +- Add workaround for short SSL certificates +- Fix parallel installability for x86_64 and i686 devel packages +- CVEs fixed: #1603531 + CVE-2018-3058 CVE-2018-3063 CVE-2018-3064 CVE-2018-3066 -* Fri Aug 10 2018 Petr Lautrbach - 3:10.3.8-5 -- Update mariadb-server-galera sub-package to require the correct package with /usr/sbin/semanage +* Mon Aug 13 2018 Michal Schorm - 3:10.3.8-6 +- Use openssl-devel instead of pkgconfig(openssl) +- Enable conflicts against mysql (instead of community-mysql) + Related: #1581034 + +* Sun Aug 12 2018 Honza Horak - 3:10.3.8-5 +- Define explicit conflicts with mysql + Resolves: #1581034 * Wed Jul 25 2018 Honza Horak - 3:10.3.8-4 - Do not build config on systems where mariadb-connector-c-config exists instead @@ -1825,9 +1718,6 @@ fi - Move config files mysql-clients.cnf and enable_encryption.preset to correct sub-packages, similar to what upstream does -* Fri Jul 13 2018 Fedora Release Engineering - 3:10.3.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - * Tue Jul 03 2018 Michal Schorm - 3:10.3.8-1 - Rebase to 10.3.8 - Build TokuDB with jemalloc diff --git a/mariadb.tmpfiles.d.in b/mariadb.tmpfiles.d.in deleted file mode 100644 index 9e6b6e8..0000000 --- a/mariadb.tmpfiles.d.in +++ /dev/null @@ -1,3 +0,0 @@ -# Do not edit this file. -# To override this, put /etc/tmpfiles.d/mariadb.conf instead. -d @PID_FILE_DIR@ 0755 mysql mysql - diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index ec37d1b..c3b5ced 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1,2 +1,3 @@ -# Fails since 10.3.17, only on armv7hl -versioning.partition : +# Fails on aarch64 +innodb.innodb_buffer_pool_resize : +innodb.innodb_buffer_pool_resize_with_chunks : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index a0bb6a8..6b720f4 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -1,54 +1,27 @@ -# The SSL test are failing correctly. Fro more explanation, see: -# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 -main.ssl_7937 : #1399847 -main.ssl_8k_key : -main.ssl_crl : #1399847 +# Fails everywhere +innodb.innodb_defrag_binlog : -# ------------------------------ -# Tests that fails because of 'Self Signed Certificate in the Certificate Chain' -perfschema.cnf_option : +main.ssl_7937 : +main.ssl_8k_key : +main.ssl_crl : +main.ssl_system_ca : +main.userstat : -rpl.rpl_row_img_blobs : -rpl.rpl_row_img_eng_min : -rpl.rpl_row_img_eng_noblob : - -sys_vars.slave_parallel_threads_basic : - -# ------------------------------ -# Expected to fail, the plugin is not build with server, but 'mariadb-connector-c' instead -plugins.auth_ed25519 : -plugins.multiauth : - -# ------------------------------ -perfschema.nesting : #1399847 -perfschema.socket_summary_by_instance_func : #1399847 +perfschema.cnf_option : +perfschema.nesting : perfschema.socket_summary_by_event_name_func : +perfschema.socket_summary_by_instance_func : -# ------------------------------ -# Fails since 10.1.12 -innodb.innodb_defrag_binlog : +plugins.feedback_plugin_load : -# Fails everywhere since 10.2.15 -main.userstat : +rpl.rpl_row_img_blobs : +rpl.rpl_row_img_eng_min : +rpl.rpl_row_img_eng_noblob : -# Fails everywhere since 10.4.11 -main.events_bugs : -sys_vars.tcp_nodelay : +sys_vars.slave_parallel_threads_basic : -# Fails on i686 -encryption.innodb-redo-badkey : +# Fails only on i686 +main.myisampack : -# Fails since 10.5.2 -main.mysqld--help2 : -disks.disks : -disks.disks_notembedded : - -# Fails since 10.5.3 -main.mysqld--help-aria : - -# Fails since 10.5.4 -main.ssl_system_ca : - -# Fails since 10.5.7 -innodb.innodb_wl6326_big : -plugins.feedback_plugin_load : +# We don't build the plugin in server; we build it in mariadb-connector-c instead +plugins.auth_ed25519 : \ No newline at end of file diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index 403da66..1938180 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -1,5 +1,30 @@ -# Fails on ppc64le since 10.4.12 -oqgraph.social : +# Fails on ppc64le +parts.partition_alter1_1_innodb : +parts.partition_alter1_2_innodb : +parts.partition_alter1_1_2_innodb : +parts.partition_alter1_2_1_innodb : +parts.partition_alter2_1_1_innodb : +parts.partition_alter1_2_2_innodb : +parts.partition_alter2_1_2_innodb : +parts.partition_alter2_2_1_innodb : +parts.partition_alter2_2_2_innodb : +parts.partition_alter4_innodb : +parts.partition_basic_innodb : +parts.part_supported_sql_func_innodb : -# Fails since 10.5.2 -rh-skipped-tests-ppc.list : +rpl.rpl_loaddata_m : + +# +stress.ddl_innodb : + +innodb.innodb_buffer_pool_resize : +innodb.innodb_buffer_pool_resize_with_chunks : +innodb.innodb_bulk_create_index : +innodb.innodb_defrag_binlog : +innodb.innodb_defrag_concurrent : +innodb_gis.kill_server : +gcol.innodb_virtual_basic : + +# Unstable (randomly failing) tests +innodb_gis.rtree_search : +main.type_ranges : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index 3ca7588..96f893a 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -1,3 +1,8 @@ -# Fails since 10.5.2 -perfschema.memory_aggregate_32bit : -period.overlaps : +# Fails on s390x +disks.disks : +disks.disks_notembedded : + +# related to MDEV-20194 +# first check of `undefined` table causes warning, +# instead INSERT and ALTER should cause it +innodb.row_size_error_log_warnings_3 : diff --git a/rpminspect.yaml b/rpminspect.yaml deleted file mode 100644 index 88127bb..0000000 --- a/rpminspect.yaml +++ /dev/null @@ -1,50 +0,0 @@ -# Set up global ignore list -ignore: - # mysql-test/ directory contains an extensive test-suite of about 20.000 files; - # It is very time consuming to be fully analysed and the results aren't useful anyway - # It is expected the tests change during rebases, as the underlying functionality the test evolve - # Some of the tests contain broken or problematic code, however that is on purpose - - /usr/share/mysql-test/ - -# based on https://lists.launchpad.net/maria-discuss/msg06133.html discussion -# are the invalid xmls (except for Index.xml) present in the sources on purpose -# and they can be removed from xmllint rpminspect check in the CI process. -# -# A bug report [https://jira.mariadb.org/browse/MDEV-26905] was created in the upstream -# for the Index.xml file. -# -# Fedora CI picks up the rpmlimspect.yaml for specific package in the dist-git repo -#[ref: https://rpminspect.readthedocs.io/en/latest/configuration.html#rpminspect-yaml] -# -xml: - ignore: - - /usr/share/mysql-test/std_data/loadxml.dat - - /usr/share/mysql-test/std_data/loaddata/mdev9874.xml - - /usr/share/mysql-test/std_data/ldml/Index.xml - - /usr/share/mysql-test/plugin/sphinx/sphinx/testdata.xml - - /usr/share/mysql-test/plugin/connect/connect/std_data/nocs.xml - - /usr/share/mariadb/charsets/Index.xml - -# ignore bad functions in resolveip binary, based on BZ1973194 -# all forbidden functions listed in main rpminspect config -# have to be menioned also here, else it would not be checked for them -badfuncs: - - gethostbyname - - gethostbyname2 - - gethostbyaddr - - inet_addr - - inet_aton - - inet_nsap_addr - - inet_ntoa - - inet_nsap_ntoa - - inet_makeaddr - - inet_netof - - inet_network - - inet_neta - - inet_net_ntop - - inet_net_pton - - rcmd - - rexec - - rresvport - ignore: - - /usr/bin/resolveip diff --git a/sources b/sources index 9584397..0e3c864 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.5.8.tar.gz) = 9801a68440a3502b49655e34dcbfd09734f4a4f1ba8621ed9b895e194cea461a8c69fb0ff66488d5defd3065b43f73e5083a60142e11cc7e4a442f86769b06e5 +SHA512 (mariadb-10.3.35.tar.gz) = 9355de944eccef4e0bc01b19ffc3c0c72cf88befae7385c6f0ee1ea47dbd98d23f6bb46af9c140acc48d9d9613552870684bc0b7ca1f3cff1dc09c1a2c801573