From 6f1be6b0e2f2a8ad6137083d67493c1dfa92e38e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 17 Jun 2024 11:41:45 +0200 Subject: [PATCH] Rebase to 8.4.0 mysql-c99.patch - directory "plugin/innodb_memcached" no longer exists boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch - upstreamed ExcludeArch: %{ix86} - MySQL 8.4 is not supported on 32-bit architectures %ifnarch aarch64 s390x BuildRequires: libquadmath-devel %endif - sub-package of gcc - Only available on some architectures %{_bindir}/mysql_upgrade - was deprecated in 8.0 - now no longer available %global runselftest 0 - disable testsuite during development time, takes ages to complete on s390x and produces random failures on ppc64le - I've checked that the result is sane --- boost-1.57.0-mpl-print.patch | 9 +-- ...fix_multiprecision_issue_419-ppc64le.patch | 27 -------- mysql-c99.patch | 12 ---- mysql-mtr.patch | 12 ++-- mysql8.0.spec | 66 +++++++++---------- sources | 2 +- 6 files changed, 41 insertions(+), 87 deletions(-) delete mode 100644 boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch delete mode 100644 mysql-c99.patch diff --git a/boost-1.57.0-mpl-print.patch b/boost-1.57.0-mpl-print.patch index 561cef1..0e70d4b 100644 --- a/boost-1.57.0-mpl-print.patch +++ b/boost-1.57.0-mpl-print.patch @@ -1,7 +1,6 @@ -diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp ---- boost_1_57_0/boost/mpl/print.hpp~ 2014-07-09 23:12:31.000000000 +0200 -+++ boost_1_57_0/boost/mpl/print.hpp 2015-01-20 12:44:59.621400948 +0100 -@@ -52,16 +52,15 @@ struct print +--- mysql-8.4.0/extra/boost/boost_1_84_0/boost/mpl/print.hpp 2024-04-10 08:26:28.000000000 +0200 ++++ mysql-8.4.0/extra/boost/boost_1_84_0/boost/mpl/print.hpp_patched 2024-05-28 15:35:45.071390863 +0200 +@@ -55,16 +55,15 @@ struct print enum { n = sizeof(T) + -1 }; #elif defined(__MWERKS__) void f(int); @@ -27,5 +26,3 @@ diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp }; #if defined(BOOST_MSVC) - -Diff finished. Tue Jan 20 12:45:03 2015 diff --git a/boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch b/boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch deleted file mode 100644 index 5cd6d40..0000000 --- a/boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch +++ /dev/null @@ -1,27 +0,0 @@ -From d1343f28dcbe25b100b082b34775bd92ead4602c Mon Sep 17 00:00:00 2001 -From: jzmaddock -Date: Tue, 25 Jan 2022 09:27:40 +0000 -Subject: [PATCH] Update gcc Intel intrinsic usage config. Fixes - https://github.com/boostorg/multiprecision/issues/419. - ---- - include/boost/multiprecision/cpp_int/intel_intrinsics.hpp | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp -index eb4624bb4..37717cd51 100644 ---- a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp -+++ b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp -@@ -19,7 +19,11 @@ - // If this is GCC/clang, then check that the actual intrinsic exists: - // - #if defined(__has_builtin) && defined(__GNUC__) --#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) && !(defined(BOOST_GCC) && (__GNUC__ >= 9)) -+#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) \ -+ && !(defined(BOOST_GCC) && (__GNUC__ >= 9) \ -+ && (defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)\ -+ || defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_AMD64) \ -+ || defined(_M_X64) || defined(__amd64__) || defined(_M_X64))) - #undef BOOST_MP_HAS_IMMINTRIN_H - #endif - #elif defined(BOOST_MP_HAS_IMMINTRIN_H) && defined(__GNUC__) && !(defined(BOOST_GCC) && (__GNUC__ >= 9)) diff --git a/mysql-c99.patch b/mysql-c99.patch deleted file mode 100644 index 935e64f..0000000 --- a/mysql-c99.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur mysql-8.0.35.orig/plugin/innodb_memcached/daemon_memcached/daemon/memcached.c mysql-8.0.35/plugin/innodb_memcached/daemon_memcached/daemon/memcached.c ---- mysql-8.0.35.orig/plugin/innodb_memcached/daemon_memcached/daemon/memcached.c 2023-10-12 13:45:01.000000000 +0200 -+++ mysql-8.0.35/plugin/innodb_memcached/daemon_memcached/daemon/memcached.c 2023-12-19 10:48:46.718006624 +0100 -@@ -4070,7 +4070,7 @@ - do { - while(key_token->length != 0) { - /* whether there are more keys to fetch */ -- bool next_get = (key_token + 1)->value; -+ bool next_get = (key_token + 1)->value != NULL; - - key = key_token->value; - nkey = key_token->length; diff --git a/mysql-mtr.patch b/mysql-mtr.patch index 3bb6559..3be70c5 100644 --- a/mysql-mtr.patch +++ b/mysql-mtr.patch @@ -80,13 +80,11 @@ I'm not sure whether the output is synchronous, but even if it wasn'tit still lo -diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl -index 26e6c92c..9d85c6d6 100755 ---- a/mysql-test/mysql-test-run.pl -+++ b/mysql-test/mysql-test-run.pl -@@ -3533,17 +3533,6 @@ sub setup_vardir() { - mkpath("$opt_vardir/tmp"); - mkpath($opt_tmpdir) if ($opt_tmpdir ne "$opt_vardir/tmp"); +--- mysql-8.4.0/mysql-test/mysql-test-run.pl 2024-05-06 09:54:53.012901610 +0200 ++++ mysql-8.4.0/mysql-test/mysql-test-run.pl_patched 2024-05-28 15:30:10.463224713 +0200 +@@ -3591,17 +3591,6 @@ sub setup_vardir() { + mtr_report("RR recording for server is enabled. For replay, execute: \"rr replay $opt_vardir\/rr_trace/mysqld-N\""); + } - # On some operating systems, there is a limit to the length of a - # UNIX domain socket's path far below PATH_MAX. Don't allow that diff --git a/mysql8.0.spec b/mysql8.0.spec index d1cef99..a03724f 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -1,17 +1,19 @@ +ExcludeArch: %{ix86} + # Name of the package without any prefixes %global majorname mysql -%global package_version 8.0.37 +%global package_version 8.4.0 %define majorversion %(echo %{package_version} | cut -d'.' -f1-2 ) %global pkgnamepatch mysql # Set if this package will be the default one in distribution -%{!?mysql_default:%global mysql_default 1} +%{!?mysql_default:%global mysql_default 0} # Regression tests may take a long time (many cores recommended), skip them by # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining # --nocheck is not possible (e.g. in koji build) -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -29,7 +31,7 @@ %global skiplist platform-specific-tests.list -%global boost_bundled_version 1.77.0 +%global boost_bundled_version 1.84.0 # For some use cases we do not need some parts of the package @@ -102,7 +104,7 @@ Name: %{majorname}%{majorversion} Version: %{package_version} -Release: 3%{?with_debug:.debug}%{?dist} +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -110,7 +112,7 @@ URL: http://www.mysql.com # not only GPL code. See README.mysql-license License: GPL-2.0-or-later AND LGPL-2.1-only AND BSL-1.0 AND GPL-1.0-or-later OR Artistic-1.0-Perl AND BSD-2-Clause -Source0: https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-%{version}.tar.gz +Source0: https://cdn.mysql.com/Downloads/MySQL-8.4/mysql-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source6: README.mysql-docs @@ -143,16 +145,11 @@ Patch5: %{pkgnamepatch}-paths.patch Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch -Patch55: %{pkgnamepatch}-c99.patch Patch56: %{pkgnamepatch}-flush-logrotate.patch # Patches taken from boost 1.59 -Patch111: boost-1.58.0-pool.patch Patch112: boost-1.57.0-mpl-print.patch -# Patches taken from boost 1.76 -Patch113: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch - # This macro is used for package/sub-package names in the entire specfile %if %?mysql_default %global pkgname %{majorname} @@ -175,6 +172,7 @@ BuildRequires: libzstd-devel BuildRequires: libcurl-devel %ifnarch aarch64 s390x BuildRequires: numactl-devel +BuildRequires: libquadmath-devel %endif BuildRequires: openssl BuildRequires: openssl-devel @@ -287,11 +285,13 @@ client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files. +%if %?mysql_default %description -n %{pkgname} MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files. +%endif %if %{with clibrary} %package -n %{pkgname}-libs @@ -485,15 +485,11 @@ the MySQL sources. %patch -P5 -p1 %patch -P51 -p1 %patch -P52 -p1 -%patch -P53 -p1 -%patch -P55 -p1 %patch -P56 -p1 # Patch Boost -pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) -%patch -P111 -p0 -%patch -P112 -p1 -%patch -P113 -p2 +pushd extra/boost/boost_$(echo %{boost_bundled_version}| tr . _) +%patch -P112 -p4 popd # Remove bundled code that is unused (all cases in which we use the system version of the library instead) @@ -502,7 +498,6 @@ rm -r extra/curl rm -r extra/icu rm -r extra/libcbor rm -r extra/libedit -rm -r extra/libevent rm -r extra/libfido2 rm -r extra/protobuf rm -r extra/tirpc @@ -706,10 +701,10 @@ rm %{buildroot}%{_mandir}/man1/mysql_config.1* %if ! %{with client} rm %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ mysql_plugin,mysqladmin,mysqlbinlog,\ -mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} rm %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ mysql_plugin,mysqladmin,mysqlbinlog,\ -mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* +mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{with config} @@ -730,7 +725,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if ! %{with test} -rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process,zlib_decompress} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process} rm -r %{buildroot}%{_datadir}/mysql-test %endif @@ -816,7 +811,6 @@ fi %{_bindir}/mysqlcheck %{_bindir}/mysqldump %{_bindir}/mysqlimport -%{_bindir}/mysqlpump %{_bindir}/mysqlshow %{_bindir}/mysqlslap @@ -827,7 +821,6 @@ fi %{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqlimport.1* -%{_mandir}/man1/mysqlpump.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %endif @@ -895,9 +888,7 @@ fi %{_bindir}/my_print_defaults %{_bindir}/mysql_migrate_keyring %{_bindir}/mysql_secure_installation -%{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql -%{_bindir}/mysql_upgrade %{_bindir}/mysqld_pre_systemd %{_bindir}/mysqldumpslow %{_bindir}/innochecksum @@ -919,7 +910,7 @@ fi %dir %{_libdir}/mysql/plugin %{_libdir}/mysql/plugin/adt_null.so %{_libdir}/mysql/plugin/auth_socket.so -%{?with_fido:%{_libdir}/mysql/plugin/authentication_fido_client.so} +%{?with_fido:%{_libdir}/mysql/plugin/authentication_webauthn_client.so} %{?with_fido:%{_libdir}/mysql/plugin/authentication_oci_client.so} %{?with_kerberos:%{_libdir}/mysql/plugin/authentication_kerberos_client.so} %{?with_ldap:%{_libdir}/mysql/plugin/authentication_ldap_sasl_client.so} @@ -939,10 +930,7 @@ fi %{_libdir}/mysql/plugin/group_replication.so %{_libdir}/mysql/plugin/ha_example.so %{_libdir}/mysql/plugin/ha_mock.so -%{_libdir}/mysql/plugin/innodb_engine.so -%{_libdir}/mysql/plugin/keyring_file.so %{_libdir}/mysql/plugin/keyring_udf.so -%{_libdir}/mysql/plugin/libmemcached.so %{_libdir}/mysql/plugin/libpluginmecab.so %{_libdir}/mysql/plugin/locking_service.so %{_libdir}/mysql/plugin/mypluglib.so @@ -964,14 +952,11 @@ fi %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql_secure_installation.1* -%{_mandir}/man1/mysql_ssl_rsa_setup.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* -%{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* -%{_mandir}/man1/lz4_decompress.1* %{_mandir}/man8/mysqld.8* %{_datadir}/%{majorname}/dictionary.txt @@ -1015,9 +1000,8 @@ fi %{_bindir}/mysqlxtest %{_bindir}/mysqld_safe %{_bindir}/comp_err -%{_bindir}/zlib_decompress +%{_bindir}/mysql_test_event_tracking %attr(-,mysql,mysql) %{_datadir}/mysql-test -%{_mandir}/man1/zlib_decompress.1* %dir %{_libdir}/mysql %dir %{_libdir}/mysql/plugin @@ -1106,9 +1090,23 @@ fi %{_libdir}/mysql/plugin/test_services_plugin_registry.so %{_libdir}/mysql/plugin/test_udf_services.so %{_libdir}/mysql/plugin/udf_example.so + +%{_libdir}/mysql/plugin/component_test_event_tracking_consumer.so +%{_libdir}/mysql/plugin/component_test_event_tracking_consumer_a.so +%{_libdir}/mysql/plugin/component_test_event_tracking_consumer_b.so +%{_libdir}/mysql/plugin/component_test_event_tracking_consumer_c.so +%{_libdir}/mysql/plugin/component_test_event_tracking_producer_a.so +%{_libdir}/mysql/plugin/component_test_event_tracking_producer_b.so +%{_libdir}/mysql/plugin/component_test_execute_prepared_statement.so +%{_libdir}/mysql/plugin/component_test_execute_regular_statement.so +%{_libdir}/mysql/plugin/component_test_mysql_signal_handler.so +%{_libdir}/mysql/plugin/component_test_server_telemetry_metrics.so %endif %changelog +* Fri Jun 14 2024 Michal Schorm - 8.4.0-1 +- Rebase to 8.4.0 + * Wed Jun 12 2024 Michal Schorm - 8.0.37-3 - Bump release for package rebuild diff --git a/sources b/sources index 77e33ed..866e3dc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.37.tar.gz) = 4c6033d4f96990d3f324f0d5733273425ddf7cc11660e110e0dc848da6cfa47b7565c1eb0b5d1e08878a0ea2c7d1eb85b400ccca28e5b4383f7e9216ba3e1660 +SHA512 (mysql-8.4.0.tar.gz) = 59d54a8405b5cab0de95c67f3228b0b292a03b12147e8dc01f67b34b407c1e4f9644340d7dfdc1f23d1d081a749d5a49f6361b540bfc1789a9068b56dc5da08c