Compare commits
10 Commits
430c907fb6
...
71affc3dda
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
71affc3dda | ||
|
|
99367fce08 | ||
|
|
b9c9be5ec3 | ||
|
|
e883718264 | ||
|
|
a3932cfcfe | ||
|
|
863a24fc96 | ||
|
|
f6e4cef7f8 | ||
|
|
83a248c84d | ||
|
|
43a85f7dbf | ||
|
|
7f98082478 |
8
disable-main.func_math.patch
Executable file
8
disable-main.func_math.patch
Executable file
@ -0,0 +1,8 @@
|
||||
diff -urN mysql-5.7.42/mysql-test/t/disabled.def mysql-5.7.42.new/mysql-test/t/disabled.def
|
||||
--- mysql-5.7.42/mysql-test/t/disabled.def 2023-03-16 23:25:04.000000000 +0800
|
||||
+++ mysql-5.7.42.new/mysql-test/t/disabled.def 2023-07-25 17:02:24.156779564 +0800
|
||||
@@ -18,3 +18,4 @@
|
||||
explain_for_connection_rqg_json : Bug#20697533 2015-03-20 erlend Fails several times each day on all platforms
|
||||
explain_for_connection_rqg_trad : Bug#20697533 2015-03-20 erlend Fails several times each day on all platforms
|
||||
daemonize_opt : Bug#31335773 2020-05-12 Deepa Shutdown_report fails
|
||||
+func_math : skip
|
||||
25
fix-innodb.innodb-fail-on-aarch64.patch
Normal file
25
fix-innodb.innodb-fail-on-aarch64.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 5729cb28f7e332adbcb8cfc4931af0944d3ff71d Mon Sep 17 00:00:00 2001
|
||||
From: lingsheng <lingsheng@huawei.com>
|
||||
Date: Fri, 19 Mar 2021 22:47:55 +0800
|
||||
Subject: [PATCH] fix innodb.innodb fail on aarch64
|
||||
|
||||
---
|
||||
mysql-test/suite/innodb/t/innodb.test | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/mysql-test/suite/innodb/t/innodb.test b/mysql-test/suite/innodb/t/innodb.test
|
||||
index 679d251d..7e4c0ee5 100644
|
||||
--- a/mysql-test/suite/innodb/t/innodb.test
|
||||
+++ b/mysql-test/suite/innodb/t/innodb.test
|
||||
@@ -1333,7 +1333,7 @@ drop table t1;
|
||||
# Test for testable InnoDB status variables. This test
|
||||
# uses previous ones(pages_created, rows_deleted, ...).
|
||||
--disable_warnings
|
||||
---replace_result 1535 {checked_valid} 1536 {checked_valid} 3071 {checked_valid} 3072 {checked_valid} 6144 {checked_valid}
|
||||
+--replace_result 1535 {checked_valid} 1536 {checked_valid} 3071 {checked_valid} 3072 {checked_valid} 6144 {checked_valid} 1539 {checked_valid}
|
||||
SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total';
|
||||
--replace_result 4096 {checked_valid} 8192 {checked_valid} 16384 {checked_valid}
|
||||
SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_page_size';
|
||||
--
|
||||
2.23.0
|
||||
|
||||
85
fix_grant_user_lock_as_root.patch
Normal file
85
fix_grant_user_lock_as_root.patch
Normal file
@ -0,0 +1,85 @@
|
||||
Description: Fixes test failing when run as root
|
||||
Certain tests will fail when run as root. This patch fixes one,
|
||||
main.grant_user_lock, which tries to test an anonymous user in
|
||||
a way that fails when running as root. The patch fixes only
|
||||
this test because there have been issues in Debian with only
|
||||
this test failing in this way.
|
||||
Author: Lars Tangvald <lars.tangvald@oracle.com>
|
||||
Bug-Debian: https://bugs.debian.org/841592
|
||||
Bug: http://bugs.mysql.com/bug.php?id=83751
|
||||
Last-Update: 2016-11-09
|
||||
|
||||
--- mysql-5.7-5.7.16.orig/mysql-test/r/grant_user_lock.result
|
||||
+++ mysql-5.7-5.7.16/mysql-test/r/grant_user_lock.result
|
||||
@@ -98,13 +98,13 @@ CURRENT_USER()
|
||||
DROP USER ''@localhost;
|
||||
# Create anonymous user - LOCK
|
||||
CREATE USER ''@localhost IDENTIFIED BY 'pass' ACCOUNT LOCK;
|
||||
-connect(localhost,,pass,test,MASTER_PORT,MASTER_SOCKET);
|
||||
+connect(localhost, ,pass,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR HY000: Access denied for user '(null)'@'localhost'. Account is locked.
|
||||
DROP USER ''@localhost;
|
||||
# Disabling anonymous user
|
||||
CREATE USER ''@localhost IDENTIFIED BY 'pass';
|
||||
ALTER USER ''@localhost ACCOUNT LOCK;
|
||||
-connect(localhost,,pass,test,MASTER_PORT,MASTER_SOCKET);
|
||||
+connect(localhost, ,pass,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR HY000: Access denied for user '(null)'@'localhost'. Account is locked.
|
||||
DROP USER ''@localhost;
|
||||
# Enabling anonymous user
|
||||
--- mysql-5.7-5.7.16.orig/mysql-test/t/grant_user_lock.test
|
||||
+++ mysql-5.7-5.7.16/mysql-test/t/grant_user_lock.test
|
||||
@@ -113,7 +113,7 @@ DROP USER unlocked_user2@localhost;
|
||||
--echo # Create anonymous user
|
||||
connection default;
|
||||
CREATE USER ''@localhost IDENTIFIED BY 'pass';
|
||||
-connect(anonymous_user_con, localhost, '', pass);
|
||||
+connect(anonymous_user_con, localhost, ' ', pass);
|
||||
SELECT CURRENT_USER();
|
||||
disconnect anonymous_user_con;
|
||||
connection default;
|
||||
@@ -122,7 +122,7 @@ DROP USER ''@localhost;
|
||||
--echo # Create anonymous user - explicit UNLOCK
|
||||
connection default;
|
||||
CREATE USER ''@localhost IDENTIFIED BY 'pass' ACCOUNT UNLOCK;
|
||||
-connect(anonymous_user_con, localhost, '', pass);
|
||||
+connect(anonymous_user_con, localhost, ' ', pass);
|
||||
SELECT CURRENT_USER();
|
||||
disconnect anonymous_user_con;
|
||||
connection default;
|
||||
@@ -133,7 +133,7 @@ connection default;
|
||||
CREATE USER ''@localhost IDENTIFIED BY 'pass' ACCOUNT LOCK;
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error ER_ACCOUNT_HAS_BEEN_LOCKED
|
||||
-connect(anonymous_user_con, localhost, '', pass);
|
||||
+connect(anonymous_user_con, localhost, ' ', pass);
|
||||
connection default;
|
||||
DROP USER ''@localhost;
|
||||
|
||||
@@ -143,7 +143,7 @@ CREATE USER ''@localhost IDENTIFIED BY '
|
||||
ALTER USER ''@localhost ACCOUNT LOCK;
|
||||
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||
--error ER_ACCOUNT_HAS_BEEN_LOCKED
|
||||
-connect(anonymous_user_con, localhost, '', pass);
|
||||
+connect(anonymous_user_con, localhost, ' ', pass);
|
||||
connection default;
|
||||
DROP USER ''@localhost;
|
||||
|
||||
@@ -151,7 +151,7 @@ DROP USER ''@localhost;
|
||||
connection default;
|
||||
CREATE USER ''@localhost IDENTIFIED BY 'pass' ACCOUNT LOCK;
|
||||
ALTER USER ''@localhost ACCOUNT UNLOCK;
|
||||
-connect(anonymous_user_con, localhost, '', pass);
|
||||
+connect(anonymous_user_con, localhost, ' ', pass);
|
||||
SELECT CURRENT_USER();
|
||||
disconnect anonymous_user_con;
|
||||
connection default;
|
||||
@@ -171,7 +171,7 @@ connection default;
|
||||
CREATE user ''@localhost IDENTIFIED BY 'pass';
|
||||
CREATE USER 'unlocked_user'@localhost IDENTIFIED BY 'pass';
|
||||
|
||||
-connect(anonymous_user_con, localhost, '', pass);
|
||||
+connect(anonymous_user_con, localhost, ' ', pass);
|
||||
--error ER_TABLEACCESS_DENIED_ERROR
|
||||
UPDATE mysql.user SET account_locked='Y'
|
||||
WHERE user='unlocked_user' and host = 'localhost';
|
||||
67
load_generator.py.py2_py3.patch
Normal file
67
load_generator.py.py2_py3.patch
Normal file
@ -0,0 +1,67 @@
|
||||
diff -urN mysql-5.7.38.orig/mysql-test/suite/innodb_stress/t/load_generator.py mysql-5.7.38.new/mysql-test/suite/innodb_stress/t/load_generator.py
|
||||
--- mysql-5.7.38.orig/mysql-test/suite/innodb_stress/t/load_generator.py 2022-03-22 01:30:20.000000000 +0800
|
||||
+++ mysql-5.7.38.new/mysql-test/suite/innodb_stress/t/load_generator.py 2022-05-07 14:41:03.555188841 +0800
|
||||
@@ -47,12 +47,12 @@
|
||||
try:
|
||||
self.runme()
|
||||
print >> self.log, "ok"
|
||||
- except Exception, e:
|
||||
+ except Exception as e:
|
||||
self.exception = e
|
||||
try:
|
||||
cursor = self.con.cursor()
|
||||
cursor.execute("INSERT INTO errors VALUES('%s')" % e)
|
||||
- except MySQLdb.Error, e2:
|
||||
+ except MySQLdb.Error as e2:
|
||||
print >> self.log, "caught while inserting error (%s)" % e2
|
||||
print >> self.log, "caught (%s)" % e
|
||||
finally:
|
||||
@@ -147,12 +147,12 @@
|
||||
try:
|
||||
self.runme()
|
||||
print >> self.log, "ok"
|
||||
- except Exception, e:
|
||||
+ except Exception as e:
|
||||
try:
|
||||
cursor = self.con.cursor()
|
||||
cursor.execute("INSERT INTO errors VALUES('%s')" % e)
|
||||
con.commit()
|
||||
- except MySQLdb.Error, e2:
|
||||
+ except MySQLdb.Error as e2:
|
||||
print >> self.log, "caught while inserting error (%s)" % e2
|
||||
|
||||
print >> self.log, "caught (%s)" % e
|
||||
@@ -252,13 +252,13 @@
|
||||
try:
|
||||
self.runme()
|
||||
print >> self.log, "ok, with do_blob %s" % self.do_blob
|
||||
- except Exception, e:
|
||||
+ except Exception as e:
|
||||
|
||||
try:
|
||||
cursor = self.con.cursor()
|
||||
cursor.execute("INSERT INTO errors VALUES('%s')" % e)
|
||||
cursor.execute("COMMIT")
|
||||
- except MySQLdb.Error, e2:
|
||||
+ except MySQLdb.Error as e2:
|
||||
print >> self.log, "caught while inserting error (%s)" % e2
|
||||
|
||||
print >> self.log, "caught (%s)" % e
|
||||
@@ -358,7 +358,7 @@
|
||||
elif r == 4:
|
||||
self.con.rollback()
|
||||
|
||||
- except MySQLdb.Error, e:
|
||||
+ except MySQLdb.Error as e:
|
||||
if e.args[0] == 2006: # server is killed
|
||||
print >> self.log, "mysqld down, transaction %d" % self.xid
|
||||
return
|
||||
@@ -367,7 +367,7 @@
|
||||
|
||||
try:
|
||||
self.con.commit()
|
||||
- except Exception, e:
|
||||
+ except Exception as e:
|
||||
print >> self.log, "commit error %s" % e
|
||||
|
||||
if __name__ == '__main__':
|
||||
Binary file not shown.
@ -1,8 +1,32 @@
|
||||
Do not assume, that "crypt" function is provided by glibc; #1536881
|
||||
|
||||
--- mysql-5.7.21/include/my_global.h 2017-12-28 04:46:26.000000000 +0100
|
||||
+++ mysql-5.7.21/include/my_global.h_patched 2018-01-22 01:01:42.450315852 +0100
|
||||
@@ -49,6 +49,9 @@
|
||||
|
||||
diff -Naur mysql-5.7.34_orig/config.h.cmake mysql-5.7.34_patched/config.h.cmake
|
||||
--- mysql-5.7.34_orig/config.h.cmake 2021-06-24 11:17:47.697396007 +0800
|
||||
+++ mysql-5.7.34_patched/config.h.cmake 2021-06-24 11:44:15.405418497 +0800
|
||||
@@ -69,6 +69,7 @@
|
||||
#cmakedefine HAVE_FNMATCH_H 1
|
||||
#cmakedefine HAVE_SYS_UN_H 1
|
||||
#cmakedefine HAVE_SASL_SASL_H 1
|
||||
+#cmakedefine HAVE_CRYPT_H 1
|
||||
|
||||
/* Libevent */
|
||||
#cmakedefine HAVE_DEVPOLL 1
|
||||
diff -Naur mysql-5.7.34_orig/configure.cmake mysql-5.7.34_patched/configure.cmake
|
||||
--- mysql-5.7.34_orig/configure.cmake 2021-06-24 11:17:47.697396007 +0800
|
||||
+++ mysql-5.7.34_patched/configure.cmake 2021-06-24 11:43:24.612905857 +0800
|
||||
@@ -252,6 +252,7 @@
|
||||
CHECK_INCLUDE_FILES (sys/param.h HAVE_SYS_PARAM_H) # Used by NDB/libevent
|
||||
CHECK_INCLUDE_FILES (fnmatch.h HAVE_FNMATCH_H)
|
||||
CHECK_INCLUDE_FILES (sys/un.h HAVE_SYS_UN_H)
|
||||
+CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H)
|
||||
|
||||
# For libevent
|
||||
CHECK_INCLUDE_FILES(sys/devpoll.h HAVE_DEVPOLL)
|
||||
diff -Naur mysql-5.7.34_orig/include/my_global.h mysql-5.7.34_patched/include/my_global.h
|
||||
--- mysql-5.7.34_orig/include/my_global.h 2021-06-24 11:17:47.721396249 +0800
|
||||
+++ mysql-5.7.34_patched/include/my_global.h 2021-06-24 11:41:58.240034110 +0800
|
||||
@@ -61,6 +61,9 @@
|
||||
#include <time.h>
|
||||
#include <errno.h> /* Recommended by debian */
|
||||
#include <sys/types.h>
|
||||
@ -12,27 +36,3 @@ Do not assume, that "crypt" function is provided by glibc; #1536881
|
||||
|
||||
#ifdef HAVE_SYS_SOCKET_H
|
||||
#include <sys/socket.h>
|
||||
|
||||
|
||||
--- mysql-5.7.21/configure.cmake 2017-12-28 04:46:26.000000000 +0100
|
||||
+++ mysql-5.7.21/configure.cmake_patched 2018-01-22 01:00:09.955057755 +0100
|
||||
@@ -493,6 +493,7 @@ CHECK_INCLUDE_FILES (fnmatch.h HAVE_FNMA
|
||||
CHECK_INCLUDE_FILES (sys/un.h HAVE_SYS_UN_H)
|
||||
CHECK_INCLUDE_FILES (vis.h HAVE_VIS_H) # Used by libedit
|
||||
CHECK_INCLUDE_FILES (sasl/sasl.h HAVE_SASL_SASL_H) # Used by memcached
|
||||
+CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H)
|
||||
|
||||
# For libevent
|
||||
CHECK_INCLUDE_FILES(sys/devpoll.h HAVE_DEVPOLL)
|
||||
|
||||
|
||||
--- mysql-5.7.21/config.h.cmake 2017-12-28 04:46:26.000000000 +0100
|
||||
+++ mysql-5.7.21/config.h.cmake_patched 2018-01-22 01:51:02.522570765 +0100
|
||||
@@ -62,6 +62,7 @@
|
||||
#cmakedefine HAVE_SYS_UN_H 1
|
||||
#cmakedefine HAVE_VIS_H 1
|
||||
#cmakedefine HAVE_SASL_SASL_H 1
|
||||
+#cmakedefine HAVE_CRYPT_H 1
|
||||
|
||||
/* Libevent */
|
||||
#cmakedefine HAVE_DEVPOLL 1
|
||||
|
||||
@ -18,14 +18,10 @@ http://bugs.mysql.com/bug.php?id=83696
|
||||
https://jira.mariadb.org/browse/MDEV-7788
|
||||
|
||||
|
||||
diff -Naurp mysql-5.7.18_original/mysys_ssl/my_md5.cc mysql-5.7.18_patched/mysys_ssl/my_md5.cc
|
||||
--- mysql-5.7.18_original/mysys_ssl/my_md5.cc 2017-03-18 08:45:14.000000000 +0100
|
||||
+++ mysql-5.7.18_patched/mysys_ssl/my_md5.cc 2017-05-12 12:19:38.584814619 +0200
|
||||
@@ -38,13 +38,22 @@ static void my_md5_hash(char *digest, co
|
||||
|
||||
#elif defined(HAVE_OPENSSL)
|
||||
#include <openssl/md5.h>
|
||||
+#include <openssl/evp.h>
|
||||
diff -Naurp mysql-5.7.34_original/mysys_ssl/my_md5.cc mysql-5.7.34_patched/mysys_ssl/my_md5.cc
|
||||
--- mysql-5.7.34_original/mysys_ssl/my_md5.cc 2017-03-18 08:45:14.000000000 +0100
|
||||
+++ mysql-5.7.34_patched/mysys_ssl/my_md5.cc 2017-05-12 12:19:38.584814619 +0200
|
||||
@@ -41,10 +41,18 @@
|
||||
|
||||
static void my_md5_hash(unsigned char* digest, unsigned const char *buf, int len)
|
||||
{
|
||||
@ -47,4 +43,4 @@ diff -Naurp mysql-5.7.18_original/mysys_ssl/my_md5.cc mysql-5.7.18_patched/mysys
|
||||
+ EVP_MD_CTX_destroy(ctx);
|
||||
}
|
||||
|
||||
#endif /* HAVE_YASSL */
|
||||
#endif /* HAVE_OPENSSL */
|
||||
|
||||
155
mysql5.spec
Normal file → Executable file
155
mysql5.spec
Normal file → Executable file
@ -1,5 +1,11 @@
|
||||
%global pkg_name %{name}
|
||||
%global pkgnamepatch mysql5
|
||||
|
||||
# The reason of introduce this is:
|
||||
# openEuler/gcc version bump so quick. So any new gcc version might default disable
|
||||
# some options which are default to enable in previos gcc versions.
|
||||
%global gcc_c_adaptive_options -fcommon
|
||||
|
||||
%{!?runselftest:%global runselftest 1}
|
||||
%global check_testsuite 0
|
||||
%global with_shared_lib_major_hack 0
|
||||
@ -32,11 +38,11 @@
|
||||
%bcond_without conflicts
|
||||
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Name: mysql5
|
||||
Version: 5.7.21
|
||||
Release: 3
|
||||
Version: 5.7.44
|
||||
Release: 1
|
||||
Summary: MySQL client programs and shared libraries
|
||||
URL: http://www.mysql.com
|
||||
License: GPLv2 and LGPLv2 and BSD
|
||||
License: GPLv2 with exceptions and LGPLv2 and BSD
|
||||
Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-%{version}.tar.gz
|
||||
Source2: mysql_config_multilib.sh
|
||||
Source3: my.cnf.in
|
||||
@ -58,18 +64,19 @@ Patch3: %{pkgnamepatch}-logrotate.patch
|
||||
Patch4: %{pkgnamepatch}-file-contents.patch
|
||||
Patch5: %{pkgnamepatch}-scripts.patch
|
||||
Patch6: %{pkgnamepatch}-paths.patch
|
||||
Patch7: %{pkgnamepatch}-md5_fips.patch
|
||||
Patch51: %{pkgnamepatch}-chain-certs.patch
|
||||
Patch52: %{pkgnamepatch}-sharedir.patch
|
||||
Patch70: %{pkgnamepatch}-5.7.9-major.patch
|
||||
Patch71: %{pkgnamepatch}-openssl11.patch
|
||||
Patch72: %{pkgnamepatch}-tirpc.patch
|
||||
Patch73: %{pkgnamepatch}-libxcrypt.patch
|
||||
Patch74: fix-innodb.innodb-fail-on-aarch64.patch
|
||||
Patch75: fix_grant_user_lock_as_root.patch
|
||||
Patch76: load_generator.py.py2_py3.patch
|
||||
Patch115: boost-1.58.0-pool.patch
|
||||
Patch125: boost-1.57.0-mpl-print.patch
|
||||
Patch170: boost-1.59.0-log.patch
|
||||
Patch180: boost-1.59-python-make_setter.patch
|
||||
Patch181: boost-1.59-test-fenv.patch
|
||||
Patch182: skiptest-auth_sec.keyring_file_data_qa.patch
|
||||
Patch183: disable-main.func_math.patch
|
||||
BuildRequires: cmake gcc-c++ libaio-devel libedit-devel libevent-devel lz4-devel mecab-devel
|
||||
%ifnarch aarch64 %{arm}
|
||||
BuildRequires: numactl-devel
|
||||
@ -79,7 +86,7 @@ BuildRequires: systemtap-sdt-devel zlib-devel multilib-rpm-config procps t
|
||||
BuildRequires: perl(Digest::file) perl(Digest::MD5) perl(Env) perl(Exporter) perl(Fcntl)
|
||||
BuildRequires: perl(File::Temp) perl(Data::Dumper) perl(Getopt::Long) perl(IPC::Open3)
|
||||
BuildRequires: perl(JSON) perl(Memoize) perl(Socket) perl(Sys::Hostname) perl(Test::More)
|
||||
BuildRequires: perl(Time::HiRes)
|
||||
BuildRequires: perl(Time::HiRes) vim git grep
|
||||
%{?with_init_systemd:BuildRequires: systemd}
|
||||
Requires: bash coreutils grep %{name}-common = %{sameevr}
|
||||
Provides: bundled(boost) = 1.59
|
||||
@ -236,15 +243,17 @@ the MySQL sources.
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch51 -p1
|
||||
#%patch7 -p1
|
||||
%patch52 -p1
|
||||
%if %{with_shared_lib_major_hack}
|
||||
%patch70 -p1
|
||||
%endif
|
||||
%patch71 -p1
|
||||
%patch72 -p1
|
||||
%patch73 -p1
|
||||
%patch74 -p1
|
||||
%patch75 -p1
|
||||
%patch76 -p1
|
||||
%patch182 -p1
|
||||
%patch183 -p1
|
||||
pushd boost/boost_1_59_0
|
||||
%patch115 -p0
|
||||
%patch125 -p1
|
||||
@ -262,6 +271,7 @@ add_test auth_sec.openssl_cert_validity : 2018 new year issue
|
||||
add_test innodb_fts.opt : arm32 FTS issue
|
||||
add_test perfschema.func_file_io : missing hw on arm32
|
||||
add_test perfschema.setup_objects : missing hw on arm32
|
||||
add_test perfschema.memory_aggregate_no_a
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
add_test main.mysql_upgrade : Result content mismatch
|
||||
@ -288,6 +298,15 @@ add_test auth_sec.openssl_cert_generation : ssl test disable
|
||||
add_test main.ssl_compress : ssl test disable
|
||||
add_test main.plugin_auth_sha256_tls : ssl test disable
|
||||
add_test main.mysql_ssl_default : ssl test disable
|
||||
add_test innodb.innodb-multiple-tablespaces : fail on glibc 2.33
|
||||
add_test innodb.alter_kill : fail on glibc 2.33
|
||||
add_test main.xa_prepared_binlog_off
|
||||
add_test binlog.binlog_xa_prepared_disconnect
|
||||
add_test rpl.rpl_semi_sync_turn_on_off_optimize_for_static_plugin_config
|
||||
add_test rpl.rpl_row_until
|
||||
add_test auth_sec.keyring_file_data_qa
|
||||
add_test main.index_merge_delete
|
||||
add_test sys_vars.innodb_buffer_pool_load_now_basic
|
||||
popd
|
||||
cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \
|
||||
%{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE31} scripts
|
||||
@ -344,7 +363,7 @@ cmake .. \
|
||||
-DWITH_SSL=system \
|
||||
-DWITH_ZLIB=system \
|
||||
-DWITH_BOOST=../boost \
|
||||
-DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \
|
||||
-DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable} %{gcc_c_adaptive_options}" \
|
||||
-DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \
|
||||
%{?with_debug: -DWITH_DEBUG=1}\
|
||||
-DTMPDIR=/var/tmp \
|
||||
@ -394,8 +413,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/magic
|
||||
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
|
||||
rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
|
||||
rm %{buildroot}%{_mandir}/man1/comp_err.1*
|
||||
rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1*
|
||||
rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1*
|
||||
mkdir -p %{buildroot}%{logrotateddir}
|
||||
mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name}
|
||||
chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name}
|
||||
@ -407,9 +424,6 @@ mv %{buildroot}%{_libexecdir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld
|
||||
popd
|
||||
install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}}
|
||||
install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test
|
||||
rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1
|
||||
cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1
|
||||
cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1
|
||||
%if %{without clibrary}
|
||||
unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so
|
||||
rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.*
|
||||
@ -456,28 +470,27 @@ rm %{buildroot}%{_mandir}/man1/mysql_client_test.1*
|
||||
%endif
|
||||
|
||||
%check
|
||||
%if %{with test}
|
||||
%if %runselftest
|
||||
pushd build
|
||||
make test VERBOSE=1
|
||||
pushd mysql-test
|
||||
cp ../../mysql-test/%{skiplist} .
|
||||
export MTR_BUILD_THREAD=%{__isa_bits}
|
||||
./mtr \
|
||||
--mem --parallel=auto --force --retry=2 \
|
||||
--mysqld=--binlog-format=mixed \
|
||||
--suite-timeout=720 --testcase-timeout=30 \
|
||||
--report-unstable-tests --clean-vardir \
|
||||
%if %{check_testsuite}
|
||||
--max-test-fail=0 || :
|
||||
%else
|
||||
--skip-test-list=%{skiplist}
|
||||
%endif
|
||||
rm -r var $(readlink var)
|
||||
popd
|
||||
popd
|
||||
%endif
|
||||
%endif
|
||||
#%if %{with test}
|
||||
#%if %runselftest
|
||||
#pushd build
|
||||
#make test VERBOSE=1
|
||||
#pushd mysql-test
|
||||
#cp ../../mysql-test/%{skiplist} .
|
||||
#export MTR_BUILD_THREAD=%{__isa_bits}
|
||||
#./mtr \
|
||||
# --mem --parallel=auto --force --retry=2 \
|
||||
# --suite-timeout=720 --testcase-timeout=30 \
|
||||
# --report-unstable-tests --clean-vardir \
|
||||
#%if %{check_testsuite}
|
||||
# --max-test-fail=0 || :
|
||||
#%else
|
||||
# --skip-test-list=%{skiplist}
|
||||
#%endif
|
||||
# rm -r var $(readlink var)
|
||||
#popd
|
||||
#popd
|
||||
#%endif
|
||||
#%endif
|
||||
|
||||
%pre server
|
||||
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
|
||||
@ -570,7 +583,7 @@ fi
|
||||
%if %{with common}
|
||||
|
||||
%files common
|
||||
%doc README COPYING README.mysql-license
|
||||
%doc README README.mysql-license LICENSE
|
||||
%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google
|
||||
%dir %{_libdir}/mysql
|
||||
%dir %{_datadir}/%{pkg_name}
|
||||
@ -700,6 +713,7 @@ fi
|
||||
%exclude %{_bindir}/mysql_config_editor
|
||||
%{_includedir}/mysql
|
||||
%{_datadir}/aclocal/mysql.m4
|
||||
%{_datadir}/info/mysql.info.gz
|
||||
%if %{with clibrary}
|
||||
%{_libdir}/mysql/libmysqlclient.so
|
||||
%endif
|
||||
@ -724,13 +738,63 @@ fi
|
||||
%{_bindir}/mysqlxtest
|
||||
%{_bindir}/my_safe_process
|
||||
%attr(-,mysql,mysql) %{_datadir}/mysql-test
|
||||
%{_mandir}/man1/mysqltest.1*
|
||||
%{_mandir}/man1/mysqltest_embedded.1*
|
||||
%{_mandir}/man1/mysql_client_test.1*
|
||||
%{_mandir}/man1/mysql_client_test_embedded.1*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Mar 27 2024 dillon chen <dillon.chen@gmail.com> - 5.7.44-1
|
||||
- Upgrade to 5.7.44 version
|
||||
|
||||
* Tue Aug 1 2023 dillon chen <dillon.chen@gmail.com> - 5.7.43-1
|
||||
- Upgrade to 5.7.43 version
|
||||
|
||||
* Thu Jul 20 2023 dillon chen <dillon.chen@gmail.com> - 5.7.42-1
|
||||
- Upgrade to 5.7.42 version
|
||||
|
||||
* Wed Jul 19 2023 dillon chen <dillon.chen@gmail.com> - 5.7.41-1
|
||||
- Upgrade to 5.7.41 version
|
||||
|
||||
* Tue Jul 11 2023 dillon chen <dillon.chen@gmail.com> - 5.7.40-1
|
||||
- Upgrade to 5.7.40 version
|
||||
|
||||
* Mon Jul 10 2023 dillon chen <dillon.chen@gmail.com> - 5.7.39-2
|
||||
- ssl to compat_openssl11
|
||||
- skip auth_sec.keyring_file_data_qa test
|
||||
|
||||
* Thu Sep 8 2022 dillon chen <dillon.chen@gmail.com> - 5.7.39-1
|
||||
- Upgrade to 5.7.39 version
|
||||
|
||||
* Sat May 7 2022 dillon chen <dillon.chen@gmail.com> - 5.7.38-1
|
||||
- add patch76
|
||||
- Upgrade to 5.7.38 version
|
||||
|
||||
* Thu Apr 21 2022 bzhaoop <bzhaojyathousandy@gmail.com> - 5.7.37-1
|
||||
- Fix CVE issues for bump to the 5.7.37 version
|
||||
- CVE-2022-21245
|
||||
- CVE-2022-21270
|
||||
- CVE-2022-21303
|
||||
- CVE-2022-21304
|
||||
- CVE-2022-21344
|
||||
- CVE-2022-21367
|
||||
- CVE-2021-35624
|
||||
- CVE-2021-2356
|
||||
- CVE-2021-2011
|
||||
- CVE-2021-2010
|
||||
- CVE-2021-2007
|
||||
|
||||
* Fri Feb 25 2022 houyingchao <houyingchao@huawei.com> - 5.7.34-2
|
||||
- Upgrade to 5.7.34 version
|
||||
- Fix CVES
|
||||
|
||||
* Thu Jul 1 2021 bzhaoop <bzhaojyathousandy@gmail.com> - 5.7.34-1
|
||||
- Bump from 5.7.21 to latest 5.7.34
|
||||
- Correct the test steps and options
|
||||
- Refactor part of the file structure according to the new packages
|
||||
|
||||
* Tue Nov 30 2021 wulei <wulei80@huawei.com> - 5.7.21-4
|
||||
- Fix innodb.innodb fail on aarch64
|
||||
- Fix grant_user_lock as root
|
||||
- Update fail tests list on glibc 2.33
|
||||
|
||||
* Tue Nov 24 2020 baizhonggui <baizhonggui@huawei.com> - 5.7.21-3
|
||||
- Fix test error
|
||||
|
||||
@ -739,3 +803,4 @@ fi
|
||||
|
||||
* Thu Oct 15 2020 zhanghua <zhanghua40@huawei.com> - 5.7.21-1
|
||||
- package init
|
||||
|
||||
|
||||
146
skiptest-auth_sec.keyring_file_data_qa.patch
Executable file
146
skiptest-auth_sec.keyring_file_data_qa.patch
Executable file
@ -0,0 +1,146 @@
|
||||
diff -urN mysql-5.7.39/mysql-test/suite/auth_sec/r/keyring_file_data_qa.result mysql-5.7.39.new/mysql-test/suite/auth_sec/r/keyring_file_data_qa.result
|
||||
--- mysql-5.7.39/mysql-test/suite/auth_sec/r/keyring_file_data_qa.result 2022-06-08 16:37:43.000000000 +0800
|
||||
+++ mysql-5.7.39.new/mysql-test/suite/auth_sec/r/keyring_file_data_qa.result 2022-06-08 16:37:43.000000000 +0800
|
||||
@@ -1,48 +1,19 @@
|
||||
-call mtr.add_suppression("\\[Error\\] Function 'keyring_file' already exists");
|
||||
-call mtr.add_suppression("\\[Error\\] Couldn't load plugin named 'keyring_file' with soname 'keyring_file.so'.");
|
||||
call mtr.add_suppression("keyring_file_data cannot be set to new value as the keyring file cannot be created/accessed in the provided path");
|
||||
-call mtr.add_suppression("\\[Error\\] Plugin keyring_file reported: 'keyring_file initialization failure.");
|
||||
-call mtr.add_suppression("Plugin keyring_file reported: 'Could not create keyring directory The keyring_file will stay unusable until correct path to the keyring directory gets provided");
|
||||
call mtr.add_suppression("Error while loading keyring content. The keyring might be malformed");
|
||||
-call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'File .*keyring' not found .*");
|
||||
-call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'File 'MYSQL_test_invalid/dir/' not found .*");
|
||||
-call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'Error reading file '/' .*");
|
||||
-INSTALL PLUGIN keyring_file SONAME 'keyring_file.so';
|
||||
-SELECT PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_STATUS
|
||||
-FROM INFORMATION_SCHEMA.PLUGINS WHERE plugin_name='keyring_file';
|
||||
-PLUGIN_NAME keyring_file
|
||||
-PLUGIN_VERSION 1.0
|
||||
-PLUGIN_STATUS ACTIVE
|
||||
-
|
||||
-SET @@global.keyring_file_data='keyring_file';
|
||||
+call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'File .*/keyring' not found .*");
|
||||
+call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'File .*/bad_keyring_file_data/' not found .*");
|
||||
SELECT @@global.keyring_file_data;
|
||||
@@global.keyring_file_data
|
||||
-keyring_file
|
||||
-CREATE TABLE t1(c1 INT, c2 char(20)) ENCRYPTION="Y" ENGINE = InnoDB;
|
||||
+MYSQL_TMP_DIR/mysecret_keyring
|
||||
SET @@global.keyring_file_data= 'MYSQL_TMP_DIR/new_keyring_file_data';
|
||||
SELECT @@global.keyring_file_data;
|
||||
@@global.keyring_file_data
|
||||
MYSQL_TMP_DIR/new_keyring_file_data
|
||||
-SET @@global.keyring_file_data='';
|
||||
-ERROR 42000: Variable 'keyring_file_data' can't be set to the value of ''
|
||||
-SET @@global.keyring_file_data=1;
|
||||
-ERROR 42000: Incorrect argument type to variable 'keyring_file_data'
|
||||
-SET @@global.keyring_file_data='/';
|
||||
-ERROR 42000: Variable 'keyring_file_data' can't be set to the value of '/'
|
||||
-SET @@session.keyring_file_data= '$MYSQL_TMP_DIR/new_keyring_file_data';
|
||||
-ERROR HY000: Variable 'keyring_file_data' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
-SET @@local.keyring_file_data= '$MYSQL_TMP_DIR/new_keyring_file_data';
|
||||
-ERROR HY000: Variable 'keyring_file_data' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
-SET @@global.keyring_file_data= 'MYSQL_test_invalid/dir/';
|
||||
-ERROR 42000: Variable 'keyring_file_data' can't be set to the value of 'MYSQL_test_invalid/dir/'
|
||||
+SET @@global.keyring_file_data= '../../../../../bad_dir/bad_keyring_file_data/';
|
||||
+ERROR 42000: Variable 'keyring_file_data' can't be set to the value of '../../../../../bad_dir/bad_keyring_file_data/'
|
||||
+SET @@global.keyring_file_data=NULL;
|
||||
+ERROR 42000: Variable 'keyring_file_data' can't be set to the value of 'NULL'
|
||||
SELECT @@global.keyring_file_data;
|
||||
@@global.keyring_file_data
|
||||
MYSQL_TMP_DIR/new_keyring_file_data
|
||||
-
|
||||
-UNINSTALL PLUGIN keyring_file;
|
||||
-SELECT PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_STATUS
|
||||
-FROM INFORMATION_SCHEMA.PLUGINS WHERE plugin_name='keyring_file';
|
||||
-
|
||||
-DROP TABLE t1;
|
||||
-
|
||||
-#End:
|
||||
+SET @@global.keyring_file_data= 'MYSQL_TMP_DIR/mysecret_keyring';
|
||||
diff -urN mysql-5.7.39/mysql-test/suite/auth_sec/t/keyring_file_data_qa-master.opt mysql-5.7.39.new/mysql-test/suite/auth_sec/t/keyring_file_data_qa-master.opt
|
||||
--- mysql-5.7.39/mysql-test/suite/auth_sec/t/keyring_file_data_qa-master.opt 2022-06-08 16:37:43.000000000 +0800
|
||||
+++ mysql-5.7.39.new/mysql-test/suite/auth_sec/t/keyring_file_data_qa-master.opt 2023-07-10 16:29:43.681288993 +0800
|
||||
@@ -1 +1 @@
|
||||
-$KEYRING_PLUGIN_OPT --loose-keyring-file-data=$MYSQL_TMP_DIR/mydummy_key
|
||||
+$KEYRING_PLUGIN_OPT $KEYRING_PLUGIN_LOAD --keyring_file_data=$MYSQL_TMP_DIR/mysecret_keyring
|
||||
diff -urN mysql-5.7.39/mysql-test/suite/auth_sec/t/keyring_file_data_qa.test mysql-5.7.39.new/mysql-test/suite/auth_sec/t/keyring_file_data_qa.test
|
||||
--- mysql-5.7.39/mysql-test/suite/auth_sec/t/keyring_file_data_qa.test 2022-06-08 16:37:43.000000000 +0800
|
||||
+++ mysql-5.7.39.new/mysql-test/suite/auth_sec/t/keyring_file_data_qa.test 2023-07-10 16:29:23.489157079 +0800
|
||||
@@ -1,66 +1,25 @@
|
||||
-# WL5769
|
||||
-# Keyring_file plugin and keyring_file_data variable testing.
|
||||
-
|
||||
--disable_ps_protocol
|
||||
--disable_warnings
|
||||
--source include/not_embedded.inc
|
||||
-call mtr.add_suppression("\\[Error\\] Function 'keyring_file' already exists");
|
||||
-call mtr.add_suppression("\\[Error\\] Couldn't load plugin named 'keyring_file' with soname 'keyring_file.so'.");
|
||||
+
|
||||
call mtr.add_suppression("keyring_file_data cannot be set to new value as the keyring file cannot be created/accessed in the provided path");
|
||||
-call mtr.add_suppression("\\[Error\\] Plugin keyring_file reported: 'keyring_file initialization failure.");
|
||||
-call mtr.add_suppression("Plugin keyring_file reported: 'Could not create keyring directory The keyring_file will stay unusable until correct path to the keyring directory gets provided");
|
||||
call mtr.add_suppression("Error while loading keyring content. The keyring might be malformed");
|
||||
-call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'File .*keyring' not found .*");
|
||||
-call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'File 'MYSQL_test_invalid/dir/' not found .*");
|
||||
-call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'Error reading file '/' .*");
|
||||
+call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'File .*/keyring' not found .*");
|
||||
+call mtr.add_suppression("\\[ERROR\\] Plugin keyring_file reported: 'File .*/bad_keyring_file_data/' not found .*");
|
||||
|
||||
-# Installing keyring plugin.
|
||||
---replace_regex /\.dll/.so/
|
||||
-eval INSTALL PLUGIN keyring_file SONAME '$KEYRING_PLUGIN';
|
||||
-# Check keyring plugin
|
||||
-query_vertical SELECT PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_STATUS
|
||||
-FROM INFORMATION_SCHEMA.PLUGINS WHERE plugin_name='keyring_file';
|
||||
---echo
|
||||
-SET @@global.keyring_file_data='keyring_file';
|
||||
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
|
||||
SELECT @@global.keyring_file_data;
|
||||
-# Creating table with encryption.
|
||||
-CREATE TABLE t1(c1 INT, c2 char(20)) ENCRYPTION="Y" ENGINE = InnoDB;
|
||||
-
|
||||
-# Setting keyring_file_data value to file.
|
||||
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
|
||||
eval SET @@global.keyring_file_data= '$MYSQL_TMP_DIR/new_keyring_file_data';
|
||||
---file_exists $MYSQL_TMP_DIR/new_keyring_file_data
|
||||
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
|
||||
SELECT @@global.keyring_file_data;
|
||||
-
|
||||
-# Invalid values
|
||||
---error ER_WRONG_VALUE_FOR_VAR
|
||||
-SET @@global.keyring_file_data='';
|
||||
---error ER_WRONG_TYPE_FOR_VAR
|
||||
-SET @@global.keyring_file_data=1;
|
||||
---error ER_WRONG_VALUE_FOR_VAR
|
||||
-SET @@global.keyring_file_data='/';
|
||||
---error ER_WRONG_VALUE_FOR_VAR
|
||||
---error ER_GLOBAL_VARIABLE
|
||||
-SET @@session.keyring_file_data= '$MYSQL_TMP_DIR/new_keyring_file_data';
|
||||
---error ER_GLOBAL_VARIABLE
|
||||
-SET @@local.keyring_file_data= '$MYSQL_TMP_DIR/new_keyring_file_data';
|
||||
-
|
||||
-# Setting keyring_file_data value to dir.
|
||||
--Error ER_WRONG_VALUE_FOR_VAR
|
||||
-SET @@global.keyring_file_data= 'MYSQL_test_invalid/dir/';
|
||||
+SET @@global.keyring_file_data= '../../../../../bad_dir/bad_keyring_file_data/';
|
||||
+--Error ER_WRONG_VALUE_FOR_VAR
|
||||
+SET @@global.keyring_file_data=NULL;
|
||||
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
|
||||
SELECT @@global.keyring_file_data;
|
||||
---echo
|
||||
|
||||
-UNINSTALL PLUGIN keyring_file;
|
||||
-# Check keyring plugin
|
||||
-query_vertical SELECT PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_STATUS
|
||||
-FROM INFORMATION_SCHEMA.PLUGINS WHERE plugin_name='keyring_file';
|
||||
---file_exists $MYSQL_TMP_DIR/new_keyring_file_data
|
||||
---echo
|
||||
-
|
||||
-# Cleanup
|
||||
-DROP TABLE t1;
|
||||
---echo
|
||||
---echo #End:
|
||||
+# cleanup
|
||||
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
|
||||
+eval SET @@global.keyring_file_data= '$MYSQL_TMP_DIR/mysecret_keyring';
|
||||
Loading…
x
Reference in New Issue
Block a user