From c19cb93d317031f20d6a3e3899d93d014a929a66 Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Sun, 17 Dec 2023 21:54:50 +0100 Subject: [PATCH] - MySQL 8.0 from PLD --- mysql-chain-certs.patch | 24 ---- mysql-opt.patch | 56 ++++++++- mysql-protobuf.patch | 12 -- mysql-readline.patch | 27 ++--- mysql-system-xxhash.patch | 168 ++++++++++++++++++++++++++ mysql.init | 4 +- mysql.spec | 247 ++++++++++++++++++++++++-------------- ssl-errors.patch | 45 ------- 8 files changed, 393 insertions(+), 190 deletions(-) delete mode 100644 mysql-chain-certs.patch delete mode 100644 mysql-protobuf.patch create mode 100644 mysql-system-xxhash.patch delete mode 100644 ssl-errors.patch diff --git a/mysql-chain-certs.patch b/mysql-chain-certs.patch deleted file mode 100644 index 7f18fe2..0000000 --- a/mysql-chain-certs.patch +++ /dev/null @@ -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 -Naur mysql-5.1.47.orig/vio/viosslfactories.c mysql-5.1.47/vio/viosslfactories.c ---- mysql-5.1.47.orig/vio/viosslfactories.c 2010-05-06 11:28:07.000000000 -0400 -+++ mysql-5.1.47/vio/viosslfactories.c 2010-05-26 23:23:46.000000000 -0400 -@@ -106,7 +106,7 @@ - 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)); diff --git a/mysql-opt.patch b/mysql-opt.patch index a6b9ec7..b48ce5d 100644 --- a/mysql-opt.patch +++ b/mysql-opt.patch @@ -1,11 +1,57 @@ ---- mysql-5.7.36/cmake/build_configurations/compiler_options.cmake~ 2021-09-07 07:26:47.000000000 +0200 -+++ mysql-5.7.36/cmake/build_configurations/compiler_options.cmake 2021-11-29 07:46:49.013266334 +0100 -@@ -73,7 +73,7 @@ IF(UNIX) +--- mysql-5.7.27/cmake/build_configurations/compiler_options.cmake.orig 2019-06-10 16:43:20.000000000 +0200 ++++ mysql-5.7.27/cmake/build_configurations/compiler_options.cmake 2019-07-29 05:55:55.892824445 +0200 +@@ -50,8 +50,8 @@ + IF(C_NO_EXPENSIVE_OPTIMIZATIONS) + SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -fno-expensive-optimizations") + ENDIF() +- SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") +- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") ++ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMMON_C_FLAGS}") ++ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${CMAKE_C_FLAGS_RELWITHDEBINFO} ${COMMON_C_FLAGS}") + ENDIF() + IF(CMAKE_COMPILER_IS_GNUCXX) + SET(COMMON_CXX_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing") +@@ -59,7 +59,7 @@ EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GXX_VERSION) IF(GXX_VERSION VERSION_EQUAL 6.0 OR GXX_VERSION VERSION_GREATER 6.0) -- STRING_PREPEND(COMMON_CXX_FLAGS "-std=gnu++03 ") -+ STRING_PREPEND(COMMON_CXX_FLAGS "-std=gnu++11 ") +- SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -std=gnu++03") ++ SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -std=gnu++11") ENDIF() # Disable inline optimizations for valgrind testing to avoid false positives IF(WITH_VALGRIND) +@@ -80,15 +80,15 @@ + IF(CXX_NO_EXPENSIVE_OPTIMIZATIONS) + SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -fno-expensive-optimizations") + ENDIF() +- SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") +- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") ++ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMMON_CXX_FLAGS}") ++ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMMON_CXX_FLAGS}") + ENDIF() + + # Default Clang flags + IF(CMAKE_C_COMPILER_ID MATCHES "Clang") + SET(COMMON_C_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing") +- SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") +- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") ++ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMMON_C_FLAGS}") ++ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${CMAKE_C_FLAGS_RELWITHDEBINFO} ${COMMON_C_FLAGS}") + ENDIF() + IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + SET(COMMON_CXX_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing") +@@ -95,11 +95,11 @@ + IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 6.0 OR + CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0) + IF(CMAKE_SYSTEM_NAME MATCHES "Linux") +- SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -std=gnu++03") ++ SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -std=gnu++11") + ENDIF() + ENDIF() +- SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") +- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") ++ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMMON_CXX_FLAGS}") ++ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMMON_CXX_FLAGS}") + ENDIF() + + # Solaris flags diff --git a/mysql-protobuf.patch b/mysql-protobuf.patch deleted file mode 100644 index cce64d4..0000000 --- a/mysql-protobuf.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- mysql-5.7.27/rapid/plugin/x/ngs/include/ngs_common/protocol_protobuf.h.orig 2019-06-10 16:43:20.000000000 +0200 -+++ mysql-5.7.27/rapid/plugin/x/ngs/include/ngs_common/protocol_protobuf.h 2019-07-29 19:19:29.421629353 +0200 -@@ -29,7 +29,9 @@ - #include - #include - #include -+#if GOOGLE_PROTOBUF_VERSION < 3008000 - #include -+#endif - #include - - #include "mysqlx_connection.pb.h" diff --git a/mysql-readline.patch b/mysql-readline.patch index ce82211..ca2af06 100644 --- a/mysql-readline.patch +++ b/mysql-readline.patch @@ -1,16 +1,15 @@ -diff -ruNp mysql-5.7.21.orig/client/mysql.cc mysql-5.7.21/client/mysql.cc ---- mysql-5.7.21.orig/client/mysql.cc 2017-12-28 04:46:26.000000000 +0100 -+++ mysql-5.7.21/client/mysql.cc 2018-03-31 21:37:27.879569060 +0200 -@@ -67,6 +67,7 @@ +--- mysql-8.0.20/client/mysql.cc~ 2020-05-12 19:39:17.000000000 +0200 ++++ mysql-8.0.20/client/mysql.cc 2020-05-12 19:49:31.903300850 +0200 +@@ -79,6 +79,7 @@ + #define LOG_USER 0 #else - #include #include +#include + #include + #define HAVE_READLINE - #define USE_POPEN - #endif -@@ -1126,22 +1127,6 @@ static const char *embedded_server_group - { "server", "embedded", "mysql_SERVER", 0 }; +@@ -1134,22 +1134,6 @@ static COMMANDS commands[] = { + static const char *load_default_groups[] = {"mysql", "client", nullptr}; #ifdef HAVE_READLINE -/* @@ -19,9 +18,9 @@ diff -ruNp mysql-5.7.21.orig/client/mysql.cc mysql-5.7.21/client/mysql.cc -*/ -#if !defined(HAVE_HIST_ENTRY) -typedef struct _hist_entry { -- const char *line; -- const char *data; --} HIST_ENTRY; +- const char *line; +- const char *data; +-} HIST_ENTRY; -#endif - -extern "C" int add_history(const char *command); /* From readline directory */ @@ -30,5 +29,5 @@ diff -ruNp mysql-5.7.21.orig/client/mysql.cc mysql-5.7.21/client/mysql.cc -extern "C" HIST_ENTRY *history_get(int num); -extern "C" int history_length; static int not_in_history(const char *line); - static void initialize_readline (char *name); - #endif /* HAVE_READLINE */ + static void initialize_readline(char *name); + #endif /* HAVE_READLINE */ diff --git a/mysql-system-xxhash.patch b/mysql-system-xxhash.patch new file mode 100644 index 0000000..9ca5514 --- /dev/null +++ b/mysql-system-xxhash.patch @@ -0,0 +1,168 @@ +--- mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc.orig 2022-07-06 23:36:34.000000000 +0200 ++++ mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2022-10-09 14:33:34.598098038 +0200 +@@ -126,7 +126,7 @@ Gcs_sender_id calculate_sender_id(const + std::string info(node.get_member_id().get_member_id()); + info.append(node.get_member_uuid().actual_value); + +- return GCS_XXH64(info.c_str(), info.size(), 0); ++ return XXH64(info.c_str(), info.size(), 0); + } + + bool Gcs_message_stage_split_v2::update_members_information( +--- mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h.orig 2022-07-06 23:36:34.000000000 +0200 ++++ mysql-8.0.30/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2022-10-09 08:41:35.109178797 +0200 +@@ -25,10 +25,6 @@ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-// Define a namespace prefix to all xxhash functions. This is done to +-// avoid conflict with xxhash symbols in liblz4. +-#define XXH_NAMESPACE GCS_ +- +-#include "xxhash.h" ++#include + + #endif // GCS_XXHASH_H_INCLUDED +--- mysql-8.0.30/plugin/group_replication/libmysqlgcs/CMakeLists.txt.orig 2022-07-06 23:36:34.000000000 +0200 ++++ mysql-8.0.30/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2022-10-09 08:42:55.768741827 +0200 +@@ -140,7 +140,6 @@ SET(GCS_SOURCES + src/bindings/xcom/gcs_xcom_statistics_interface.cc + src/bindings/xcom/gcs_xcom_proxy.cc + src/bindings/xcom/gcs_xcom_communication_protocol_changer.cc +- ${BUNDLED_LZ4_PATH}/xxhash.c # required by gcs_message_stage_split + src/bindings/xcom/gcs_message_stage_split.cc + src/bindings/xcom/gcs_xcom_synode.cc + src/bindings/xcom/gcs_xcom_expels_in_progress.cc) +@@ -219,6 +218,7 @@ ADD_LIBRARY(mysqlgcs STATIC ${XCOM_SOURC + # Dependency on mysys from gcs_logging_system.cc + # but pick up symbols from the server: + # TARGET_LINK_LIBRARIES(mysqlgcs mysys) ++TARGET_LINK_LIBRARIES(mysqlgcs xxhash) + + IF(CMAKE_VERSION VERSION_GREATER "3.19" AND NOT APPLE_XCODE) + # New in version 3.19: +--- mysql-8.0.30/sql/CMakeLists.txt.orig 2022-07-06 23:36:34.000000000 +0200 ++++ mysql-8.0.30/sql/CMakeLists.txt 2022-10-09 08:53:20.935355008 +0200 +@@ -755,7 +755,6 @@ SET(SQL_SOURCE + ${CONF_SOURCES} + ${SQL_SHARED_SOURCES} + ${SQL_HEADERS} +- ${BUNDLED_LZ4_PATH}/xxhash.c + ../libmysql/errmsg.cc + ../sql-common/client.cc + ../sql-common/client_plugin.cc +@@ -813,11 +812,6 @@ IF(WIN32) + ) + ENDIF() + +-MY_ADD_COMPILE_DEFINITIONS( +- ${BUNDLED_LZ4_PATH}/xxhash.c +- COMPILE_DEFINITIONS XXH_NAMESPACE=MY_ +- ) +- + # Workaround for Apple Clang bug on ARM. + # When linking mysqld (and executables using server_unittest_library) + # we get linker warnings about +@@ -842,13 +836,6 @@ IF(APPLE_ARM) + ) + ENDIF() + +-ADD_COMPILE_FLAGS( +- ${BUNDLED_LZ4_PATH}/xxhash.c +- iterators/hash_join_iterator.cc +- rpl_write_set_handler.cc +- COMPILE_FLAGS -I${CMAKE_SOURCE_DIR}/extra/lz4 -I${BUNDLED_LZ4_PATH} +- ) +- + # Fixes "C1128: number of sections exceeded object file format limit" in MSVC + IF(WIN32) + ADD_COMPILE_FLAGS( +@@ -924,7 +911,7 @@ ADD_DEPENDENCIES(sql_main GenBootstrapPr + ADD_DEPENDENCIES(sql_main GenSysSchema) + TARGET_LINK_LIBRARIES(sql_main ${MYSQLD_STATIC_PLUGIN_LIBS} + mysql_server_component_services mysys strings vio +- binlogevents_static ${LIBWRAP} ${LIBDL} ${SSL_LIBRARIES}) ++ binlogevents_static xxhash ${LIBWRAP} ${LIBDL} ${SSL_LIBRARIES}) + + # sql/immutable_string.h uses + # google::protobuf::io::CodedOutputStream::WriteVarint64ToArray +--- mysql-8.0.30/sql/iterators/hash_join_iterator.cc.orig 2022-07-06 23:36:34.000000000 +0200 ++++ mysql-8.0.30/sql/iterators/hash_join_iterator.cc 2022-10-09 17:45:57.618897459 +0200 +@@ -32,7 +32,7 @@ + #include "field_types.h" + #include "my_alloc.h" + #include "my_bit.h" +-#include "my_xxhash.h" ++#include + + #include "my_inttypes.h" + #include "my_sys.h" +@@ -307,7 +307,7 @@ static bool WriteRowToChunk( + const uint64_t join_key_hash = + join_key_and_row_buffer->length() == 0 + ? kZeroKeyLengthHash +- : MY_XXH64(join_key_and_row_buffer->ptr(), ++ : XXH64(join_key_and_row_buffer->ptr(), + join_key_and_row_buffer->length(), xxhash_seed); + + assert((chunks->size() & (chunks->size() - 1)) == 0); +--- mysql-8.0.30/sql/rpl_write_set_handler.cc.orig 2022-07-06 23:36:34.000000000 +0200 ++++ mysql-8.0.30/sql/rpl_write_set_handler.cc 2022-10-09 20:07:41.099496817 +0200 +@@ -37,7 +37,7 @@ + #include "my_dbug.h" + #include "my_inttypes.h" + #include "my_murmur3.h" // murmur3_32 +-#include "my_xxhash.h" // IWYU pragma: keep ++#include + #include "mysql_com.h" + #include "sql-common/json_binary.h" + #include "sql-common/json_dom.h" +@@ -75,7 +75,7 @@ uint64 calc_hash(ulong algorithm, type T + if (algorithm == HASH_ALGORITHM_MURMUR32) + return (murmur3_32((const uchar *)T, len, 0)); + else +- return (MY_XXH64((const uchar *)T, len, 0)); ++ return (XXH64((const uchar *)T, len, 0)); + } + + #ifndef NDEBUG +--- mysql-8.0.30/unittest/gunit/hash_join-t.cc.orig 2022-07-06 23:36:34.000000000 +0200 ++++ mysql-8.0.30/unittest/gunit/hash_join-t.cc 2022-10-09 20:36:43.693389709 +0200 +@@ -28,7 +28,7 @@ + + #include "include/my_murmur3.h" + #include "my_alloc.h" +-#include "my_xxhash.h" ++#include + #include "sql/item_cmpfunc.h" + #include "sql/iterators/hash_join_buffer.h" + #include "sql/iterators/hash_join_iterator.h" +@@ -204,7 +204,7 @@ static void BM_XXHash64ShortData(size_t + + size_t sum = 0; + for (size_t i = 0; i < num_iterations; ++i) { +- sum += MY_XXH64(&data[0], data.size(), 0); ++ sum += XXH64(&data[0], data.size(), 0); + } + StopBenchmarkTiming(); + +@@ -223,7 +223,7 @@ static void BM_XXHash64LongData(size_t n + + size_t sum = 0; + for (size_t i = 0; i < num_iterations; ++i) { +- sum += MY_XXH64(&data[0], data.size(), 0); ++ sum += XXH64(&data[0], data.size(), 0); + } + StopBenchmarkTiming(); + +--- mysql-8.0.30/unittest/gunit/innodb/ut0rnd-t.cc.orig 2022-07-06 23:36:34.000000000 +0200 ++++ mysql-8.0.30/unittest/gunit/innodb/ut0rnd-t.cc 2022-10-09 20:46:00.157041753 +0200 +@@ -33,7 +33,7 @@ + #include "storage/innobase/include/ut0crc32.h" + #include "storage/innobase/include/ut0rnd.h" + +-#include "my_xxhash.h" ++#include + + namespace innodb_ut0rnd_unittest { + diff --git a/mysql.init b/mysql.init index c55f9ef..120f67b 100755 --- a/mysql.init +++ b/mysql.init @@ -552,7 +552,7 @@ also try to start the mysqld daemon with: You can use the command line tool mysql to connect to the mysql database and look at the grant tables: -shell> mysql -u root mysql +shell> mysql -u mysql mysql mysql> show tables Try 'mysqld --help' if you have problems with paths. Setting on @@ -560,7 +560,7 @@ logging in $MYSQL_DATA_DIR/mysqld.conf gives you a log in /var/log/mysql/query.l may be helpful. The latest information about MySQL is available on the web at http://www.mysql.com/. -Please check TLD Linux ftp site for newer versions of this package. +Please check PLD Linux ftp site for newer versions of this package. Please consult the MySQL manual section: 'Problems running mysql_install_db', and the manual section that describes problems on diff --git a/mysql.spec b/mysql.spec index 2c449b3..665fda5 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,4 +1,6 @@ # TODO: +# - -DWITH_AUTHENTICATION_KERBEROS=ON (BR: MIT krb5) +# - -DWITH_AUTHENTICATION_FIDO=ON (using system libfido?) # - mysqldump ... (invalid usage) prints to stdout not stderr (idiotic if you want to create dump and get usage in .sql) # - http://bugs.mysql.com/bug.php?id=16470 # - innodb are dynamic (= as plugins) ? @@ -16,15 +18,14 @@ %bcond_without federated # Federated storage engine support %bcond_without raid # RAID support %bcond_without ssl # OpenSSL support -%bcond_with systemtap # systemtap/dtrace probes +%bcond_without systemtap # systemtap/dtrace probes %bcond_without tcpd # libwrap (tcp_wrappers) support %bcond_with sphinx # Sphinx storage engine support -# mysql needs boost 1.59.0 and doesn't support newer/older boost versions +# mysql needs boost 1.77.0 and doesn't support newer/older boost versions %bcond_with system_boost -%bcond_with system_protobuf # mysql doesn't build with newer (3.12+) protobuf -%bcond_with tests # run test suite +%bcond_without tests # run test suite %bcond_with ndb # NDB is now a separate product, this here is broken, so disable it -%bcond_without ldap # LDAP auth support +%bcond_without ldap # LDAP auth support (requires MIT Kerberos) Summary: MySQL: a very fast and reliable SQL database engine Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank @@ -35,18 +36,18 @@ Summary(ru.UTF-8): MySQL - быстрый SQL-сервер Summary(uk.UTF-8): MySQL - швидкий SQL-сервер Summary(zh_CN.UTF-8): MySQL数据库服务器 Name: mysql -Version: 5.7.43 -Release: 1 +Version: 8.0.30 +Release: License: GPL v2 + MySQL FOSS License Exception Group: Applications/Databases -#Source0Download: https://dev.mysql.com/downloads/mysql/5.7.html#downloads -Source0: http://cdn.mysql.com/Downloads/MySQL-5.7/%{name}-%{version}.tar.gz -# Source0-md5: a06d002cebf649082f0f3aaad4b6b797 +#Source0Download: https://dev.mysql.com/downloads/mysql/8.0.html#downloads +Source0: http://cdn.mysql.com/Downloads/MySQL-8.0/%{name}-%{version}.tar.gz +# Source0-md5: cb88420e449603b82ba8ed84302922e1 Source100: http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz # Source100-md5: 5cac34f3d78a9d612ca4301abfcbd666 %if %{without system_boost} -Source101: http://downloads.sourceforge.net/boost/boost_1_59_0.tar.bz2 -# Source101-md5: 6aa9a5c6a4ca1016edd0ed1178e3cb87 +Source101: http://downloads.sourceforge.net/boost/boost_1_77_0.tar.bz2 +# Source101-md5: 09dc857466718f27237144c6f2432d86 %endif Source1: %{name}.init Source2: %{name}.sysconfig @@ -62,35 +63,37 @@ Source12: %{name}-ndb-cpc.sysconfig Source13: %{name}-client.conf Source14: my.cnf Patch0: %{name}-opt.patch -Patch1: ssl-errors.patch -Patch2: %{name}-protobuf.patch -Patch3: %{name}-5.7-sphinx.patch -Patch4: %{name}-sphinx.patch -Patch5: %{name}-chain-certs.patch -Patch6: %{name}-cmake.patch -Patch7: %{name}-readline.patch -Patch8: %{name}dumpslow-clusters.patch +Patch1: %{name}-system-xxhash.patch + +Patch17: %{name}-5.7-sphinx.patch +Patch18: %{name}-sphinx.patch + +Patch24: %{name}-cmake.patch +Patch25: %{name}-readline.patch + +Patch26: %{name}dumpslow-clusters.patch URL: http://www.mysql.com/products/community/ -BuildRequires: automake BuildRequires: bison >= 1.875 -%{?with_system_boost:BuildRequires: boost-devel >= 1.59.0} -BuildRequires: cmake >= 2.8.9 +%{?with_system_boost:BuildRequires: boost-devel >= 1.77.0} +BuildRequires: cmake >= 2.8.2 +%{?with_ldap:BuildRequires: cyrus-sasl-devel} +# for configure and tests +%{?with_ldap:BuildRequires: cyrus-sasl-scram} +#%{?with_ldap:BuildRequires: krb5-devel} BuildRequires: libaio-devel -BuildRequires: libatomic-devel BuildRequires: libevent-devel BuildRequires: libhsclient-devel -BuildRequires: libstdc++-devel >= 5:4.0 -BuildRequires: libtirpc-devel >= 1.0.0 +BuildRequires: libstdc++-devel >= 5:7.1 %{?with_tcpd:BuildRequires: libwrap-devel} BuildRequires: lz4-devel BuildRequires: mecab-devel BuildRequires: ncurses-devel >= 4.2 -%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} +%{?with_ssl:BuildRequires: openssl-devel >= 1.1.1} %{?with_ldap:BuildRequires: openldap-devel} BuildRequires: pam-devel BuildRequires: perl-devel >= 1:5.6.1 -%{?with_system_protobuf:BuildRequires: protobuf-devel >= 2.5} -BuildRequires: python3-modules +BuildRequires: protobuf-devel >= 2.5 +BuildRequires: python-modules BuildRequires: readline-devel >= 6.2 BuildRequires: rpcsvc-proto BuildRequires: rpm-build >= 4.6 @@ -98,7 +101,10 @@ BuildRequires: rpm-perlprov >= 4.1-13 BuildRequires: rpmbuild(macros) >= 1.605 BuildRequires: sed >= 4.0 %{?with_systemtap:BuildRequires: systemtap-sdt-devel} +BuildRequires: xxHash-devel BuildRequires: zlib-devel >= 1.2.12 +BuildRequires: zstd-devel +Requires(post): sed >= 4.0 Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel @@ -110,7 +116,6 @@ Requires: %{name}-charsets = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: /usr/bin/setsid Requires: rc-scripts >= 0.2.0 -Requires: sed >= 4.0 Suggests: mysql-client %{?with_tcpd:Suggests: tcp_wrappers} Suggests: vim-syntax-mycnf @@ -118,8 +123,8 @@ Provides: MySQL-server Provides: group(mysql) Provides: msqlormysql Provides: user(mysql) -Obsoletes: MySQL -Obsoletes: mysql-server +Obsoletes: MySQL < 3.22.27 +Obsoletes: mysql-server < 4 Conflicts: logrotate < 3.8.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -280,7 +285,7 @@ Group: Applications/Databases Requires: %{name}-charsets = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: readline >= 6.2 -Obsoletes: MySQL-client +Obsoletes: MySQL-client < 3.22.27 %description client This package contains the standard MySQL clients. @@ -322,10 +327,9 @@ Summary(ru.UTF-8): MySQL - хедеры и библиотеки разработ Summary(uk.UTF-8): MySQL - хедери та бібліотеки програміста Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} -Requires: libatomic-devel -%{?with_ssl:Requires: openssl-devel} +%{?with_ssl:Requires: openssl-devel >= 1.1.1} Requires: zlib-devel >= 1.2.12 -Obsoletes: MySQL-devel +Obsoletes: MySQL-devel < 3.22.27 Obsoletes: libmysql10-devel < 4 Obsoletes: webscalesql-devel @@ -361,7 +365,7 @@ Summary(ru.UTF-8): MySQL - статические библиотеки Summary(uk.UTF-8): MySQL - статичні бібліотеки Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} -Obsoletes: MySQL-static +Obsoletes: MySQL-static < 3.22.27 %description static MySQL static libraries. @@ -387,7 +391,7 @@ Group: Applications/Databases Requires: %{name} = %{version}-%{release} Requires: %{name}-client Requires: perl-DBD-mysql -Obsoletes: MySQL-bench +Obsoletes: MySQL-bench < 3.22.27 %description bench This package contains MySQL benchmark scripts and data. @@ -468,20 +472,20 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC. %prep %setup -q %{?with_sphinx:-a100} %{!?with_system_boost:-a101} -%patch0 -p1 +#%patch0 -p1 %patch1 -p1 -%patch2 -p1 + %if %{with sphinx} # http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51 %{__mv} sphinx-*/mysqlse storage/sphinx -%patch3 -p1 -%patch4 -p1 +%patch17 -p1 +%patch18 -p1 %endif -# really not fixed? verify -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 + +%patch24 -p1 +%patch25 -p1 + +#%patch26 -p1 # to get these files rebuild [ -f sql/sql_yacc.cc ] && %{__rm} sql/sql_yacc.cc @@ -489,7 +493,7 @@ Ten pakiet zawiera standardowego demona MySQL NDB CPC. # ensure sytstem lib # need to keep xxhash.[ch] -%{__rm} -rv extra/lz4/lz4*/lib/lz4* +%{__rm} -rv extra/lz4/lz4** %build install -d build @@ -517,12 +521,16 @@ CPPFLAGS="%{rpmcppflags}" \ -DMYSQL_UNIX_ADDR=/var/lib/%{name}/%{name}.sock \ %{?debug:-DWITH_DEBUG=ON} \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ + %{!?with_ldap:-DWITH_AUTHENTICATION_LDAP=OFF} \ -DWITH_LIBWRAP=%{?with_tcpd:ON}%{!?with_tcpd:OFF} \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DWITH_PIC=ON \ - -DWITH_LZ4=system \ + %{?with_ldap:-DWITH_LDAP=system} \ + -DWITH_KERBEROS=system \ -DWITH_LIBEVENT=system \ - %{?with_system_protobuf:-DWITH_PROTOBUF=system} \ + -DWITH_LZ4=system \ + -DWITH_PROTOBUF=system \ + -DWITH_SASL=system \ -DWITH_SSL=%{?with_ssl:system}%{!?with_ssl:no} \ -DWITH_UNIT_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \ %{!?with_system_boost:-DWITH_BOOST="$(pwd)/$(ls -1d ../boost_*)"} \ @@ -586,29 +594,21 @@ sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/%{name}-support # rename not to be so generic name -%{__mv} $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump -%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/{,mysql_}resolve_stack_dump.1 # not useful without -debug build -%{!?debug:%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump} -%{!?debug:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql_resolve_stack_dump.1} # generate symbols file, so one can generate backtrace using it # mysql_resolve_stack_dump -s %{_datadir}/%{name}/mysqld.sym -n mysqld.stack. # http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html %{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym} # do not clobber users $PATH -%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_plugin %{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_upgrade %{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/innochecksum %{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamchk %{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisamlog %{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/myisampack #%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql_fix_privilege_tables -%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/lz4_decompress -%{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/zlib_decompress %{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/my_print_defaults -%{__sed} -i -e 's#/usr/bin/my_print_defaults#%{_sbindir}/my_print_defaults#g' $RPM_BUILD_ROOT%{_bindir}/mysql_install_db %{__mv} $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysqlcheck # delete - functionality in initscript / rpm @@ -619,7 +619,6 @@ sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config #%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate #%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server #%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure -%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg-utf8.txt %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server* %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1* %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/comp_err.1* @@ -628,8 +627,6 @@ sed -i -e '/libs/s/-lprobes_mysql//' $RPM_BUILD_ROOT%{_bindir}/mysql_config %{__rm} $RPM_BUILD_ROOT%{_bindir}/{mysql_client_test,mysqlxtest} %{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/plugin/test_udf_services.so %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql-test -# libmysqld examples -%{__rm} $RPM_BUILD_ROOT%{_bindir}/mysql{_client_test_embedded,_embedded,test_embedded} # not needed %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/libdaemon_example.* @@ -695,8 +692,8 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del mysql-ndb-cpc fi -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig %triggerpostun -- mysql < 5.7.0 # mysql < 4.0.20-2.4 @@ -876,21 +873,25 @@ done %files %defattr(644,root,root,755) -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysqlrouter %attr(754,root,root) /etc/rc.d/init.d/%{name} %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} %attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/clusters.conf +%attr(755,root,root) %{_bindir}/ibd2sdi +%attr(755,root,root) %{_bindir}/mysql_migrate_keyring +%attr(755,root,root) %{_bindir}/mysqlrouter +%attr(755,root,root) %{_bindir}/mysqlrouter_keyring +%attr(755,root,root) %{_bindir}/mysqlrouter_passwd +%attr(755,root,root) %{_bindir}/mysqlrouter_plugin_info %attr(755,root,root) %{_sbindir}/innochecksum -%attr(755,root,root) %{_sbindir}/lz4_decompress %attr(755,root,root) %{_sbindir}/my_print_defaults %attr(755,root,root) %{_sbindir}/myisamchk %attr(755,root,root) %{_sbindir}/myisamlog %attr(755,root,root) %{_sbindir}/myisampack -%attr(755,root,root) %{_sbindir}/mysql_plugin %attr(755,root,root) %{_sbindir}/mysql_upgrade %attr(755,root,root) %{_sbindir}/mysqlcheck %attr(755,root,root) %{_sbindir}/mysqld -%attr(755,root,root) %{_sbindir}/zlib_decompress %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/plugin @@ -898,38 +899,80 @@ done %attr(755,root,root) %{_libdir}/%{name}/plugin/auth.so %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_socket.so %attr(755,root,root) %{_libdir}/%{name}/plugin/auth_test_plugin.so +#%attr(755,root,root) %{_libdir}/%{name}/plugin/authentication_fido_client.so %{?with_ldap:%attr(755,root,root) %{_libdir}/%{name}/plugin/authentication_ldap_sasl_client.so} +%attr(755,root,root) %{_libdir}/%{name}/plugin/authentication_oci_client.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_audit_api_message_emit.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_keyring_file.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_log_filter_dragnet.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_log_sink_json.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_log_sink_syseventlog.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_mysqlbackup.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_mysqlx_global_reset.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_pfs_example.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_pfs_example_component_population.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_query_attributes.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_reference_cache.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_udf_*_func.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_validate_password.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/conflicting_variables.so %attr(755,root,root) %{_libdir}/%{name}/plugin/connection_control.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/ddl_rewriter.so %attr(755,root,root) %{_libdir}/%{name}/plugin/group_replication.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/ha_mock.so %attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_file.so %attr(755,root,root) %{_libdir}/%{name}/plugin/keyring_udf.so %attr(755,root,root) %{_libdir}/%{name}/plugin/libpluginmecab.so %attr(755,root,root) %{_libdir}/%{name}/plugin/locking_service.so %attr(755,root,root) %{_libdir}/%{name}/plugin/mypluglib.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/mysql_clone.so %attr(755,root,root) %{_libdir}/%{name}/plugin/mysql_no_login.so -%attr(755,root,root) %{_libdir}/%{name}/plugin/mysqlx.so %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_client.so %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_interface.so %attr(755,root,root) %{_libdir}/%{name}/plugin/qa_auth_server.so %attr(755,root,root) %{_libdir}/%{name}/plugin/replication_observers_example_plugin.so %attr(755,root,root) %{_libdir}/%{name}/plugin/rewriter.so %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_master.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_replica.so %attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_slave.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/semisync_source.so %attr(755,root,root) %{_libdir}/%{name}/plugin/validate_password.so %attr(755,root,root) %{_libdir}/%{name}/plugin/version_token.so %if %{with sphinx} %attr(755,root,root) %{_libdir}/%{name}/plugin/ha_sphinx.so %endif +%dir %{_libdir}/%{name}/private +%{_libdir}/%{name}/private/icudt69l +%dir %{_libdir}/mysqlrouter +%attr(755,root,root) %{_libdir}/mysqlrouter/connection_pool.so +%attr(755,root,root) %{_libdir}/mysqlrouter/http_auth_backend.so +%attr(755,root,root) %{_libdir}/mysqlrouter/http_auth_realm.so +%attr(755,root,root) %{_libdir}/mysqlrouter/http_server.so +%attr(755,root,root) %{_libdir}/mysqlrouter/io.so +%attr(755,root,root) %{_libdir}/mysqlrouter/keepalive.so +%attr(755,root,root) %{_libdir}/mysqlrouter/metadata_cache.so +%attr(755,root,root) %{_libdir}/mysqlrouter/rest_api.so +%attr(755,root,root) %{_libdir}/mysqlrouter/rest_connection_pool.so +%attr(755,root,root) %{_libdir}/mysqlrouter/rest_metadata_cache.so +%attr(755,root,root) %{_libdir}/mysqlrouter/rest_router.so +%attr(755,root,root) %{_libdir}/mysqlrouter/rest_routing.so +%attr(755,root,root) %{_libdir}/mysqlrouter/router_openssl.so +%attr(755,root,root) %{_libdir}/mysqlrouter/router_protobuf.so +%attr(755,root,root) %{_libdir}/mysqlrouter/routing.so +%dir %{_libdir}/mysqlrouter/private +%attr(755,root,root) %{_libdir}/mysqlrouter/private/libmysqlharness*.so* +%attr(755,root,root) %{_libdir}/mysqlrouter/private/libmysqlrouter*.so* +%{_mandir}/man1/ibd2sdi.1* %{_mandir}/man1/innochecksum.1* -%{_mandir}/man1/lz4_decompress.1* %{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* -%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqlcheck.1* -%{_mandir}/man1/zlib_decompress.1* +%{_mandir}/man1/mysqlrouter.1* +%{_mandir}/man1/mysqlrouter_passwd.1* +%{_mandir}/man1/mysqlrouter_plugin_info.1* %{_mandir}/man8/mysqld.8* %if %{?debug:1}0 @@ -949,16 +992,11 @@ done # This is template for configuration file which is created after 'service mysql init' %{_datadir}/%{name}/mysqld.conf -%{_datadir}/%{name}/mysql_security_commands.sql -%{_datadir}/%{name}/mysql_sys_schema.sql -%{_datadir}/%{name}/mysql_system_tables_data.sql -%{_datadir}/%{name}/mysql_system_tables.sql -%{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/english %{_datadir}/%{name}/dictionary.txt -%{_datadir}/%{name}/fill_help_tables.sql -%{_datadir}/%{name}/innodb_memcached_config.sql +%{_datadir}/%{name}/messages_to_clients.txt +%{_datadir}/%{name}/messages_to_error_log.txt %{_datadir}/%{name}/install_rewriter.sql %{_datadir}/%{name}/uninstall_rewriter.sql # Don't mark these with %%lang. These are used depending @@ -995,21 +1033,15 @@ done %files extras %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/myisam_ftdump -%attr(755,root,root) %{_bindir}/mysql_install_db -%attr(755,root,root) %{_bindir}/mysql_ssl_rsa_setup %attr(755,root,root) %{_bindir}/mysql_secure_installation +%attr(755,root,root) %{_bindir}/mysql_ssl_rsa_setup %attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql %attr(755,root,root) %{_bindir}/perror -%attr(755,root,root) %{_bindir}/replace -%attr(755,root,root) %{_bindir}/resolveip %{_mandir}/man1/myisam_ftdump.1* -%{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_ssl_rsa_setup.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/perror.1* -%{_mandir}/man1/replace.1* -%{_mandir}/man1/resolveip.1* %files extras-perl %defattr(644,root,root,755) @@ -1042,7 +1074,7 @@ done %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mysql-client.conf %{_sysconfdir}/%{name}/my.cnf %attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.20 +%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.21 %if %{with ndb} %attr(755,root,root) %{_libdir}/libndbclient.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3 @@ -1056,8 +1088,6 @@ done %attr(755,root,root) %{_libdir}/libndbclient.so %endif %{_pkgconfigdir}/mysqlclient.pc -# static-only so far -%{_libdir}/libmysqld.a %{_libdir}/libmysqlservices.a %{_includedir}/mysql %{_aclocaldir}/mysql.m4 @@ -1070,14 +1100,55 @@ done %{_libdir}/libndbclient.a %endif +# rename to test or split? %files bench %defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/comp_err +%attr(755,root,root) %{_bindir}/mysql_keyring_encryption_test %attr(755,root,root) %{_bindir}/mysqlslap %attr(755,root,root) %{_bindir}/mysqltest +%attr(755,root,root) %{_bindir}/mysqltest_safe_process +%attr(755,root,root) %{_bindir}/zlib_decompress +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_example_component1.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_example_component2.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_example_component3.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_log_sink_test.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_audit_api_message.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_backup_lock_service.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_component_deinit.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_host_application_signal.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_mysql_current_thread_reader.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_mysql_runtime_error.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_mysql_system_variable_set.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_pfs_notification.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_pfs_resource_group.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_sensitive_system_variables.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_status_var_service.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_status_var_service_int.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_status_var_service_reg_only.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_status_var_service_str.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_status_var_service_unreg_only.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_string_service.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_string_service_charset.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_string_service_long.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_sys_var_service.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_sys_var_service_int.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_sys_var_service_same.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_sys_var_service_str.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_system_variable_source.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_table_access.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_udf_registration.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/component_test_udf_services.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/pfs_example_plugin_employee.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/test_services_host_application_signal.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/test_services_plugin_registry.so +%attr(755,root,root) %{_libdir}/%{name}/plugin/udf_example.so #%dir %{_datadir}/sql-bench #%{_datadir}/sql-bench/[CDRl]* #%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]* +%{_mandir}/man1/lz4_decompress.1* %{_mandir}/man1/mysqlslap.1* +%{_mandir}/man1/zlib_decompress.1* #%files doc #%defattr(644,root,root,755) diff --git a/ssl-errors.patch b/ssl-errors.patch deleted file mode 100644 index 5034b82..0000000 --- a/ssl-errors.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -urp mysql-5.7.36.org/vio/viossl.c mysql-5.7.36/vio/viossl.c ---- mysql-5.7.36.org/vio/viossl.c 2021-09-07 07:26:47.000000000 +0200 -+++ mysql-5.7.36/vio/viossl.c 2021-11-29 10:34:20.106597290 +0100 -@@ -137,7 +137,7 @@ static my_bool ssl_should_retry(Vio *vio - enum enum_vio_io_event *event, - unsigned long *ssl_errno_holder) - { -- int ssl_error; -+ int ssl_error, err_error; - SSL *ssl= vio->ssl_arg; - my_bool should_retry= TRUE; - -@@ -148,12 +148,23 @@ static my_bool ssl_should_retry(Vio *vio - switch (ssl_error) - { - case SSL_ERROR_WANT_READ: -+ err_error = ssl_error; // for backward compatibility. - *event= VIO_IO_EVENT_READ; - break; - case SSL_ERROR_WANT_WRITE: -+ err_error = ssl_error; // for backward compatibility. - *event= VIO_IO_EVENT_WRITE; - break; - default: -+ /* first save the top ERR error */ -+#ifdef HAVE_WOLFSSL -+ /* TODO: when wolfSSL issue 4240 is fixed (see bug 27855668) remove the -+ * "if" branch */ -+ err_error = ssl_error; -+#else -+ err_error = ERR_get_error(); -+#endif -+ /* now report all remaining errors on and/or clear the error stack */ - #ifndef NDEBUG /* Debug build */ - /* Note: the OpenSSL error queue gets cleared in report_errors(). */ - report_errors(ssl); -@@ -166,7 +177,7 @@ static my_bool ssl_should_retry(Vio *vio - break; - } - -- *ssl_errno_holder= ssl_error; -+ *ssl_errno_holder= err_error; - - return should_retry; - } -- 2.45.1