diff --git a/README.mysql-license b/README.mysql-license index ceabbcf..8c0dda9 100644 --- a/README.mysql-license +++ b/README.mysql-license @@ -3,7 +3,10 @@ that allow the client libraries to be linked with a non-GPL application, so long as the application is under a license approved by Oracle. For details see -http://www.mysql.com/about/legal/licensing/foss-exception/ +'The Universal FOSS Exception, Version 1.0': + https://oss.oracle.com/licenses/universal-foss-exception/ +A predecessor of that license exception is now deprecated 'FOSS License Exception': + http://www.mysql.com/about/legal/licensing/foss-exception/ Some innobase code from Percona and Google is under BSD license. Some code related to test-suite is under LGPLv2. diff --git a/mysql-openssl-engine.patch b/mysql-openssl-engine.patch deleted file mode 100644 index 28ced66..0000000 --- a/mysql-openssl-engine.patch +++ /dev/null @@ -1,15 +0,0 @@ -https://fedoraproject.org/wiki/Changes/OpensslDeprecateEngine -https://fedoraproject.org/wiki/Changes/OpensslNoEngine - ---- mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc 2024-04-10 08:26:28.000000000 +0200 -+++ mysql-8.4.0/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/network/xcom_network_provider_ssl_native_lib.cc_patched 2024-07-18 18:33:26.237771364 +0200 -@@ -50,7 +50,9 @@ - #include "my_compiler.h" - #endif - -+#if !defined(OPENSSL_NO_ENGINE) - #include "openssl/engine.h" -+#endif - - #include "xcom/retry.h" - #include "xcom/task_debug.h" diff --git a/mysql-paths.patch b/mysql-paths.patch index d5978b6..e68d8bf 100644 --- a/mysql-paths.patch +++ b/mysql-paths.patch @@ -3,32 +3,21 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 -diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index 9f7945d8..6734cdfd 100644 ---- a/cmake/install_layout.cmake -+++ b/cmake/install_layout.cmake -@@ -105,7 +105,7 @@ IF(UNIX) - " Choose between ${VALID_INSTALL_LAYOUTS}" ) - ENDIF() - -- SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" -+ SET(SYSCONFDIR "/etc" - CACHE PATH "config directory (for my.cnf)") - MARK_AS_ADVANCED(SYSCONFDIR) +diff -Naur mysql-8.4.6/cmake/install_layout.cmake mysql-8.4.6_patched/cmake/install_layout.cmake +--- mysql-8.4.6/cmake/install_layout.cmake 2025-07-10 16:20:26.000000000 +0200 ++++ mysql-8.4.6_patched/cmake/install_layout.cmake 2025-07-23 09:50:42.278223154 +0200 +@@ -202,6 +202,7 @@ + ELSE() + SET(INSTALL_SBINDIR_RPM "sbin") ENDIF() -@@ -189,6 +189,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) - # - SET(INSTALL_BINDIR_RPM "bin") - SET(INSTALL_SBINDIR_RPM "sbin") +SET(INSTALL_SYSCONFDIR_RPM "/etc") # IF(CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_64BIT_ARCHITECTURES) SET(INSTALL_LIBDIR_RPM "lib64/mysql") -diff --git a/mysys/my_default.cc b/mysys/my_default.cc -index 290f1666..8403425f 100644 ---- a/mysys/my_default.cc -+++ b/mysys/my_default.cc -@@ -1570,12 +1570,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { +diff -Naur mysql-8.4.6/mysys/my_default.cc mysql-8.4.6_patched/mysys/my_default.cc +--- mysql-8.4.6/mysys/my_default.cc 2025-07-10 16:20:26.000000000 +0200 ++++ mysql-8.4.6_patched/mysys/my_default.cc 2025-07-23 09:52:21.494414633 +0200 +@@ -1693,12 +1693,12 @@ #else @@ -44,11 +33,10 @@ index 290f1666..8403425f 100644 #endif /* DEFAULT_SYSCONFDIR */ #endif -diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index 4149a764..b091d5e2 100644 ---- a/scripts/CMakeLists.txt -+++ b/scripts/CMakeLists.txt -@@ -288,9 +288,9 @@ IF(UNIX) +diff -Naur mysql-8.4.6/scripts/CMakeLists.txt mysql-8.4.6_patched/scripts/CMakeLists.txt +--- mysql-8.4.6/scripts/CMakeLists.txt 2025-07-10 16:20:26.000000000 +0200 ++++ mysql-8.4.6_patched/scripts/CMakeLists.txt 2025-07-23 09:53:30.114124746 +0200 +@@ -331,9 +331,9 @@ ENDIF(UNIX) SET(prefix "${CMAKE_INSTALL_PREFIX}") @@ -60,11 +48,10 @@ index 4149a764..b091d5e2 100644 SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) SET(libsubdir ${INSTALL_LIBDIR}) SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR}) -diff --git a/scripts/mysqld_multi.pl.in b/scripts/mysqld_multi.pl.in -index 84dd4d7c..50397ddd 100644 ---- a/scripts/mysqld_multi.pl.in -+++ b/scripts/mysqld_multi.pl.in -@@ -586,9 +586,7 @@ sub list_defaults_files +diff -Naur mysql-8.4.6/scripts/mysqld_multi.pl.in mysql-8.4.6_patched/scripts/mysqld_multi.pl.in +--- mysql-8.4.6/scripts/mysqld_multi.pl.in 2025-07-10 16:20:26.000000000 +0200 ++++ mysql-8.4.6_patched/scripts/mysqld_multi.pl.in 2025-07-23 09:54:16.090991270 +0200 +@@ -587,9 +587,7 @@ my %seen; # Don't list the same file more than once return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } diff --git a/mysql8.4.spec b/mysql8.4.spec index ad13151..e31f129 100644 --- a/mysql8.4.spec +++ b/mysql8.4.spec @@ -2,8 +2,8 @@ ExcludeArch: %{ix86} # Name of the package without any prefixes %global majorname mysql -%global package_version 8.4.4 -%define majorversion %(echo %{package_version} | cut -d'.' -f1-2 ) +%global package_version 8.4.6 +%global majorversion %(echo %{package_version} | cut -d'.' -f1-2 ) %global pkgnamepatch mysql @@ -21,7 +21,7 @@ ExcludeArch: %{ix86} # The last version on which the full testsuite has been run # In case of further rebuilds of that version, don't require full testsuite to be run # run only "main" suite -%global last_tested_version 8.4.4 +%global last_tested_version 8.4.6 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -108,9 +108,9 @@ Release: 2%{?with_debug:.debug}%{?dist}.alma.1 Summary: MySQL client programs and shared libraries URL: http://www.mysql.com -# Exceptions allow client libraries to be linked with most open source SW, -# not only GPL code. See README.mysql-license -License: GPL-2.0-or-later AND LGPL-2.1-only AND BSL-1.0 AND BSD-2-Clause +# The the `Universal-FOSS-exception-1.0` exception allow client libraries to be linked with most open source SW, not only GPL code. +# Usage of the `Universal-FOSS-exception-1.0` in the SPDX license expression does not signify that we regard "Interfaces" as protected by copyright. +License: GPL-2.0-only AND ( GPL-2.0-only WITH Universal-FOSS-exception-1.0 ) AND GPL-2.0-or-later AND ( LGPL-2.0-only WITH Universal-FOSS-exception-1.0 ) AND ( GPL-3.0-or-later WITH Bison-exception-2.2 ) AND ( GPL-2.0-only OR BSD-2-Clause ) AND BSD-2-Clause AND BSL-1.0 AND Apache-2.0 AND MIT Source0: https://cdn.mysql.com/Downloads/MySQL-8.4/mysql-%{version}.tar.gz Source2: mysql_config_multilib.sh @@ -145,7 +145,6 @@ Patch5: %{pkgnamepatch}-paths.patch Patch51: %{pkgnamepatch}-sharedir.patch Patch52: %{pkgnamepatch}-rpath.patch Patch56: %{pkgnamepatch}-flush-logrotate.patch -Patch57: %{pkgnamepatch}-openssl-engine.patch # Patches taken from boost 1.59 Patch112: boost-1.57.0-mpl-print.patch @@ -176,10 +175,6 @@ BuildRequires: libquadmath-devel %endif BuildRequires: openssl BuildRequires: openssl-devel -%if 0%{?fedora} >= 41 -# Complement of mysql-openssl-engine.patch -BuildRequires: openssl-devel-engine -%endif BuildRequires: perl-interpreter BuildRequires: perl-generators @@ -256,9 +251,9 @@ Provides: bundled(rapidjson) # https://github.com/martinus/unordered_dense Provides: bundled(unordered_dense) -%{?with_conflicts_mariadb:Conflicts: mariadb} +%{?with_conflicts_mariadb:Conflicts: mariadb-any} # Explicitly disallow installation of mysql + mariadb-server -%{?with_conflicts_mariadb:Conflicts: mariadb-server} +%{?with_conflicts_mariadb:Conflicts: mariadb-server-any} %{?with_provides_community_mysql:Provides: community-mysql = %community_mysql_version} %{?with_provides_community_mysql:Provides: community-mysql%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql <= %obsolete_community_mysql_version} @@ -270,20 +265,32 @@ Conflicts: %{majorname}%{?1:-%{1}}-any\ # Provide also mysqlX.X if default %if %?mysql_default -%define mysqlX_if_default() %{expand:\ +%define mysqlX_if_default_arched() %{expand:\ +Obsoletes: mysql%{?1:-%{1}} < %{sameevr}\ +Obsoletes: mysql%{majorversion}%{?1:-%{1}} < %{sameevr}\ Provides: mysql%{majorversion}%{?1:-%{1}} = %{sameevr}\ Provides: mysql%{majorversion}%{?1:-%{1}}%{?_isa} = %{sameevr}\ } +%define mysqlX_if_default_noarch() %{expand:\ +Obsoletes: mysql%{?1:-%{1}} < %{sameevr}\ +Obsoletes: mysql%{majorversion}%{?1:-%{1}} < %{sameevr}\ +Provides: mysql%{majorversion}%{?1:-%{1}} = %{sameevr}\ +} %else -%define mysqlX_if_default() %{nil} +%define mysqlX_if_default_arched() %{nil} +%define mysqlX_if_default_noarch() %{nil} %endif -%define add_metadata() %{expand:\ +%define add_metadata_arched() %{expand:\ %conflict_with_other_streams %{**}\ -%mysqlX_if_default %{**}\ +%mysqlX_if_default_arched %{**}\ +} +%define add_metadata_noarch() %{expand:\ +%conflict_with_other_streams %{**}\ +%mysqlX_if_default_noarch %{**}\ } -%add_metadata +%add_metadata_arched %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -307,7 +314,7 @@ Requires: %{pkgname}-common = %{sameevr} %{?with_provides_community_mysql:Provides: community-mysql-libs%{?_isa}= %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-libs <= %obsolete_community_mysql_version} -%add_metadata libs +%add_metadata_arched libs %description -n %{pkgname}-libs The mysql-libs package provides the essential shared libraries for any @@ -324,7 +331,7 @@ Summary: The config files required by server and client %{?with_provides_community_mysql:Provides: community-mysql-config%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-config <= %obsolete_community_mysql_version} -%add_metadata config +%add_metadata_arched config %description -n %{pkgname}-config The package provides the config file my.cnf and my.cnf.d directory used by any @@ -347,7 +354,7 @@ Requires: %{_sysconfdir}/my.cnf %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-common <= %obsolete_community_mysql_version} # As this package is noarch, it can't use the %%{?_isa} RPM macro -%conflict_with_other_streams common +%add_metadata_noarch common %description -n %{pkgname}-common The mysql-common package provides the essential shared files for any @@ -365,7 +372,7 @@ Requires: %{pkgname}-common = %{sameevr} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-errmsg <= %obsolete_community_mysql_version} # As this package is noarch, it can't use the %%{?_isa} RPM macro -%conflict_with_other_streams errmsg +%add_metadata_noarch errmsg %description -n %{pkgname}-errmsg The package provides error messages files for the MySQL daemon @@ -405,16 +412,16 @@ Requires: (mysql-selinux if selinux-policy-targeted) Suggests: logrotate -%{?with_conflicts_mariadb:Conflicts: mariadb-server} -%{?with_conflicts_mariadb:Conflicts: mariadb-server-utils} -%{?with_conflicts_mariadb:Conflicts: mariadb-server-galera} +%{?with_conflicts_mariadb:Conflicts: mariadb-server-any} +%{?with_conflicts_mariadb:Conflicts: mariadb-server-utils-any} +%{?with_conflicts_mariadb:Conflicts: mariadb-server-galera-any} # Explicitly disallow installation of mysql + mariadb-server -%{?with_conflicts_mariadb:Conflicts: mariadb} +%{?with_conflicts_mariadb:Conflicts: mariadb-any} %{?with_provides_community_mysql:Provides: community-mysql-server = %community_mysql_version} %{?with_provides_community_mysql:Provides: community-mysql-server%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-server <= %obsolete_community_mysql_version} -%add_metadata server +%add_metadata_arched server %description -n %{pkgname}-server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -430,13 +437,13 @@ Summary: Files for development of MySQL applications Requires: openssl-devel Requires: zlib-devel Requires: libzstd-devel -%{?with_conflicts_mariadb:Conflicts: mariadb-devel} +%{?with_conflicts_mariadb:Conflicts: mariadb-devel-any} %{?with_conflicts_mariadb:Conflicts: mariadb-connector-c-devel} %{?with_provides_community_mysql:Provides: community-mysql-devel = %community_mysql_version} %{?with_provides_community_mysql:Provides: community-mysql-devel%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-devel <= %obsolete_community_mysql_version} -%add_metadata devel +%add_metadata_arched devel %description -n %{pkgname}-devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -473,12 +480,12 @@ Requires: perl(Test::More) Requires: perl(Time::HiRes) Requires: perl(File::Compare) -%{?with_conflicts_mariadb:Conflicts: mariadb-test} +%{?with_conflicts_mariadb:Conflicts: mariadb-test-any} %{?with_provides_community_mysql:Provides: community-mysql-test = %community_mysql_version} %{?with_provides_community_mysql:Provides: community-mysql-test%{?_isa} = %community_mysql_version} %{?with_obsoletes_community_mysql:Obsoletes: community-mysql-test <= %obsolete_community_mysql_version} -%add_metadata test +%add_metadata_arched test %description -n %{pkgname}-test MySQL is a multi-user, multi-threaded SQL database server. This @@ -491,7 +498,7 @@ BuildArch: noarch Requires: %{pkgname}-test = %{sameevr} # As this package is noarch, it can't use the %%{?_isa} RPM macro -%conflict_with_other_streams test-data +%add_metadata_noarch test-data %description -n %{pkgname}-test-data MySQL is a multi-user, multi-threaded SQL database server. This @@ -509,7 +516,6 @@ regression test suite distributed with the MySQL sources. %patch -P51 -p1 %patch -P52 -p1 %patch -P56 -p1 -%patch -P57 -p1 # Patch Boost pushd extra/boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -722,11 +728,11 @@ rm %{buildroot}%{_mandir}/man1/mysql_config.1* %if ! %{with client} rm %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ -mysql_plugin,mysqladmin,mysqlbinlog,\ -mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap} rm %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ -mysql_plugin,mysqladmin,mysqlbinlog,\ -mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* +mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* %endif %if %{with config} @@ -812,9 +818,6 @@ popd %post -n %{pkgname}-server %systemd_post %{daemon_name}.service -if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then - install /dev/null -m0640 -omysql -gmysql "%{logfile}" -fi %preun -n %{pkgname}-server %systemd_preun %{daemon_name}.service @@ -995,7 +998,6 @@ fi %attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0750,mysql,mysql) %dir %{logfiledir} -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} %if %{with devel} @@ -1131,9 +1133,15 @@ fi %endif %changelog -* Sat Jul 05 2025 Andrew Lukoshko - 8.4.4-2.alma.1 +* Thu Sep 04 2025 Andrew Lukoshko - 8.4.6-2.alma.1 - Add riscv64 support +* Thu Jul 24 2025 Pavol Sloboda - 8.4.6-1 +- Rebase to 8.4.6 + +* Mon Apr 28 2025 Pavol Sloboda - 8.4.5-1 +- Rebase to 8.4.5 + * Fri Feb 14 2025 Michal Schorm - 8.4.4-2 - Rebuilt diff --git a/sources b/sources index 11ec673..458e60b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-8.4.4.tar.gz) = 21f4d8162f57f63a589e3e5e140f89a8cc61f4c55a77dce4601e76192eb3d3fbeaf3bfb78f91345c517ad36bf4267f33202693cfc24812841c517a24fffcfd12 +SHA512 (mysql-8.4.6.tar.gz) = 2d498dc71eeede4368bd70fb1d1c012abd774732e341312f469afa3823c3b37489032b3290fa7531fb78c2b36251dbd1b8e1554c9330e18e56407f96fb8d4a1e