Compare commits

..

1 commit

9 changed files with 64 additions and 139 deletions

View file

@ -1,6 +1,5 @@
diff -Naur mysql-8.4.6/packaging/rpm-common/mysql.logrotate.in mysql-8.4.6_patched/packaging/rpm-common/mysql.logrotate.in
--- mysql-8.4.6/packaging/rpm-common/mysql.logrotate.in 2025-07-10 16:20:26.000000000 +0200
+++ mysql-8.4.6_patched/packaging/rpm-common/mysql.logrotate.in 2025-07-29 10:16:39.509884723 +0200
--- mysql-8.0.40/packaging/rpm-common/mysql.logrotate.in 2024-09-18 12:08:24.000000000 +0200
+++ mysql-8.0.40/packaging/rpm-common/mysql.logrotate.in_patched 2025-02-13 16:00:32.325677977 +0100
@@ -5,18 +5,6 @@
# [mysqld]
# log-error=@LOGFILE_RPM@
@ -31,6 +30,6 @@ diff -Naur mysql-8.4.6/packaging/rpm-common/mysql.logrotate.in mysql-8.4.6_patch
-# @bindir@/mysqladmin flush-logs
-# fi
+# # SIGUSR1 makes the daemon to flush the logs, no need to connect through mysqladmin
+# @bindir@/systemctl kill --signal=USR1 --kill-whom=main mysqld.service 2>/dev/null || true
+# @bindir@/kill -USR1 $(systemctl show --property MainPID --value mysqld)
# endscript
#}

View file

@ -3,21 +3,32 @@ Software Collections. Removing these hard-coded paths should fix it.
Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485
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")
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)
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 -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 @@
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) {
#else
@ -33,10 +44,11 @@ diff -Naur mysql-8.4.6/mysys/my_default.cc mysql-8.4.6_patched/mysys/my_default.
#endif /* DEFAULT_SYSCONFDIR */
#endif
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 @@
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)
ENDIF(UNIX)
SET(prefix "${CMAKE_INSTALL_PREFIX}")
@ -48,10 +60,11 @@ diff -Naur mysql-8.4.6/scripts/CMakeLists.txt mysql-8.4.6_patched/scripts/CMakeL
SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR})
SET(libsubdir ${INSTALL_LIBDIR})
SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR})
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 @@
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
my %seen; # Don't list the same file more than once
return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ }

View file

@ -1,8 +1 @@
d @PID_FILE_DIR@ 0755 mysql mysql -
# Rules for ephemeral file systems (ImageMode)
d /var/lib/mysql 0755 mysql mysql -
d /var/log/mysql 0750 mysql mysql -
f /var/log/mysql/mysql.log 0640 mysql mysql -
d /var/lib/mysql-files 0750 mysql mysql -
d /var/lib/mysql-keyring 0700 mysql mysql -

View file

