diff --git a/mysql-flush-logrotate.patch b/mysql-flush-logrotate.patch index c9bfe60..48eff40 100644 --- a/mysql-flush-logrotate.patch +++ b/mysql-flush-logrotate.patch @@ -1,6 +1,5 @@ -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 +--- 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.0.42/packaging/rpm-common/mysql.logrotate.in mysql-8.0.42_pat -# @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 #} diff --git a/mysql-paths.patch b/mysql-paths.patch index 517025d..d5978b6 100644 --- a/mysql-paths.patch +++ b/mysql-paths.patch @@ -3,10 +3,11 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 -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 @@ +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() @@ -15,18 +16,19 @@ diff -Naur mysql-8.0.43/cmake/install_layout.cmake mysql-8.0.43_patched/cmake/in CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -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 -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 @@ +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 @@ -42,10 +44,11 @@ diff -Naur mysql-8.0.43/mysys/my_default.cc mysql-8.0.43_patched/mysys/my_defaul #endif /* DEFAULT_SYSCONFDIR */ #endif -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 @@ +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}") @@ -57,10 +60,11 @@ diff -Naur mysql-8.0.43/scripts/CMakeLists.txt mysql-8.0.43_patched/scripts/CMak SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) SET(libsubdir ${INSTALL_LIBDIR}) SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR}) -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 @@ +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 $_ } diff --git a/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in index 097295c..d2c4b31 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -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 - diff --git a/mysql8.0.spec b/mysql8.0.spec index 1a5455c..a1979d6 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.44 +%global package_version 8.0.42 %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 0} +%{!?mysql_default:%global mysql_default 1} # 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.44 +%global last_tested_version 8.0.42 # 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: 4%{?with_debug:.debug}%{?dist} +Release: 2%{?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-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} @@ -306,13 +306,11 @@ 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 @@ -402,8 +400,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} @@ -418,11 +416,11 @@ Requires(post): policycoreutils-python-utils Requires: (mysql-selinux if selinux-policy-targeted) %endif -%{?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} @@ -443,7 +441,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} @@ -484,7 +482,7 @@ Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -%{?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} @@ -660,13 +658,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 @@ -804,8 +795,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 @@ -992,15 +991,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} @@ -1120,42 +1116,9 @@ popd %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 9e3083a..2e99fba 100644 --- a/rh-skipped-tests-list-base.list +++ b/rh-skipped-tests-list-base.list @@ -44,7 +44,3 @@ 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 e91799b..a534953 100644 --- a/rh-skipped-tests-list-ppc.list +++ b/rh-skipped-tests-list-ppc.list @@ -50,8 +50,3 @@ 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 1f8aebd..4ca1e17 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.44.tar.gz) = f6881d6f88a4060796e1eac47c1ffe3ea005c27f1b0509fd97774ba5b1e7bf86d0f8c4e13126750f0cc3dd86af92c26459ae8fecf9e8f0f058dab43e93bb3b42 +SHA512 (mysql-boost-8.0.42.tar.gz) = 66776b5a1be603f215d4b227d395e72476bde76fdc0ba5ffdcfcb851a8261f1428c23c8abf1edca616765ee8254354e9092eaadde5ed43e7e2daa2ac265a0b23