update to 5.7.44

(cherry picked from commit 7161e3c5a425c8fd2077dcb21835fd39aa499051)
This commit is contained in:
dillon_chen 2024-03-26 17:50:13 +08:00 committed by openeuler-sync-bot
parent 97ae819b6a
commit 845db83322
4 changed files with 184 additions and 1 deletions

8
disable-main.func_math.patch Executable file
View 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

31
mysql5.spec Normal file → Executable file
View File

@ -38,7 +38,7 @@
%bcond_without conflicts
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
Name: mysql5
Version: 5.7.39
Version: 5.7.44
Release: 1
Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com
@ -75,6 +75,8 @@ 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
@ -250,6 +252,8 @@ the MySQL sources.
%patch74 -p1
%patch75 -p1
%patch76 -p1
%patch182 -p1
%patch183 -p1
pushd boost/boost_1_59_0
%patch115 -p0
%patch125 -p1
@ -267,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
@ -295,6 +300,13 @@ 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
@ -701,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
@ -728,6 +741,22 @@ fi
%endif
%changelog
* 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

View 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';