@ -2,18 +2,18 @@ ExcludeArch: %{ix86}
# Name of the package without any prefixes
%global majorname mysql
%global package_version 8.4.7
%global package_version 8.4.5
%global 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
@ -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.7
%global last_tested_version 8.4.5
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
@ -104,13 +104,13 @@ ExcludeArch: %{ix86}
Name: %{majorname}%{majorversion}
Version: %{package_version}
Release: 5%{?with_debug:.debug}%{?dist}
Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com
# 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
# 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
Source0: https://cdn.mysql.com/Downloads/MySQL-8.4/mysql-%{version}.tar.gz
Source3: my.cnf.in
@ -132,7 +132,6 @@ Source50: rh-skipped-tests-list-base.list
Source51: rh-skipped-tests-list-arm.list
Source52: rh-skipped-tests-list-s390.list
Source53: rh-skipped-tests-list-ppc.list
Source54: rh-skipped-tests-list-riscv.list
# Comments for these patches are in the patch files
# Patches common for more mysql-like packages
@ -170,7 +169,7 @@ BuildRequires: mecab-devel
BuildRequires: bison
BuildRequires: libzstd-devel
BuildRequires: libcurl-devel
%ifnarch aarch64 s390x riscv64
%ifnarch aarch64 s390x
BuildRequires: numactl-devel
BuildRequires: libquadmath-devel
%endif
@ -251,9 +250,9 @@ Provides: bundled(rapidjson)
# https://github.com/martinus/unordered_dense
Provides: bundled(unordered_dense)
%{?with_conflicts_mariadb:Conflicts: mariadb-any}
%{?with_conflicts_mariadb:Conflicts: mariadb}
# Explicitly disallow installation of mysql + mariadb-server
%{?with_conflicts_mariadb:Conflicts: mariadb-server-any}
%{?with_conflicts_mariadb:Conflicts: mariadb-server}
%{?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}
@ -394,8 +393,8 @@ Requires: %{_sysconfdir}/my.cnf.d
Requires: %{pkgname}-errmsg = %{sameevr}
%{?mecab:Requires: mecab-ipadic}
Requires: coreutils
Requires(pre): /usr/sbin/useradd
# We require this to be present for %%{_tmpfilesdir}
# `systemd` is also required for logrotate, as it uses `systemctl kill`
Requires: systemd
# Make sure it's there when scriptlets run, too
%{?systemd_requires: %systemd_requires}
@ -412,11 +411,11 @@ Requires: (mysql-selinux if selinux-policy-targeted)
Suggests: logrotate
%{?with_conflicts_mariadb:Conflicts: mariadb-server-any}
%{?with_conflicts_mariadb:Conflicts: mariadb-server-utils-any}
%{?with_conflicts_mariadb:Conflicts: mariadb-server-galera-any}
%{?with_conflicts_mariadb:Conflicts: mariadb-server}
%{?with_conflicts_mariadb:Conflicts: mariadb-server-utils}
%{?with_conflicts_mariadb:Conflicts: mariadb-server-galera}
# Explicitly disallow installation of mysql + mariadb-server
%{?with_conflicts_mariadb:Conflicts: mariadb-any}
%{?with_conflicts_mariadb:Conflicts: mariadb}
%{?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}
@ -437,7 +436,7 @@ Summary: Files for development of MySQL applications
Requires: openssl-devel
Requires: zlib-devel
Requires: libzstd-devel
%{?with_conflicts_mariadb:Conflicts: mariadb-devel-any}
%{?with_conflicts_mariadb:Conflicts: mariadb-devel}
%{?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}
@ -480,7 +479,7 @@ Requires: perl(Test::More)
Requires: perl(Time::HiRes)
Requires: perl(File::Compare)
%{?with_conflicts_mariadb:Conflicts: mariadb-test-any}
%{?with_conflicts_mariadb:Conflicts: mariadb-test}
%{?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}
@ -545,9 +544,6 @@ cat %{SOURCE52} | tee -a mysql-test/%{skiplist}
cat %{SOURCE53} | tee -a mysql-test/%{skiplist}
%endif
%ifarch riscv64
cat %{SOURCE54} | tee -a mysql-test/%{skiplist}
%endif
cp %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \
@ -597,10 +593,10 @@ cp %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \
-DSYSTEMD_SERVICE_NAME="%{daemon_name}" \
-DSYSTEMD_PID_DIR="%{pidfiledir}" \
-DWITH_INNODB_MEMCACHED=ON \
%ifnarch aarch64 s390x riscv64
%ifnarch aarch64 s390x
-DWITH_NUMA=ON \
%endif
%ifarch s390x riscv64
%ifarch s390x
-DUSE_LD_GOLD=OFF \
%endif
-DWITH_ROUTER=OFF \
@ -659,13 +655,6 @@ install -D -p -m 644 %{_vpath_builddir}/scripts/mysql@.service %{buildroot}%{_un
install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf
rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf
# Create a sysusers.d config file
# We no longer enforce the hardcoded UID/GID 27
mkdir -p %{buildroot}%{_sysusersdir}
cat > %{buildroot}%{_sysusersdir}/%{name}.conf << EOF
u mysql 27 'MariaDB and MySQL Server' %{dbdatadir} -
EOF
# helper scripts for service starting
install -D -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir
install -p -m 755 %{_vpath_builddir}/scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop
@ -803,8 +792,16 @@ popd
%pre -n %{pkgname}-server
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
/usr/sbin/useradd -M -N -g mysql -o -r -d %{dbdatadir} -s /sbin/nologin \
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
%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
@ -980,15 +977,12 @@ popd
%{_libexecdir}/mysql-scripts-common
%{_tmpfilesdir}/%{daemon_name}.conf
%{_sysusersdir}/%{name}.conf
# Remember to also update the mysql.tmpfiles.d.in file when updating these permissions
%attr(0755,mysql,mysql) %dir %{dbdatadir}
%attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files
%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}
@ -1123,42 +1117,6 @@ popd
%endif
%changelog
* Tue Dec 02 2025 David Abdurachmanov <davidlt@rivosinc.com> - 8.4.7-5
- Disable numactrl and libquadmath on risc-v
- Disable ld.gold on risc-v
- Add list of skipped tests for risc-v
* Fri Nov 21 2025 Michal Schorm <mschorm@redhat.com> - 8.4.7-4
- Bump release for tmpfiles.d fixup
* Thu Nov 20 2025 Michal Schorm <mschorm@redhat.com> - 8.4.7-3
- Bump release for tmpfiles.d fixup
* Mon Nov 3 2025 Nikola Davidova <ndavidov@redhat.com> - 8.4.7-2
- Bump release for tmpfiles.d change
* Thu Oct 30 2025 Pavol Sloboda <psloboda@redhat.com> - 8.4.7-1
- Rebase to 8.4.7
* Mon Oct 27 2025 Lukas Javorsky <ljavorsk@redhat.com> - 8.4.6-4
- Revert to soft static allocation of MariaDB and MySQL sysusers.d files
* Tue Aug 26 2025 Pavol Sloboda <psloboda@redhat.com> - 8.4.6-3
- Bump release for package rebuild
* Wed Aug 06 2025 František Zatloukal <fzatlouk@redhat.com> - 8.4.6-2
- Rebuilt for icu 77.1
* Thu Jul 24 2025 Pavol Sloboda <psloboda@redhat.com> - 8.4.6-1
- Rebase to 8.4.6
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.5-101
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jul 15 2025 Michal Schorm <mschorm@redhat.com> - 8.4.5-100
- Disable the 'distribution default' in MySQL 8.0 (package 'mysql8.0')
- Enable the 'distribution default' in MySQL 8.4 in this package
* Mon Apr 28 2025 Pavol Sloboda <psloboda@redhat.com> - 8.4.5-1
- Rebase to 8.4.5

