]> TLD Linux GIT Repositories - packages/mysql.git/commitdiff
- MySQL 8.0 from PLD
authorMarcin Krol <hawk@tld-linux.org>
Sun, 17 Dec 2023 20:54:50 +0000 (21:54 +0100)
committerMarcin Krol <hawk@tld-linux.org>
Sun, 17 Dec 2023 20:54:50 +0000 (21:54 +0100)
mysql-chain-certs.patch [deleted file]
mysql-opt.patch
mysql-protobuf.patch [deleted file]
mysql-readline.patch
mysql-system-xxhash.patch [new file with mode: 0644]
mysql.init
mysql.spec
ssl-errors.patch [deleted file]

diff --git a/mysql-chain-certs.patch b/mysql-chain-certs.patch
deleted file mode 100644 (file)
index 7f18fe2..0000000
+++ /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));
index a6b9ec7da61415d0130f3350c18dff7106ae6aa9..b48ce5d3278c161139a4593adacfddc194ef39f6 100644 (file)
@@ -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 (file)
index cce64d4..0000000
+++ /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 <google/protobuf/io/tokenizer.h>
- #include <google/protobuf/io/zero_copy_stream.h>
- #include <google/protobuf/wire_format_lite.h>
-+#if GOOGLE_PROTOBUF_VERSION < 3008000
- #include <google/protobuf/wire_format_lite_inl.h>
-+#endif
- #include <google/protobuf/dynamic_message.h>
- #include "mysqlx_connection.pb.h"
index ce82211f1bd6b41ca980024a233565f3f082f6e8..ca2af0668c8745f1be45a0c7332a3ec5ddfdf1c1 100644 (file)
@@ -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 <syslog.h>
  #include <readline.h>
 +#include <history.h>
+ #include <syslog.h>
  #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 (file)
index 0000000..9ca5514
--- /dev/null
@@ -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 <xxhash.h>
+ #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 <xxhash.h>
+ #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 <xxhash.h>
+ #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 <xxhash.h>
+ #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 <xxhash.h>
+ namespace innodb_ut0rnd_unittest {
index c55f9ef0c5c3acf823df7fb8d32e3d637a6fd6df..120f67bb233805a6455f255432c1aeea540da90d 100755 (executable)
@@ -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
index 2c449b360e7a2143adf51eb878617e5bce23678a..665fda5fb64f48a46e9d59897d476db8a6d5673b 100644 (file)
@@ -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) ?
 %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 (file)
index 5034b82..0000000
+++ /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;
- }