diff --git a/mysql-flush-logrotate.patch b/mysql-flush-logrotate.patch index 48eff40..c9bfe60 100644 --- a/mysql-flush-logrotate.patch +++ b/mysql-flush-logrotate.patch @@ -1,5 +1,6 @@ ---- 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 +diff -Naur mysql-8.0.42/packaging/rpm-common/mysql.logrotate.in mysql-8.0.42_patched/packaging/rpm-common/mysql.logrotate.in +--- mysql-8.0.42/packaging/rpm-common/mysql.logrotate.in 2025-07-10 16:20:26.000000000 +0200 ++++ mysql-8.0.42_patched/packaging/rpm-common/mysql.logrotate.in 2025-07-29 10:16:39.509884723 +0200 @@ -5,18 +5,6 @@ # [mysqld] # log-error=@LOGFILE_RPM@ @@ -30,6 +31,6 @@ -# @bindir@/mysqladmin flush-logs -# fi +# # SIGUSR1 makes the daemon to flush the logs, no need to connect through mysqladmin -+# @bindir@/kill -USR1 $(systemctl show --property MainPID --value mysqld) ++# @bindir@/systemctl kill --signal=USR1 --kill-whom=main mysqld.service 2>/dev/null || true # endscript #} diff --git a/mysql-paths.patch b/mysql-paths.patch index d5978b6..517025d 100644 --- a/mysql-paths.patch +++ b/mysql-paths.patch @@ -3,11 +3,10 @@ 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) +diff -Naur mysql-8.0.43/cmake/install_layout.cmake mysql-8.0.43_patched/cmake/install_layout.cmake +--- mysql-8.0.43/cmake/install_layout.cmake 2025-07-09 10:45:01.000000000 +0200 ++++ mysql-8.0.43_patched/cmake/install_layout.cmake 2025-08-05 09:22:54.506782584 +0200 +@@ -106,7 +106,7 @@ " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -16,19 +15,18 @@ index 9f7945d8..6734cdfd 100644 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") +@@ -202,6 +202,7 @@ + ELSE() + SET(INSTALL_SBINDIR_RPM "sbin") + ENDIF() +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.0.43/mysys/my_default.cc mysql-8.0.43_patched/mysys/my_default.cc +--- mysql-8.0.43/mysys/my_default.cc 2025-07-09 10:45:01.000000000 +0200 ++++ mysql-8.0.43_patched/mysys/my_default.cc 2025-08-05 09:24:59.510804797 +0200 +@@ -1652,12 +1652,12 @@ #else @@ -44,11 +42,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.0.43/scripts/CMakeLists.txt mysql-8.0.43_patched/scripts/CMakeLists.txt +--- mysql-8.0.43/scripts/CMakeLists.txt 2025-07-09 10:45:01.000000000 +0200 ++++ mysql-8.0.43_patched/scripts/CMakeLists.txt 2025-08-05 09:25:55.019369630 +0200 +@@ -271,9 +271,9 @@ ENDIF(UNIX) SET(prefix "${CMAKE_INSTALL_PREFIX}") @@ -60,11 +57,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.0.43/scripts/mysqld_multi.pl.in mysql-8.0.43_patched/scripts/mysqld_multi.pl.in +--- mysql-8.0.43/scripts/mysqld_multi.pl.in 2025-07-09 10:45:01.000000000 +0200 ++++ mysql-8.0.43_patched/scripts/mysqld_multi.pl.in 2025-08-05 09:26:57.252077640 +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/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in index d2c4b31..097295c 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -1 +1,8 @@ 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 - diff --git a/mysql8.0.spec b/mysql8.0.spec index a1979d6..1a5455c 100644 --- a/mysql8.0.spec +++ b/mysql8.0.spec @@ -1,12 +1,12 @@ # Name of the package without any prefixes %global majorname mysql -%global package_version 8.0.42 +%global package_version 8.0.44 %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 @@ -19,7 +19,7 @@ # 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.0.42 +%global last_tested_version 8.0.44 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -102,7 +102,7 @@ Name: %{majorname}%{majorversion} Version: %{package_version} -Release: 2%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -259,9 +259,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} @@ -306,11 +306,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 @@ -400,8 +402,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} @@ -416,11 +418,11 @@ Requires(post): policycoreutils-python-utils Requires: (mysql-selinux if selinux-policy-targeted) %endif -%{?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} @@ -441,7 +443,7 @@ 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} @@ -482,7 +484,7 @@ Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -%{?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} @@ -658,6 +660,13 @@ 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 @@ -795,16 +804,8 @@ 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 @@ -991,12 +992,15 @@ fi %{_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} @@ -1116,9 +1120,42 @@ fi %endif %changelog +* Tue Nov 25 2025 Michal Schorm - 8.0.44-4 +- Bump release for tmpfiles.d fixup + +* Thu Nov 20 2025 Michal Schorm - 8.0.44-3 +- Bump release for tmpfiles.d fixup + +* Mon Nov 3 2025 Nikola Davidova - 8.0.44-2 +- Bump release for tmpfiles.d change + +* Thu Oct 30 2025 Pavol Sloboda - 8.0.44-1 +- Rebase to MySQL 8.0.44 + +* Mon Oct 27 2025 Lukas Javorsky - 8.0.43-2 +- Revert to soft static allocation of MariaDB and MySQL sysusers.d files + +* Wed Aug 06 2025 Pavol Sloboda - 8.0.43-1 +- Rebase to MySQL 8.0.43 + +* Wed Aug 06 2025 FrantiĊĦek Zatloukal - 8.0.42-102 +- Rebuilt for icu 77.1 + +* Thu Jul 24 2025 Fedora Release Engineering - 8.0.42-101 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jul 15 2025 Michal Schorm - 8.0.42-100 +- Disable the 'distribution default' in MySQL 8.0 in this package +- Enable the 'distribution default' in MySQL 8.4 (package 'mysql8.4') + * Thu Apr 24 2025 Pavol Sloboda - 8.0.42-1 - Rebase to MySQL 8.0.42 +* Sun Apr 06 2025 Michal Schorm - 8.0.41-2 +- Switch from the RPM scriptlet to the sysusers.d configuration + for 'mysql' user / group creation +- We no longer enforce the fixed UID/GID 27 !!! + * Fri Feb 28 2025 Michal Schorm - 8.0.41-1 - Rebase to MySQL 8.0.41 diff --git a/rh-skipped-tests-list-base.list b/rh-skipped-tests-list-base.list index 2e99fba..9e3083a 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -44,3 +44,7 @@ main.subquery_sj_all_bka_nobnl : BUG#0 https://bugzilla.redhat.com/s # Failing since 2025 main.time_zone : BUG#0 main.basedir : BUG#0 + +# Failing since 8.0.44 +main.lock_backup : BUG#0 +main.sdi_tablespace : BUG#0 diff --git a/rh-skipped-tests-list-ppc.list b/rh-skipped-tests-list-ppc.list index a534953..e91799b 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -50,3 +50,8 @@ main.multi_update : BUG#0 # Fails since 8.0.42 innodb_fts.optimize_big : BUG#0 + +# Fails since 8.0.44 +main.join_cache_bnl : BUG#0 +main.mysql : BUG#0 +main.join_cache_nojb : BUG#0 diff --git a/sources b/sources index 4ca1e17..1f8aebd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.42.tar.gz) = 66776b5a1be603f215d4b227d395e72476bde76fdc0ba5ffdcfcb851a8261f1428c23c8abf1edca616765ee8254354e9092eaadde5ed43e7e2daa2ac265a0b23 +SHA512 (mysql-boost-8.0.44.tar.gz) = f6881d6f88a4060796e1eac47c1ffe3ea005c27f1b0509fd97774ba5b1e7bf86d0f8c4e13126750f0cc3dd86af92c26459ae8fecf9e8f0f058dab43e93bb3b42