import mysql-8.0.30-1.module+el8.6.0+16523+5cb0e868

This commit is contained in:
CentOS Sources 2022-10-25 03:40:21 -04:00 committed by Stepan Oksanichenko
parent e4f371b2e9
commit 48e62e2678
11 changed files with 113 additions and 130 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/mysql-boost-8.0.26.tar.gz
SOURCES/mysql-boost-8.0.30.tar.gz

View File

@ -1 +1 @@
fbac872bbc125f0f05ce1f3224dbaeddf368da40 SOURCES/mysql-boost-8.0.26.tar.gz
49ff9bc9d2030de79f3e56088ddfe1fa38f87f4a SOURCES/mysql-boost-8.0.30.tar.gz

View File

@ -0,0 +1,27 @@
From d1343f28dcbe25b100b082b34775bd92ead4602c Mon Sep 17 00:00:00 2001
From: jzmaddock <john@johnmaddock.co.uk>
Date: Tue, 25 Jan 2022 09:27:40 +0000
Subject: [PATCH] Update gcc Intel intrinsic usage config. Fixes
https://github.com/boostorg/multiprecision/issues/419.
---
include/boost/multiprecision/cpp_int/intel_intrinsics.hpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
index eb4624bb4..37717cd51 100644
--- a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
+++ b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp
@@ -19,7 +19,11 @@
// If this is GCC/clang, then check that the actual intrinsic exists:
//
#if defined(__has_builtin) && defined(__GNUC__)
-#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) && !(defined(BOOST_GCC) && (__GNUC__ >= 9))
+#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) \
+ && !(defined(BOOST_GCC) && (__GNUC__ >= 9) \
+ && (defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)\
+ || defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_AMD64) \
+ || defined(_M_X64) || defined(__amd64__) || defined(_M_X64)))
#undef BOOST_MP_HAS_IMMINTRIN_H
#endif
#elif defined(BOOST_MP_HAS_IMMINTRIN_H) && defined(__GNUC__) && !(defined(BOOST_GCC) && (__GNUC__ >= 9))

View File

