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

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

View File

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