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
This commit is contained in:
Michal Schorm 2024-06-17 11:41:45 +02:00
parent 2652580919
commit 6f1be6b0e2
6 changed files with 41 additions and 87 deletions

View File

@ -1,7 +1,6 @@
diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp --- mysql-8.4.0/extra/boost/boost_1_84_0/boost/mpl/print.hpp 2024-04-10 08:26:28.000000000 +0200
--- boost_1_57_0/boost/mpl/print.hpp~ 2014-07-09 23:12:31.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
+++ boost_1_57_0/boost/mpl/print.hpp 2015-01-20 12:44:59.621400948 +0100 @@ -55,16 +55,15 @@ struct print
@@ -52,16 +52,15 @@ struct print
enum { n = sizeof(T) + -1 }; enum { n = sizeof(T) + -1 };
#elif defined(__MWERKS__) #elif defined(__MWERKS__)
void f(int); 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) #if defined(BOOST_MSVC)
Diff finished. Tue Jan 20 12:45:03 2015

View File

@ -1,27 +0,0 @@
From d1343f28dcbe25b100b082b34775bd92ead4602c Mon Sep 17 00:00:00 2001
From: jzmaddock <john@johnmaddock.co.uk>
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))

View File

@ -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;

View File

@ -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 --- mysql-8.4.0/mysql-test/mysql-test-run.pl 2024-05-06 09:54:53.012901610 +0200
index 26e6c92c..9d85c6d6 100755 +++ mysql-8.4.0/mysql-test/mysql-test-run.pl_patched 2024-05-28 15:30:10.463224713 +0200
--- a/mysql-test/mysql-test-run.pl @@ -3591,17 +3591,6 @@ sub setup_vardir() {
+++ b/mysql-test/mysql-test-run.pl mtr_report("RR recording for server is enabled. For replay, execute: \"rr replay $opt_vardir\/rr_trace/mysqld-N\"");
@@ -3533,17 +3533,6 @@ sub setup_vardir() { }
mkpath("$opt_vardir/tmp");
mkpath($opt_tmpdir) if ($opt_tmpdir ne "$opt_vardir/tmp");
- # On some operating systems, there is a limit to the length of a - # 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 - # UNIX domain socket's path far below PATH_MAX. Don't allow that

View File

@ -1,17 +1,19 @@
ExcludeArch: %{ix86}
# Name of the package without any prefixes # Name of the package without any prefixes
%global majorname mysql %global majorname mysql
%global package_version 8.0.37 %global package_version 8.4.0
%define majorversion %(echo %{package_version} | cut -d'.' -f1-2 ) %define majorversion %(echo %{package_version} | cut -d'.' -f1-2 )
%global pkgnamepatch mysql %global pkgnamepatch mysql
# Set if this package will be the default one in distribution # 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 # 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 # passing --nocheck to rpmbuild or by setting runselftest to 0 if defining
# --nocheck is not possible (e.g. in koji build) # --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 # Set this to 1 to see which tests fail, but 0 on production ready build
%global ignore_testsuite_result 0 %global ignore_testsuite_result 0
@ -29,7 +31,7 @@
%global skiplist platform-specific-tests.list %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 # For some use cases we do not need some parts of the package
@ -102,7 +104,7 @@
Name: %{majorname}%{majorversion} Name: %{majorname}%{majorversion}
Version: %{package_version} Version: %{package_version}
Release: 3%{?with_debug:.debug}%{?dist} Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com URL: http://www.mysql.com
@ -110,7 +112,7 @@ URL: http://www.mysql.com
# not only GPL code. See README.mysql-license # 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 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 Source2: mysql_config_multilib.sh
Source3: my.cnf.in Source3: my.cnf.in
Source6: README.mysql-docs Source6: README.mysql-docs
@ -143,16 +145,11 @@ Patch5: %{pkgnamepatch}-paths.patch
Patch51: %{pkgnamepatch}-sharedir.patch Patch51: %{pkgnamepatch}-sharedir.patch
Patch52: %{pkgnamepatch}-rpath.patch Patch52: %{pkgnamepatch}-rpath.patch
Patch53: %{pkgnamepatch}-mtr.patch Patch53: %{pkgnamepatch}-mtr.patch
Patch55: %{pkgnamepatch}-c99.patch
Patch56: %{pkgnamepatch}-flush-logrotate.patch Patch56: %{pkgnamepatch}-flush-logrotate.patch
# Patches taken from boost 1.59 # Patches taken from boost 1.59
Patch111: boost-1.58.0-pool.patch
Patch112: boost-1.57.0-mpl-print.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 # This macro is used for package/sub-package names in the entire specfile
%if %?mysql_default %if %?mysql_default
%global pkgname %{majorname} %global pkgname %{majorname}
@ -175,6 +172,7 @@ BuildRequires: libzstd-devel
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
%ifnarch aarch64 s390x %ifnarch aarch64 s390x
BuildRequires: numactl-devel BuildRequires: numactl-devel
BuildRequires: libquadmath-devel
%endif %endif
BuildRequires: openssl BuildRequires: openssl
BuildRequires: openssl-devel 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 and many different client programs and libraries. The base package
contains the standard MySQL client programs and generic MySQL files. contains the standard MySQL client programs and generic MySQL files.
%if %?mysql_default
%description -n %{pkgname} %description -n %{pkgname}
MySQL is a multi-user, multi-threaded SQL database server. MySQL is a MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
client/server implementation consisting of a server daemon (mysqld) client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. The base package and many different client programs and libraries. The base package
contains the standard MySQL client programs and generic MySQL files. contains the standard MySQL client programs and generic MySQL files.
%endif
%if %{with clibrary} %if %{with clibrary}
%package -n %{pkgname}-libs %package -n %{pkgname}-libs
@ -485,15 +485,11 @@ the MySQL sources.
%patch -P5 -p1 %patch -P5 -p1
%patch -P51 -p1 %patch -P51 -p1
%patch -P52 -p1 %patch -P52 -p1
%patch -P53 -p1
%patch -P55 -p1
%patch -P56 -p1 %patch -P56 -p1
# Patch Boost # Patch Boost
pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) pushd extra/boost/boost_$(echo %{boost_bundled_version}| tr . _)
%patch -P111 -p0 %patch -P112 -p4
%patch -P112 -p1
%patch -P113 -p2
popd popd
# Remove bundled code that is unused (all cases in which we use the system version of the library instead) # 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/icu
rm -r extra/libcbor rm -r extra/libcbor
rm -r extra/libedit rm -r extra/libedit
rm -r extra/libevent
rm -r extra/libfido2 rm -r extra/libfido2
rm -r extra/protobuf rm -r extra/protobuf
rm -r extra/tirpc rm -r extra/tirpc
@ -706,10 +701,10 @@ rm %{buildroot}%{_mandir}/man1/mysql_config.1*
%if ! %{with client} %if ! %{with client}
rm %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ rm %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\
mysql_plugin,mysqladmin,mysqlbinlog,\ 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,\ rm %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\
mysql_plugin,mysqladmin,mysqlbinlog,\ mysql_plugin,mysqladmin,mysqlbinlog,\
mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1*
%endif %endif
%if %{with config} %if %{with config}
@ -730,7 +725,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian}
%endif %endif
%if ! %{with test} %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 rm -r %{buildroot}%{_datadir}/mysql-test
%endif %endif
@ -816,7 +811,6 @@ fi
%{_bindir}/mysqlcheck %{_bindir}/mysqlcheck
%{_bindir}/mysqldump %{_bindir}/mysqldump
%{_bindir}/mysqlimport %{_bindir}/mysqlimport
%{_bindir}/mysqlpump
%{_bindir}/mysqlshow %{_bindir}/mysqlshow
%{_bindir}/mysqlslap %{_bindir}/mysqlslap
@ -827,7 +821,6 @@ fi
%{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqlcheck.1*
%{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqldump.1*
%{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlimport.1*
%{_mandir}/man1/mysqlpump.1*
%{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/mysqlslap.1*
%endif %endif
@ -895,9 +888,7 @@ fi
%{_bindir}/my_print_defaults %{_bindir}/my_print_defaults
%{_bindir}/mysql_migrate_keyring %{_bindir}/mysql_migrate_keyring
%{_bindir}/mysql_secure_installation %{_bindir}/mysql_secure_installation
%{_bindir}/mysql_ssl_rsa_setup
%{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_tzinfo_to_sql
%{_bindir}/mysql_upgrade
%{_bindir}/mysqld_pre_systemd %{_bindir}/mysqld_pre_systemd
%{_bindir}/mysqldumpslow %{_bindir}/mysqldumpslow
%{_bindir}/innochecksum %{_bindir}/innochecksum
@ -919,7 +910,7 @@ fi
%dir %{_libdir}/mysql/plugin %dir %{_libdir}/mysql/plugin
%{_libdir}/mysql/plugin/adt_null.so %{_libdir}/mysql/plugin/adt_null.so
%{_libdir}/mysql/plugin/auth_socket.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_fido:%{_libdir}/mysql/plugin/authentication_oci_client.so}
%{?with_kerberos:%{_libdir}/mysql/plugin/authentication_kerberos_client.so} %{?with_kerberos:%{_libdir}/mysql/plugin/authentication_kerberos_client.so}
%{?with_ldap:%{_libdir}/mysql/plugin/authentication_ldap_sasl_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/group_replication.so
%{_libdir}/mysql/plugin/ha_example.so %{_libdir}/mysql/plugin/ha_example.so
%{_libdir}/mysql/plugin/ha_mock.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/keyring_udf.so
%{_libdir}/mysql/plugin/libmemcached.so
%{_libdir}/mysql/plugin/libpluginmecab.so %{_libdir}/mysql/plugin/libpluginmecab.so
%{_libdir}/mysql/plugin/locking_service.so %{_libdir}/mysql/plugin/locking_service.so
%{_libdir}/mysql/plugin/mypluglib.so %{_libdir}/mysql/plugin/mypluglib.so
@ -964,14 +952,11 @@ fi
%{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/myisam_ftdump.1*
%{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/my_print_defaults.1*
%{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_secure_installation.1*
%{_mandir}/man1/mysql_ssl_rsa_setup.1*
%{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1*
%{_mandir}/man1/mysql_upgrade.1*
%{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqldumpslow.1*
%{_mandir}/man1/mysqlman.1* %{_mandir}/man1/mysqlman.1*
%{_mandir}/man1/innochecksum.1* %{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/perror.1* %{_mandir}/man1/perror.1*
%{_mandir}/man1/lz4_decompress.1*
%{_mandir}/man8/mysqld.8* %{_mandir}/man8/mysqld.8*
%{_datadir}/%{majorname}/dictionary.txt %{_datadir}/%{majorname}/dictionary.txt
@ -1015,9 +1000,8 @@ fi
%{_bindir}/mysqlxtest %{_bindir}/mysqlxtest
%{_bindir}/mysqld_safe %{_bindir}/mysqld_safe
%{_bindir}/comp_err %{_bindir}/comp_err
%{_bindir}/zlib_decompress %{_bindir}/mysql_test_event_tracking
%attr(-,mysql,mysql) %{_datadir}/mysql-test %attr(-,mysql,mysql) %{_datadir}/mysql-test
%{_mandir}/man1/zlib_decompress.1*
%dir %{_libdir}/mysql %dir %{_libdir}/mysql
%dir %{_libdir}/mysql/plugin %dir %{_libdir}/mysql/plugin
@ -1106,9 +1090,23 @@ fi
%{_libdir}/mysql/plugin/test_services_plugin_registry.so %{_libdir}/mysql/plugin/test_services_plugin_registry.so
%{_libdir}/mysql/plugin/test_udf_services.so %{_libdir}/mysql/plugin/test_udf_services.so
%{_libdir}/mysql/plugin/udf_example.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 %endif
%changelog %changelog
* Fri Jun 14 2024 Michal Schorm <mschorm@redhat.com> - 8.4.0-1
- Rebase to 8.4.0
* Wed Jun 12 2024 Michal Schorm <mschorm@redhat.com> - 8.0.37-3 * Wed Jun 12 2024 Michal Schorm <mschorm@redhat.com> - 8.0.37-3
- Bump release for package rebuild - Bump release for package rebuild

View File

@ -1 +1 @@
SHA512 (mysql-boost-8.0.37.tar.gz) = 4c6033d4f96990d3f324f0d5733273425ddf7cc11660e110e0dc848da6cfa47b7565c1eb0b5d1e08878a0ea2c7d1eb85b400ccca28e5b4383f7e9216ba3e1660 SHA512 (mysql-8.4.0.tar.gz) = 59d54a8405b5cab0de95c67f3228b0b292a03b12147e8dc01f67b34b407c1e4f9644340d7dfdc1f23d1d081a749d5a49f6361b540bfc1789a9068b56dc5da08c