View file

@ -27,10 +27,3 @@ auth_sec.fips_persisted_option : BUG#0
auth_sec.fips_tlsv13 : BUG#0
rpl.rpl_fips : BUG#0
x.connection_fips : BUG#0
# Fails since 8.4.7
perfschema.statement_digest_query_sample : BUG#0
rpl.rpl_eventlog_psi_memory : BUG#0
perfschema.system_events_component : BUG#0
rpl.rpl_json : BUG#0
perfschema.system_events_plugin : BUG#0

View file

@ -3,28 +3,3 @@ main.mysql_client_test : BUG#0
# Unstable in 8.4.4 in Fedora KOJI
main.mysqlslap : BUG#0
# Fails in 8.4.6 in Fedora KOJI
federated.federated_server : BUG#0
innodb.lob_recovery : BUG#0
innodb.multi_value_basic : BUG#0
innodb_fts.bug_34846823 : BUG#0
innodb_gis.rtree_search : BUG#0
main.lock_multi_bug38691 : BUG#0
perfschema.system_events_component : BUG#0
perfschema.system_events_plugin : BUG#0
rpl.rpl_eventlog_psi_memory : BUG#0
rpl.rpl_parallel_ddl_innodb : BUG#0
rpl.rpl_parallel_ddl_myisam : BUG#0
rpl_gtid.mysqldump_bug33630199 : BUG#0
sys_vars.myisam_data_pointer_size_func : BUG#0
# unstable on ELN
main.multi_update : BUG#0
# Fails since 8.4.7
innodb_fts.optimize_big : BUG#0
innodb_undo.undo_settings : BUG#0
rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction_mts : BUG#0
# Times out since 8.4.7
parts.partition_reverse_scan_icp : BUG#0

View file

@ -1,3 +0,0 @@
# Fails since 8.0.40
# [Warning] [MY-011037] [Server] The CYCLE timer is not available. WAIT events in the performance_schema will not be timed.
main.test_mysql_thd_store_service : BUG#0

View file

@ -5,6 +5,3 @@ test_services.test_event_tracking_consumer : BUG#0
# Unstable since 8.4
innodb_undo.truncate_xa : BUG#0
x.result_types : BUG#0
# Times out since 8.4.7
rpl_gtid.rpl_perfschema_applier_status_by_worker_gtid_skipped_transaction_mts : BUG#0

View file

@ -1 +1 @@
SHA512 (mysql-8.4.7.tar.gz) = d9596395b176490d5e58be307c2f82f55c9acd3206c1ba29bdb8c96c67438bbe5594621f601161ccb77f56c8262d00255ab6fd8aa62db61c80a1721e3d4e45a2
SHA512 (mysql-8.4.5.tar.gz) = d5353bbc618fb6ec3658773d834942f5bfd11f6f5d3fb4778aa684b970a6143d5e96919ba2311bfb00faf3882da307c62b9370aca8f41136ec129d5fa06bcf5c