-diff -ruN mysql-5.7.21.orig/cmake/readline.cmake mysql-5.7.21/cmake/readline.cmake
---- mysql-5.7.21.orig/cmake/readline.cmake 2017-12-28 04:46:26.000000000 +0100
-+++ mysql-5.7.21/cmake/readline.cmake 2018-03-31 21:17:28.373826351 +0200
-@@ -110,23 +110,23 @@ ENDMACRO()
+diff -urNpa mysql-8.4.0.orig/cmake/readline.cmake mysql-8.4.0/cmake/readline.cmake
+--- mysql-8.4.0.orig/cmake/readline.cmake 2024-05-09 15:03:55.909198871 +0200
++++ mysql-8.4.0/cmake/readline.cmake 2024-05-09 15:04:09.737390835 +0200
+@@ -130,23 +130,23 @@ ENDMACRO()
MACRO (FIND_SYSTEM_EDITLINE)
FIND_PATH(FOUND_EDITLINE_READLINE
)
MARK_AS_ADVANCED(EDITLINE_INCLUDE_DIR EDITLINE_LIBRARY)
-@@ -139,7 +139,7 @@ MACRO (FIND_SYSTEM_EDITLINE)
+@@ -162,7 +162,7 @@ MACRO (FIND_SYSTEM_EDITLINE)
LIST(APPEND CMAKE_REQUIRED_LIBRARIES ${EDITLINE_LIBRARY})
CHECK_CXX_SOURCE_COMPILES("
#include <stdio.h>
int main(int argc, char **argv)
{
HIST_ENTRY entry;
-@@ -149,14 +149,13 @@ MACRO (FIND_SYSTEM_EDITLINE)
+@@ -172,14 +172,13 @@ MACRO (FIND_SYSTEM_EDITLINE)
CHECK_CXX_SOURCE_COMPILES("
#include <stdio.h>
}"
EDITLINE_HAVE_COMPLETION_INT)
-@@ -168,7 +167,7 @@ MACRO (FIND_SYSTEM_EDITLINE)
+@@ -191,7 +190,7 @@ MACRO (FIND_SYSTEM_EDITLINE)
typedef char* MYFunction(const char*, int);
MYFunction* myf= rl_completion_entry_function;
char *res= (myf)(NULL, 0);
return res != NULL;
}"
EDITLINE_HAVE_COMPLETION_CHAR)
---- mysql-8.1.0/CMakeLists.txt~ 2023-06-21 09:52:10.000000000 +0200
-+++ mysql-8.1.0/CMakeLists.txt 2023-10-20 10:08:46.673284042 +0200
-@@ -20,6 +20,8 @@
+diff -urNpa mysql-8.4.0.orig/CMakeLists.txt mysql-8.4.0/CMakeLists.txt
+--- mysql-8.4.0.orig/CMakeLists.txt 2024-05-09 15:03:55.901198760 +0200
++++ mysql-8.4.0/CMakeLists.txt 2024-05-09 15:04:09.737390835 +0200
+@@ -21,6 +21,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
---- 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 @@
+diff -urNpa mysql-8.4.0.orig/client/mysql.cc mysql-8.4.0/client/mysql.cc
+--- mysql-8.4.0.orig/client/mysql.cc 2024-05-09 15:04:59.682084155 +0200
++++ mysql-8.4.0/client/mysql.cc 2024-05-09 15:05:11.982254902 +0200
+@@ -93,6 +93,7 @@ Foundation, Inc., 51 Franklin St, Fifth
#define LOG_USER 0
#else
#include <readline.h>
#include <syslog.h>
#define HAVE_READLINE
-@@ -1134,22 +1134,6 @@ static COMMANDS commands[] = {
+@@ -1185,22 +1186,6 @@ static COMMANDS commands[] = {
static const char *load_default_groups[] = {"mysql", "client", nullptr};
#ifdef HAVE_READLINE
-diff -ur mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt mysql-8.2.0/plugin/group_replication/libmysqlgcs/CMakeLists.txt
---- mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2023-12-18 01:19:34.054277743 +0100
-+++ mysql-8.2.0/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2023-12-18 01:20:07.130718562 +0100
-@@ -137,7 +137,6 @@
+diff -urNpa mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt mysql-8.4.0/plugin/group_replication/libmysqlgcs/CMakeLists.txt
+--- mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2024-05-09 18:15:12.545961950 +0200
++++ mysql-8.4.0/plugin/group_replication/libmysqlgcs/CMakeLists.txt 2024-05-09 18:15:56.994571858 +0200
+@@ -138,7 +138,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
src/bindings/xcom/gcs_message_stage_split.cc
src/bindings/xcom/gcs_xcom_synode.cc
src/bindings/xcom/gcs_xcom_expels_in_progress.cc
-@@ -235,6 +234,7 @@
+@@ -236,6 +235,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)
IF(LINUX AND WITH_TIRPC STREQUAL "bundled")
ADD_DEPENDENCIES(mysqlgcs tirpc_ext)
-diff -ur mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc mysql-8.2.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc
---- mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2023-12-18 01:19:34.056277770 +0100
-+++ mysql-8.2.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2023-12-18 01:20:07.117718388 +0100
-@@ -126,7 +126,7 @@
+diff -urNpa mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc
+--- mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2024-05-09 18:15:12.549962005 +0200
++++ mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_message_stage_split.cc 2024-05-09 18:15:57.910584352 +0200
+@@ -127,7 +127,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);
}
bool Gcs_message_stage_split_v2::update_members_information(
-diff -ur mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h mysql-8.2.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h
---- mysql-8.2.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2023-12-18 01:19:34.068277930 +0100
-+++ mysql-8.2.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2023-12-18 01:20:07.130718562 +0100
-@@ -25,10 +25,6 @@
+diff -urNpa mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h
+--- mysql-8.4.0.orig/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2024-05-09 18:15:12.549962005 +0200
++++ mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/gcs_xxhash.h 2024-05-09 18:15:57.910584352 +0200
+@@ -26,10 +26,6 @@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <xxhash.h>
#endif // GCS_XXHASH_H_INCLUDED
-diff -ur mysql-8.2.0.orig/sql/CMakeLists.txt mysql-8.2.0/sql/CMakeLists.txt
---- mysql-8.2.0.orig/sql/CMakeLists.txt 2023-12-18 01:19:34.892288911 +0100
-+++ mysql-8.2.0/sql/CMakeLists.txt 2023-12-18 01:22:41.637779746 +0100
-@@ -766,7 +766,6 @@
+diff -urNpa mysql-8.4.0.orig/sql/CMakeLists.txt mysql-8.4.0/sql/CMakeLists.txt
+--- mysql-8.4.0.orig/sql/CMakeLists.txt 2024-05-09 18:15:03.917843242 +0200
++++ mysql-8.4.0/sql/CMakeLists.txt 2024-05-09 18:16:12.978789893 +0200
+@@ -762,7 +762,6 @@ SET(SQL_SOURCE
${CONF_SOURCES}
${SQL_SHARED_SOURCES}
${SQL_HEADERS}
../libmysql/errmsg.cc
../sql-common/client.cc
../sql-common/client_plugin.cc
-@@ -831,11 +830,6 @@
+@@ -828,11 +827,6 @@ IF(WIN32)
)
ENDIF()
# Workaround for Apple Clang bug on ARM.
# When linking mysqld (and executables using server_unittest_library)
# we get linker warnings about
-@@ -860,14 +854,6 @@
- )
+@@ -858,14 +852,6 @@ IF(APPLE_ARM)
ENDIF()
--ADD_COMPILE_FLAGS(
+ ADD_COMPILE_FLAGS(
- ${BUNDLED_LZ4_PATH}/xxhash.c
- iterators/hash_join_iterator.cc
- iterators/composite_iterators.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(
-@@ -961,7 +947,7 @@
+-ADD_COMPILE_FLAGS(
+ iterators/composite_iterators.cc
+ iterators/hash_join_buffer.cc
+ COMPILE_FLAGS
+@@ -966,7 +952,7 @@ MYSQL_ADD_PLUGIN(mysql_native_password
TARGET_LINK_LIBRARIES(sql_main ${MYSQLD_STATIC_PLUGIN_LIBS}
mysql_server_component_services mysys strings vio
- mysql_binlog_event ${LIBWRAP} ${LIBDL} OpenSSL::SSL OpenSSL::Crypto
+ mysql_binlog_event xxhash ${LIBWRAP} ${LIBDL} OpenSSL::SSL OpenSSL::Crypto
- extra::rapidjson)
+ extra::rapidjson extra::boost)
# sql/immutable_string.h uses
-diff -ur mysql-8.2.0.orig/sql/iterators/composite_iterators.cc mysql-8.2.0/sql/iterators/composite_iterators.cc
---- mysql-8.2.0.orig/sql/iterators/composite_iterators.cc 2023-12-18 01:19:35.299294336 +0100
-+++ mysql-8.2.0/sql/iterators/composite_iterators.cc 2023-12-18 02:13:09.216002357 +0100
-@@ -35,7 +35,7 @@
+diff -urNpa mysql-8.4.0.orig/sql/iterators/composite_iterators.cc mysql-8.4.0/sql/iterators/composite_iterators.cc
+--- mysql-8.4.0.orig/sql/iterators/composite_iterators.cc 2024-05-09 18:15:03.989844233 +0200
++++ mysql-8.4.0/sql/iterators/composite_iterators.cc 2024-05-09 18:15:57.910584352 +0200
+@@ -44,7 +44,7 @@
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_sys.h"
-#include "my_xxhash.h"
+#include <xxhash.h>
+ #include "mysql_com.h"
#include "mysqld_error.h"
#include "prealloced_array.h"
- #include "scope_guard.h"
-@@ -2255,7 +2255,7 @@
+@@ -2928,7 +2928,7 @@ bool SpillState::compute_chunk_file_sets
const ulonglong primary_hash =
static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
const size_t chunk_index = hash_to_chunk_index(chunk_hash);
m_offending_row.m_chunk_offset = chunk_offset(chunk_index);
-@@ -2331,7 +2331,7 @@
+@@ -3005,7 +3005,7 @@ bool SpillState::spread_hash_map_to_HF_c
const ulonglong primary_hash =
static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
const size_t chunk_index = hash_to_chunk_index(chunk_hash);
const size_t set_index = chunk_index_to_set(chunk_index);
const size_t offset = chunk_offset(chunk_index);
-@@ -2396,7 +2396,7 @@
+@@ -3070,7 +3070,7 @@ bool SpillState::append_hash_map_to_HF()
const ulonglong primary_hash =
static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
const size_t chunk_index = hash_to_chunk_index(chunk_hash);
const size_t set_index = chunk_index_to_set(chunk_index);
const size_t offset = chunk_offset(chunk_index);
-@@ -2491,7 +2491,7 @@
+@@ -3164,7 +3164,7 @@ bool SpillState::save_operand_to_IF_chun
m_materialized_table->hash_field->store(
static_cast<longlong>(primary_hash), true);
const uint64_t chunk_hash =
const size_t chunk_index = hash_to_chunk_index(chunk_hash);
const size_t set_index = chunk_index_to_set(chunk_index);
const size_t offset = chunk_offset(chunk_index);
-@@ -2548,7 +2548,7 @@
+@@ -3219,7 +3219,7 @@ bool SpillState::write_HF(THD *thd, size
const ulonglong primary_hash =
static_cast<ulonglong>(m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
const size_t chunk_index = hash_to_chunk_index(chunk_hash);
const size_t set_index = chunk_index_to_set(chunk_index);
assert(chunk_offset(chunk_index) == chunk_idx);
-@@ -2787,7 +2787,7 @@
+@@ -3452,7 +3452,7 @@ int SpillState::read_next_row(const Oper
const ulonglong primary_hash = static_cast<ulonglong>(
m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
const size_t chunk_index = hash_to_chunk_index(chunk_hash);
const size_t set_index = chunk_index_to_set(chunk_index);
assert(chunk_offset(chunk_index) == m_current_chunk_idx);
-@@ -2820,7 +2820,7 @@
+@@ -3485,7 +3485,7 @@ int SpillState::read_next_row(const Oper
const ulonglong primary_hash = static_cast<ulonglong>(
m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
const size_t chunk_index = hash_to_chunk_index(chunk_hash);
assert(chunk_index_to_set(chunk_index) == set_idx);
assert(chunk_offset(chunk_index) == m_current_chunk_idx);
-@@ -2909,7 +2909,7 @@
+@@ -3574,7 +3574,7 @@ int SpillState::read_next_row_secondary_
const ulonglong primary_hash = static_cast<ulonglong>(
m_materialized_table->hash_field->val_int());
const uint64_t chunk_hash =
const size_t chunk_index = hash_to_chunk_index(chunk_hash);
assert(chunk_index_to_set(chunk_index) == set_idx);
assert(chunk_offset(chunk_index) == m_current_chunk_idx);
-diff -ur mysql-8.2.0.orig/sql/iterators/hash_join_iterator.cc mysql-8.2.0/sql/iterators/hash_join_iterator.cc
---- mysql-8.2.0.orig/sql/iterators/hash_join_iterator.cc 2023-12-18 01:19:35.299294336 +0100
-+++ mysql-8.2.0/sql/iterators/hash_join_iterator.cc 2023-12-18 01:20:07.132718589 +0100
-@@ -32,7 +32,7 @@
- #include "field_types.h"
- #include "my_alloc.h"
- #include "my_bit.h"
--#include "my_xxhash.h"
-+#include <xxhash.h>
-
+diff -urNpa mysql-8.4.0.orig/sql/iterators/hash_join_iterator.cc mysql-8.4.0/sql/iterators/hash_join_iterator.cc
+--- mysql-8.4.0.orig/sql/iterators/hash_join_iterator.cc 2024-05-09 18:15:03.989844233 +0200
++++ mysql-8.4.0/sql/iterators/hash_join_iterator.cc 2024-05-09 18:15:57.910584352 +0200
+@@ -38,7 +38,7 @@
+ #include "my_dbug.h"
#include "my_inttypes.h"
#include "my_sys.h"
-@@ -356,7 +356,7 @@
+-#include "my_xxhash.h"
++#include <xxhash.h>
+ #include "mysql/components/services/bits/psi_bits.h"
+ #include "mysqld_error.h"
+ #include "sql/item.h"
+@@ -378,7 +378,7 @@ static bool WriteRowToChunk(
const uint64_t join_key_hash =
join_key_and_row_buffer->length() == 0
? kZeroKeyLengthHash
join_key_and_row_buffer->length(), xxhash_seed);
assert((chunks->size() & (chunks->size() - 1)) == 0);
-diff -ur mysql-8.2.0.orig/sql/rpl_write_set_handler.cc mysql-8.2.0/sql/rpl_write_set_handler.cc
---- mysql-8.2.0.orig/sql/rpl_write_set_handler.cc 2023-12-18 01:19:35.612298508 +0100
-+++ mysql-8.2.0/sql/rpl_write_set_handler.cc 2023-12-18 01:23:09.729155640 +0100
-@@ -36,7 +36,7 @@
+diff -urNpa mysql-8.4.0.orig/sql/rpl_write_set_handler.cc mysql-8.4.0/sql/rpl_write_set_handler.cc
+--- mysql-8.4.0.orig/sql/rpl_write_set_handler.cc 2024-05-09 18:15:03.945843627 +0200
++++ mysql-8.4.0/sql/rpl_write_set_handler.cc 2024-05-09 18:15:57.910584352 +0200
+@@ -37,7 +37,7 @@
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_murmur3.h" // murmur3_32
#include "mysql/strings/m_ctype.h"
#include "mysql_com.h"
#include "sql-common/json_binary.h"
-@@ -75,7 +75,7 @@
- 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));
- }
+@@ -682,7 +682,7 @@ static bool generate_hash_pke(const std:
+ ) {
+ DBUG_TRACE;
- #ifndef NDEBUG
-diff -ur mysql-8.2.0.orig/unittest/gunit/hash_join-t.cc mysql-8.2.0/unittest/gunit/hash_join-t.cc
---- mysql-8.2.0.orig/unittest/gunit/hash_join-t.cc 2023-12-18 01:19:41.381375395 +0100
-+++ mysql-8.2.0/unittest/gunit/hash_join-t.cc 2023-12-18 01:20:51.800313888 +0100
-@@ -37,7 +37,7 @@
+- uint64 hash = MY_XXH64(pke.c_str(), pke.size(), 0);
++ uint64 hash = XXH64(pke.c_str(), pke.size(), 0);
+ if (thd->get_transaction()->get_transaction_write_set_ctx()->add_write_set(
+ hash))
+ return true;
+diff -urNpa mysql-8.4.0.orig/unittest/gunit/hash_join-t.cc mysql-8.4.0/unittest/gunit/hash_join-t.cc
+--- mysql-8.4.0.orig/unittest/gunit/hash_join-t.cc 2024-05-09 18:15:15.950008783 +0200
++++ mysql-8.4.0/unittest/gunit/hash_join-t.cc 2024-05-09 18:15:57.910584352 +0200
+@@ -38,7 +38,7 @@
#include "my_config.h"
#include "my_inttypes.h"
#include "my_murmur3.h"
#include "mysql/components/services/bits/psi_bits.h"
#include "prealloced_array.h"
#include "sql/field.h"
-@@ -226,7 +226,7 @@
+@@ -227,7 +227,7 @@ static void BM_XXHash64ShortData(size_t
size_t sum = 0;
for (size_t i = 0; i < num_iterations; ++i) {
}
StopBenchmarkTiming();
-@@ -245,7 +245,7 @@
+@@ -246,7 +246,7 @@ static void BM_XXHash64LongData(size_t n
size_t sum = 0;
for (size_t i = 0; i < num_iterations; ++i) {
}
StopBenchmarkTiming();
-diff -ur mysql-8.2.0.orig/unittest/gunit/innodb/ut0rnd-t.cc mysql-8.2.0/unittest/gunit/innodb/ut0rnd-t.cc
---- mysql-8.2.0.orig/unittest/gunit/innodb/ut0rnd-t.cc 2023-12-18 01:19:41.600378312 +0100
-+++ mysql-8.2.0/unittest/gunit/innodb/ut0rnd-t.cc 2023-12-18 01:20:07.134718615 +0100
-@@ -33,7 +33,7 @@
+diff -urNpa mysql-8.4.0.orig/unittest/gunit/innodb/ut0rnd-t.cc mysql-8.4.0/unittest/gunit/innodb/ut0rnd-t.cc
+--- mysql-8.4.0.orig/unittest/gunit/innodb/ut0rnd-t.cc 2024-05-09 18:15:15.998009443 +0200
++++ mysql-8.4.0/unittest/gunit/innodb/ut0rnd-t.cc 2024-05-09 18:15:57.910584352 +0200
+@@ -34,7 +34,7 @@
#include "storage/innobase/include/ut0crc32.h"
#include "storage/innobase/include/ut0rnd.h"
%bcond_with ndb # NDB is now a separate product, this here is broken, so disable it
%bcond_without ldap # LDAP auth support (requires MIT Kerberos)
-%define mysqlversion 8.2
-%define mysqlpriority 82
+%define mysqlversion 8.4
+%define mysqlpriority 84
Summary: MySQL: a very fast and reliable SQL database engine
Summary(de.UTF-8): MySQL: ist eine SQL-Datenbank
Summary(uk.UTF-8): MySQL - швидкий SQL-сервер
Summary(zh_CN.UTF-8): MySQL数据库服务器
Name: mysql-%{mysqlversion}
-Version: 8.2.0
+Version: 8.4.0
Release: 1
License: GPL v2 + MySQL FOSS License Exception
Group: Applications/Databases
Source0: http://cdn.mysql.com/Downloads/MySQL-%{mysqlversion}/mysql-%{version}.tar.gz
-# Source0-md5: 9ddeecbdb046cd4a8a4340445206130d
+# Source0-md5: c3b1ccd1ba5b09f118ce6e27f0f0df98
Source100: http://www.sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz
# Source100-md5: 5cac34f3d78a9d612ca4301abfcbd666
%if %{without system_boost}
Source14: my.cnf
Patch0: no_relative_paths.patch
Patch1: mysql-system-xxhash.patch
-Patch2: zlib.patch
Patch17: mysql-5.7-sphinx.patch
Patch18: mysql-sphinx.patch
%patch0 -p1
%patch1 -p1
-%patch2 -p1
%if %{with sphinx}
# http://www.sphinxsearch.com/docs/manual-0.9.9.html#sphinxse-mysql51
%{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/%{name}/mysqld.sym}
# do not clobber users $PATH
-%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/mysql_upgrade
%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/innochecksum
%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisamchk
%{__mv} $RPM_BUILD_ROOT{%{_libdir}/mysql/%{mysqlversion}/bin,%{_libdir}/mysql/%{mysqlversion}/sbin}/myisamlog
%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlman.1*
%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlslap.1*
%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/comp_err.1*
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/lz4_decompress.1*
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/man/man1/zlib_decompress.1*
# we don't package those (we have no -test or -testsuite pkg) and some of them just segfault
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/mysql/%{mysqlversion}/test
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/{comp_err,mysql_client_test,mysql_keyring_encryption_test,mysqlslap,mysqltest,mysqltest_safe_process,mysqlxtest,zlib_decompress}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/bin/{comp_err,mysql_client_test,mysql_keyring_encryption_test,mysql_test_event_tracking,mysqlslap,mysqltest,mysqltest_safe_process,mysqlxtest}
%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/test_udf_services.so
%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_example_*.so
%{__rm} $RPM_BUILD_ROOT%{_libdir}/mysql/%{mysqlversion}/plugin/component_log_sink_test.so
update-alternatives \
--install %{_sbindir}/myisampack myisampack %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack %{mysqlpriority} \
--slave %{_mandir}/man1/myisampack.1 myisampack.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/myisampack.1* || :
-update-alternatives \
- --install %{_sbindir}/mysql_upgrade mysql_upgrade %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade %{mysqlpriority} \
- --slave %{_mandir}/man1/mysql_upgrade.1 mysql_upgrade.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_upgrade.1* || :
update-alternatives \
--install %{_sbindir}/mysqlcheck mysqlcheck %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck %{mysqlpriority} \
--slave %{_mandir}/man1/mysqlcheck.1 mysqlcheck.1 %{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlcheck.1* || :
update-alternatives --remove myisamchk %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk || :
update-alternatives --remove myisamlog %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog || :
update-alternatives --remove myisampack %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack || :
- update-alternatives --remove mysql_upgrade %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade || :
update-alternatives --remove mysqlcheck %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck || :
update-alternatives --remove mysqld %{_libdir}/mysql/%{mysqlversion}/sbin/mysqld || :
fi
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisamchk
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisamlog
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/myisampack
-%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysql_upgrade
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysqlcheck
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/sbin/mysqld
%dir %{_libdir}/mysql/%{mysqlversion}/plugin
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ddl_rewriter.so
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/group_replication.so
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/ha_mock.so
-%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/keyring_file.so
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/keyring_udf.so
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/libpluginmecab.so
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/plugin/locking_service.so
%{_datadir}/mysql/%{mysqlversion}/man/man1/myisamchk.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/myisamlog.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/myisampack.1*
-%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_upgrade.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlcheck.1*
%{_datadir}/mysql/%{mysqlversion}/man/man8/mysqld.8*
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/myisam_ftdump
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_secure_installation
-%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_ssl_rsa_setup
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_tzinfo_to_sql
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/perror
%{_datadir}/mysql/%{mysqlversion}/man/man1/myisam_ftdump.1*
-%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_ssl_rsa_setup.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_secure_installation.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_tzinfo_to_sql.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/perror.1*
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysql_config_editor
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqldump
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlimport
-%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlpump
%attr(755,root,root) %{_libdir}/mysql/%{mysqlversion}/bin/mysqlshow
%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqladmin.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/mysql_config_editor.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqldump.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlimport.1*
-%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlpump.1*
%{_datadir}/mysql/%{mysqlversion}/man/man1/mysqlshow.1*
%files libs
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/%{mysqlversion}/mysql-client.conf
%{_sysconfdir}/mysql/%{mysqlversion}/my.cnf
%attr(755,root,root) %{_libdir}/libmysqlclient.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.22
+%attr(755,root,root) %ghost %{_libdir}/libmysqlclient.so.24
%if %{with ndb}
%attr(755,root,root) %{_libdir}/libndbclient.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libndbclient.so.3
-diff -urNpa mysql-8.2.0.orig/sql/mysqld.cc mysql-8.2.0/sql/mysqld.cc
---- mysql-8.2.0.orig/sql/mysqld.cc 2023-12-30 12:55:09.027295242 +0100
-+++ mysql-8.2.0/sql/mysqld.cc 2023-12-30 13:03:21.431172893 +0100
-@@ -1967,7 +1967,6 @@ static void add_terminator(vector<my_opt
+diff -urNpa mysql-8.4.0.orig/sql/mysqld.cc mysql-8.4.0/sql/mysqld.cc
+--- mysql-8.4.0.orig/sql/mysqld.cc 2024-05-09 14:56:29.863000671 +0200
++++ mysql-8.4.0/sql/mysqld.cc 2024-05-09 14:56:52.199313987 +0200
+@@ -1954,7 +1954,6 @@ static void add_terminator(vector<my_opt
extern "C" bool mysqld_get_one_option(int, const struct my_option *, char *);
static void set_server_version(void);
static int init_thread_environment();
static int fix_paths(void);
static int test_if_case_insensitive(const char *dir_name);
static void end_ssl();
-@@ -7880,7 +7879,7 @@ static char *get_icu_data_directory_in_b
+@@ -7732,7 +7731,7 @@ static char *get_icu_data_directory_in_b
// Look for MYSQL_ICU_DATADIR which depends on INSTALL_PRIV_LIBDIR
static char *get_icu_data_directory_in_install_dir(char *to) {
char buff[FN_REFLEN];
if (test_if_hard_path(mysql_icu_datadir))
strmake(buff, mysql_icu_datadir, sizeof(buff) - 1);
else
-@@ -8987,7 +8986,7 @@ class Plugin_and_data_dir_option_parser
+@@ -8820,7 +8819,7 @@ class Plugin_and_data_dir_option_parser
memset(dir, 0, FN_REFLEN);
convert_dirname(local_plugindir_buffer,
NullS);
(void)my_load_path(local_plugindir_buffer, local_plugindir_buffer,
mysql_home);
-@@ -9077,7 +9076,7 @@ int mysqld_main(int argc, char **argv)
- }
+@@ -8915,7 +8914,7 @@ int mysqld_main(int argc, char **argv)
+ argv_cached[argc_cached] = nullptr;
/* Set data dir directory paths */
- strmake(mysql_real_data_home, get_relative_path(MYSQL_DATADIR),
sizeof(mysql_real_data_home) - 1);
/* Must be initialized early for comparison of options name */
-@@ -13040,15 +13039,6 @@ static void set_server_version(void) {
+@@ -12784,15 +12783,6 @@ static void set_server_version(void) {
#endif
}
/**
Test a file path to determine if the path is compatible with the secure file
path restriction.
-@@ -13273,7 +13263,7 @@ static int fix_paths(void) {
+@@ -13010,7 +13000,7 @@ static int fix_paths(void) {
convert_dirname(
opt_plugin_dir,
NullS);
(void)my_load_path(opt_plugin_dir, opt_plugin_dir, mysql_home);
opt_plugin_dir_ptr = opt_plugin_dir;
-@@ -13284,7 +13274,7 @@ static int fix_paths(void) {
+@@ -13021,7 +13011,7 @@ static int fix_paths(void) {
FN_LIBCHAR)
--mysql_unpacked_real_data_home_len;
+++ /dev/null
---- mysql-8.2.0/scripts/CMakeLists.txt 2023-10-12 13:40:36.000000000 +0200
-+++ mysql-8.2.0/scripts/CMakeLists.txt 2024-01-10 02:46:32.077847125 +0100
-@@ -314,10 +314,12 @@
- FOREACH(lib ${TARGET_LIB_DEPENDS})
- IF (lib MATCHES "^\\-l")
- SET(${var} "${${var}} ${lib} ")
-- ELSEIF (lib MATCHES "^ext::")
-+ ELSEIF (lib MATCHES "^ext::" AND NOT lib MATCHES "^ext::zlib")
- STRING(REGEX MATCH "ext::([a-z]+)" MATCH_LIB "${lib}")
- SET(SYSTEM_LIB ${CMAKE_MATCH_1})
- SET(${var} "${${var}} -l${SYSTEM_LIB} ")
-+ ELSEIF(lib MATCHES "ext::zlib")
-+ SET(${var} "${${var}} -lz ")
- ELSEIF(lib MATCHES "OpenSSL::SSL")
- SET(${var} "${${var}} -lssl ")
- ELSEIF(lib MATCHES "OpenSSL::Crypto")