@ -1,10 +1,10 @@
diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql
index 7a56616a..5e5f7950 100644
index eff14a67..413dfc27 100644
--- a/mysql-test/include/mtr_warnings.sql
+++ b/mysql-test/include/mtr_warnings.sql
@@ -359,6 +359,11 @@ INSERT INTO global_suppressions VALUES
("A deprecated TLS version TLSv1 is enabled for channel"),
("A deprecated TLS version TLSv1.1 is enabled for channel"),
@@ -363,6 +363,11 @@ INSERT INTO global_suppressions VALUES
*/
("Manifest file '.*' is not read-only. For better security, please make sure that the file is read-only."),
+ /*
+ ARM32 don't support timers and get this warning in every test.

View File

@ -1,24 +0,0 @@
Fix things so that chains of certificates work in the server and client
certificate files.
This only really works for OpenSSL-based builds, as yassl is unable to read
multiple certificates from a file. The patch below to yassl/src/ssl.cpp
doesn't fix that, but just arranges that the viosslfactories.c patch won't
have any ill effects in a yassl build. Since we don't use yassl in Red Hat/
Fedora builds, I'm not feeling motivated to try to fix yassl for this.
See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158
diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc
index 5e881e3..2927e7f 100644
--- a/vio/viosslfactories.cc
+++ b/vio/viosslfactories.cc
@@ -198,7 +198,7 @@ static int vio_set_cert_stuff(SSL_CTX *ctx, const char *cert_file,
if (!key_file && cert_file) key_file = cert_file;
if (cert_file &&
- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) {
+ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) {
*error = SSL_INITERR_CERT;
DBUG_PRINT("error",
("%s from file '%s'", sslGetErrString(*error), cert_file));

View File

@ -1,13 +0,0 @@
# Prevents fails when compiling with gcc11 (Fedora 34)
# Upstream PR: https://github.com/mysql/mysql-server/pull/323
--- mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h.old 2021-02-04 17:15:31.034997221 +0100
+++ mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h 2021-02-04 17:15:50.781372066 +0100
@@ -48,6 +48,7 @@
#include <string>
#include <type_traits>
#include <utility>
+#include <limits>
#if __cplusplus >= 201703L
# include <string_view>
#endif

View File

@ -1,41 +0,0 @@
Support s390/s390x in performance schema's cycle-counting functions.
Filed upstream at http://bugs.mysql.com/bug.php?id=59953
diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h
index 65f7df1..a28f470 100644
--- a/include/my_rdtsc.h
+++ b/include/my_rdtsc.h
@@ -128,5 +128,6 @@ void my_timer_init(MY_TIMER_INFO *mti);
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
#define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27
#define MY_TIMER_ROUTINE_ASM_AARCH64 28
+#define MY_TIMER_ROUTINE_ASM_S390 29
#endif
diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc
index ec8e855..c3408b1 100644
--- a/mysys/my_rdtsc.cc
+++ b/mysys/my_rdtsc.cc
@@ -204,6 +204,13 @@ ulonglong my_timer_cycles(void) {
__asm __volatile__("mrs %[rt],cntvct_el0" : [ rt ] "=r"(result));
return result;
}
+#elif defined(__GNUC__) && defined(__s390__)
+ /* covers both s390 and s390x */
+ {
+ ulonglong result;
+ __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc");
+ return result;
+ }
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
/* gethrtime may appear as either cycle or nanosecond counter */
return (ulonglong)gethrtime();
@@ -505,6 +512,8 @@ void my_timer_init(MY_TIMER_INFO *mti) {
mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC32;
#elif defined(__GNUC__) && defined(__aarch64__)
mti->cycles.routine = MY_TIMER_ROUTINE_ASM_AARCH64;
+#elif defined(__GNUC__) && defined(__s390__)
+ mti->cycles.routine = MY_TIMER_ROUTINE_ASM_S390;
#elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME)
mti->cycles.routine = MY_TIMER_ROUTINE_GETHRTIME;
#else

View File

@ -1,6 +1,5 @@
auth_sec.tls12_tls1 : BUG#0
auth_sec.tls13_tls1 : BUG#0
main.ssl_deprecated_tls_versions : BUG#0
x.connection_tls_version : BUG#0
# x86_64
@ -11,11 +10,20 @@ main.ctype_unicode900_as_cs : BUG#0
collations.chinese : BUG#0
main.mysql_load_data_local_dir : BUG#0
# i686, s390x
main.range_with_memory_limit : BUG#0
# x86_64, s390x
main.mysqld--defaults-file : BUG#0
main.mysqltest_json : BUG#0
main.mtr_unit_tests : BUG#0
main.mysqld--help-notwin : BUG#0
# Unstable since 8.0.27
innodb.innodb_read_only-2 : BUG#0
# Failing since 8.0.29
innodb.innochecksum_linux : BUG#0
rpl_gtid.rpl_multi_source_mtr_includes : BUG#0
# Failing since MySQL 8.0.30
auth_sec.fips : BUG#0
rpl.rpl_fips : BUG#0
main.mysqlpump_bugs : BUG#0

View File

@ -1 +1,14 @@
main.component_backup_lock_service : BUG#0
# Fails since MySQL 8.0.30
main.resource_group_thr_prio_unsupported : BUG#0
main.resource_group_binlog_events : BUG#0
clone.local_dml_auto_tune : BUG#0
clone.remote_dml_auto_tune : BUG#0
main.resource_group_binlog_events : BUG#0
main.resource_group_thr_prio_unsupported : BUG#0
rpl_gtid.rpl_mixed_temp_table_stored_function : BUG#0
sys_vars.innodb_buffer_pool_size_basic : BUG#0
x.resource_groups : BUG#0

View File

@ -24,3 +24,7 @@ main.subquery_sj_firstmatch_bka_nobnl : BUG#0
main.subquery_sj_mat_bka_nobnl : BUG#0
main.window_std_var : BUG#0
main.window_std_var_optimized : BUG#0
# Failing since 8.0.27
gis.st_symdifference : BUG#0
main.regular_expressions_utf-8 : BUG#0

View File

@ -16,7 +16,7 @@
# 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 8.0.26
%global last_tested_version 8.0.30
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
@ -57,21 +57,14 @@
# For deep debugging we need to build binaries with extra debug info
%bcond_with debug
%global boost_bundled_version 1.73.0
%if 0%{?fedora}
%bcond_with bundled_icu
%else
%bcond_without bundled_icu
%endif
%global icu_bundled_version 65.1.0
%global boost_bundled_version 1.77.0
%if 0%{?fedora} >= 26 || 0%{?rhel} > 7
%bcond_with bundled_protobuf
%else
%bcond_without bundled_protobuf
%endif
%global protobuf_bundled_version 3.11.4
%global protobuf_bundled_version 3.19.4
# Mysql 8.0.21 needs libevent version >2.1 and rhel-7 provides 2.0
# Also since Mysql 8.0.18, libzstd is required, but it's not in rhel until version 8
@ -82,13 +75,17 @@
%bcond_with bundled_libevent
%endif
# zstd is missing on rhel-8.0.0
# libfido2 is missing on <= rhel-8 as well
%if 0%{?scl:1} || 0%{?rhel} <= 8
%bcond_without bundled_zstd
%bcond_without bundled_fido2
%else
%bcond_with bundled_zstd
%bcond_with bundled_fido2
%endif
%global zstd_bundled_version 1.4.3
%global zstd_bundled_version 1.5.0
%global libevent_bundled_version 2.1.11
%global fido2_bundled_version 1.8.0
# Include files for SysV init or systemd
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
@ -147,7 +144,7 @@
%endif
Name: %{?scl_prefix}mysql
Version: 8.0.26
Version: 8.0.30
Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com
@ -188,40 +185,34 @@ Source53: rh-skipped-tests-list-ppc.list
# Comments for these patches are in the patch files
# Patches common for more mysql-like packages
Patch1: %{pkgnamepatch}-install-test.patch
Patch2: %{pkgnamepatch}-s390-tsc.patch
Patch3: %{pkgnamepatch}-file-contents.patch
Patch4: %{pkgnamepatch}-scripts.patch
Patch5: %{pkgnamepatch}-paths.patch
# Patches specific for this mysql package
Patch51: %{pkgnamepatch}-chain-certs.patch
Patch52: %{pkgnamepatch}-sharedir.patch
Patch56: %{pkgnamepatch}-mtr.patch
Patch75: %{pkgnamepatch}-arm32-timer.patch
Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch
Patch51: %{pkgnamepatch}-sharedir.patch
Patch53: %{pkgnamepatch}-mtr.patch
Patch54: %{pkgnamepatch}-arm32-timer.patch
# Patches specific for scl
Patch90: %{pkgnamepatch}-scl-env-check.patch
Patch91: %{pkgnamepatch}-rpath.patch
# Patches taken from boost 1.59
Patch115: boost-1.58.0-pool.patch
Patch125: boost-1.57.0-mpl-print.patch
Patch111: boost-1.58.0-pool.patch
Patch112: boost-1.57.0-mpl-print.patch
# Patches taken from boost 1.76
Patch113: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch
# Use same logfile path in logrotate and mysql configs
Patch126: mysql-logrotate-log-path.patch
BuildRequires: cmake
BuildRequires: gcc-c++
# From 8.0.24 MySQL start supporting GCC version 10
# The default and only version of GCC in the base RHEL-8 is GCC 8
# GCC 10 is available in the gcc-toolset
BuildRequires: gcc-toolset-10-toolchain
BuildRequires: libaio-devel
BuildRequires: libedit-devel
BuildRequires: libevent-devel
%if %{without bundled_icu}
BuildRequires: libicu-devel
%endif
BuildRequires: %{?scl_prefix}lz4
BuildRequires: %{?scl_prefix}lz4-devel
BuildRequires: %{?scl_prefix}mecab-devel
@ -291,6 +282,8 @@ BuildRequires: make
%{?with_init_systemd:BuildRequires: systemd}
# libzstd
%{!?with_bundled_zstd:BuildRequires: libzstd-devel}
# libfido2
%{!?with_bundled_fido2:BuildRequires: libfido2-devel}
# libevent
%{?with_bundled_libevent:Provides: bundled(libevent) = %{libevent_bundled_version}}
%{!?with_bundled_libevent:BuildRequires: libevent-devel}
@ -310,12 +303,12 @@ Provides: bundled(boost) = %{boost_bundled_version}
%if %{with bundled_protobuf}
Provides: bundled(protobuf) = %{protobuf_bundled_version}
%endif
%if %{with bundled_icu}
Provides: bundled(icu) = %{icu_bundled_version}
%endif
%if %{with bundled_zstd}
Provides: bundled(zstd) = %{zstd_bundled_version}
%endif
%if %{with bundled_fido2}
Provides: bundled(fido2) = %{fido2_bundled_version}
%endif
%if %{with mysql_names}
Provides: mysql = %{sameevr}
@ -516,27 +509,25 @@ the MySQL sources.
%prep
%setup -q -n mysql-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch51 -p1
%patch52 -p1
%patch56 -p1
%patch75 -p1
%patch80 -p1
%patch53 -p1
%patch54 -p1
%patch126 -p1
# Patch Boost
pushd boost/boost_$(echo %{boost_bundled_version}| tr . _)
%patch115 -p0
%patch125 -p1
%patch111 -p0
%patch112 -p1
%patch113 -p2
popd
# check that we have correct versions in bundled(*) Provides above (boost checked with pushd above)
# Let's check the version in Provides even if we build without bundled, to keep SPEC valid generally
test "$(grep -e '^#define ZSTD_VERSION_\(MAJOR\|MINOR\|RELEASE\)' extra/zstd/lib/zstd.h | awk '{print $3}' | xargs | sed -e 's/ /./g')" == "%{zstd_bundled_version}"
test "$(grep -e '^#define U_ICU_VERSION_\(MAJOR\|MINOR\|PATCHLEVEL_NUM\)' extra/icu/source/common/unicode/uvernum.h| awk '{print $3}' | xargs | sed -e 's/ /./g')" == "%{icu_bundled_version}"
test "$(grep -e '^#define ZSTD_VERSION_\(MAJOR\|MINOR\|RELEASE\)' extra/zstd/zstd-$(echo %{zstd_bundled_version})/lib/zstd.h | awk '{print $3}' | xargs | sed -e 's/ /./g')" == "%{zstd_bundled_version}"
test "$(grep -e 'The current release of \*libfido2\* is' extra/libfido2/libfido2-*/README.adoc | awk '{print $7}' | sed 's/.$//')" == "%{fido2_bundled_version}"
test -f extra/protobuf/protobuf-%{protobuf_bundled_version}/src/google/protobuf/port_def.inc
test -f extra/libevent/libevent-%{libevent_bundled_version}-stable/CMakeLists.txt
@ -638,14 +629,15 @@ cmake .. \
%endif
-DWITH_ROUTER=OFF \
-DWITH_SYSTEM_LIBS=ON \
%if %{with bundled_icu}
-DWITH_ICU=bundled \
%endif
-DWITH_ICU=system \
%if %{with bundled_protobuf}
-DWITH_PROTOBUF=bundled \
%endif
-DWITH_MECAB=system \
-DWITH_BOOST=../boost \
%if %{with bundled_fido2}
-DWITH_FIDO="bundled" \
%endif
%if %{with bundled_zstd}
-DWITH_ZSTD="bundled" \
%endif
@ -662,6 +654,8 @@ cmake .. \
-DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \
-DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \
-DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" \
-DCMAKE_C_COMPILER="%{_bindir}/gcc" \
-DCMAKE_CXX_COMPILER="%{_bindir}/g++" \
-DWITH_UNIT_TESTS=0
# Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698
@ -898,7 +892,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 ))
set -ex
cd %{buildroot}%{_datadir}/mysql-test
export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir "
export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir --mysqld=--skip-innodb-use-native-aio "
# 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 ]]
@ -1211,6 +1205,21 @@ fi
%endif
%changelog
* Wed Jul 06 2022 Lars Tangvald <lars.tangvald@oracle.com> - 8.0.30-1
- Update to MySQL 8.0.30
- Remove patches now upstream:
chain certs, s390 and robin hood
- Add a new plugin 'conflicting_variables.so'
* Wed Apr 20 2022 Lars Tangvald <lars.tangvald@oracle.com> - 8.0.29-1
- Update to MySQL 8.0.29
* Wed Jan 19 2022 Lars Tangvald <lars.tangvald@oracle.com> - 8.0.28-1
- Update to MySQL 8.0.28
* Sun Oct 31 2021 Lars Tangvald <lars.tangvald@oracle.com> - 8.0.27-1
- Update to MySQL 8.0.27
* Wed Jul 21 2021 Lars Tangvald <lars.tangvald@oracle.com> - 8.0.26-1
- Update to MySQL 8.0.26