diff --git a/.gitignore b/.gitignore index 34d8d21..337917f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/mariadb-10.5.22-downstream_modified.tar.gz +SOURCES/mariadb-10.5.27-downstream_modified.tar.gz diff --git a/.mariadb.metadata b/.mariadb.metadata index 7815ec0..d95386a 100644 --- a/.mariadb.metadata +++ b/.mariadb.metadata @@ -1 +1 @@ -d767fc64fbf44da4e1a4174a9939356fac5fe19b SOURCES/mariadb-10.5.22-downstream_modified.tar.gz +f791457e4617e33dc6c9a2097c05a7b20a1a7629 SOURCES/mariadb-10.5.27-downstream_modified.tar.gz diff --git a/SOURCES/mariadb-auth_pam_tool_dir.patch b/SOURCES/mariadb-auth_pam_tool_dir.patch index 6334812..ed63bc6 100644 --- a/SOURCES/mariadb-auth_pam_tool_dir.patch +++ b/SOURCES/mariadb-auth_pam_tool_dir.patch @@ -5,11 +5,11 @@ Thus "chown 0" will always fail Never parse 'ls' output! http://mywiki.wooledge.org/BashFAQ/087 ---- mariadb-10.4.12/scripts/mysql_install_db.sh 2020-01-26 21:43:53.000000000 +0100 -+++ mariadb-10.4.12/scripts/mysql_install_db.sh_patched 2020-01-29 11:11:09.448812331 +0100 -@@ -482,13 +482,16 @@ if test -n "$user" +--- mariadb-10.5.26-downstream_modified/scripts/mysql_install_db.sh 2024-08-03 08:57:42.000000000 +0200 ++++ mariadb-10.5.26-downstream_modified/scripts/mysql_install_db.sh_patched 2024-10-19 13:50:46.157063739 +0200 +@@ -494,13 +494,16 @@ if test -n "$user" then - if test -z "$srcdir" -a "$in_rpm" -eq 0 + if test -z "$srcdir" -a "$in_rpm" -eq 0 -a -d "$pamtooldir/auth_pam_tool_dir" then - chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \ - chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" diff --git a/SOURCES/mariadb-mtr.patch b/SOURCES/mariadb-mtr.patch new file mode 100644 index 0000000..99db110 --- /dev/null +++ b/SOURCES/mariadb-mtr.patch @@ -0,0 +1,70 @@ +diff --git a/mysql-test/mariadb-test-run.pl b/mysql-test/mariadb-test-run.pl +index 594e052a16e..6a274b2d597 100755 +--- a/mysql-test/mysql-test-run.pl ++++ b/mysql-test/mysql-test-run.pl +@@ -1491,7 +1491,6 @@ sub command_line_setup { + mtr_warning ("Port base $opt_port_base rounded down to multiple of 10"); + $opt_port_base-= $rem; + } +- $opt_build_thread= $opt_port_base / 10 - 1000; + } + + # -------------------------------------------------------------------------- +@@ -1719,11 +1718,6 @@ sub command_line_setup { + # an environment variable can be used to control all ports. A small + # number is to be used, 0 - 16 or similar. + # +-# Note the MASTER_MYPORT has to be set the same in all 4.x and 5.x +-# versions of this script, else a 4.0 test run might conflict with a +-# 5.1 test run, even if different MTR_BUILD_THREAD is used. This means +-# all port numbers might not be used in this version of the script. +-# + # Also note the limitation of ports we are allowed to hand out. This + # differs between operating systems and configuration, see + # http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html +@@ -1734,10 +1728,14 @@ sub set_build_thread_ports($) { + + if ( lc($opt_build_thread) eq 'auto' ) { + my $found_free = 0; +- $build_thread = 300; # Start attempts from here +- my $build_thread_upper = $build_thread + ($opt_parallel > 1500 +- ? 3000 +- : 2 * $opt_parallel) + 300; ++ if ($opt_port_base eq "auto") { ++ $build_thread = 15000; ++ } else { ++ $build_thread = $opt_port_base; ++ } ++ $build_thread += ($thread - 1) * $opt_port_group_size; ++ my $build_thread_upper = $build_thread + $opt_parallel * 2; ++ + while (! $found_free) + { + $build_thread= mtr_get_unique_id($build_thread, $build_thread_upper); +@@ -1754,7 +1752,7 @@ sub set_build_thread_ports($) { + } + else + { +- $build_thread = $opt_build_thread + $thread - 1; ++ $build_thread = $opt_port_base + $thread - 1; + if (! check_ports_free($build_thread)) { + # Some port was not free(which one has already been printed) + mtr_error("Some port(s) was not free") +@@ -1763,7 +1761,7 @@ sub set_build_thread_ports($) { + $ENV{MTR_BUILD_THREAD}= $build_thread; + + # Calculate baseport +- $baseport= $build_thread * $opt_port_group_size + 10000; ++ $baseport= $build_thread; + if ( $baseport < 5001 or $baseport + $opt_port_group_size >= 32767 ) + { + mtr_error("MTR_BUILD_THREAD number results in a port", +@@ -2968,7 +2966,7 @@ sub kill_leftovers ($) { + sub check_ports_free ($) + { + my $bthread= shift; +- my $portbase = $bthread * $opt_port_group_size + 10000; ++ my $portbase = $bthread; + for ($portbase..$portbase+($opt_port_group_size-1)){ + if (mtr_ping_port($_)){ + mtr_report(" - 'localhost:$_' was not free"); diff --git a/SOURCES/rh-skipped-tests-base.list b/SOURCES/rh-skipped-tests-base.list index 8ab112c..1e62ce4 100644 --- a/SOURCES/rh-skipped-tests-base.list +++ b/SOURCES/rh-skipped-tests-base.list @@ -89,3 +89,9 @@ rpl.rpl_slave_shutdown_mdev20821 : # Fails since 10.5.22 mariabackup.aria_log_dir_path : + +# Fails since 10.5.26 +mariabackup.slave_provision_nolock : + +# Fails on 10.5.27 +main.timezone : diff --git a/SPECS/mariadb.spec b/SPECS/mariadb.spec index c0269d9..a536c83 100644 --- a/SPECS/mariadb.spec +++ b/SPECS/mariadb.spec @@ -1,3 +1,6 @@ +# To both save infrastrucutre resources and workaround for i686 FTBFS +ExcludeArch: %{ix86} + # This is a fix for the https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds # So the beaviour will be the same also in F31 nad F32 %undefine __cmake_in_source_build @@ -15,7 +18,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 10.5.22 +%global last_tested_version 10.5.27 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 @@ -30,6 +33,11 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch +# Temporary workaround to fix the "internal compiler error" described in https://bugzilla.redhat.com/show_bug.cgi?id=2239498 +# TODO: Remove when the issue is resolved +%ifarch i686 +%global _lto_cflags %{nil} +%endif # Mroonga engine @@ -109,7 +117,7 @@ %bcond_without unbundled_pcre %else %bcond_with unbundled_pcre -%global pcre_bundled_version 10.42 +%global pcre_bundled_version 10.44 %endif # Use main python interpretter version @@ -147,7 +155,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.22 +Version: 10.5.27 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -219,6 +227,10 @@ Patch16: %{pkgnamepatch}-auth_pam_tool_dir.patch # Patch17: Revert of an upstream commit Patch17: upstream_5cc2096f93b7f130b36f8bc0fc43440db9a848e4.patch +# Patch14: make MTR port calculation reasonably predictable +Patch14: %{pkgnamepatch}-mtr.patch + +BuildRequires: make BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config BuildRequires: selinux-policy-devel @@ -731,6 +743,7 @@ rm -r storage/rocksdb/ %patch4 -p1 %patch7 -p1 %patch9 -p1 +%patch14 -p1 # The test in Patch 10 has been recently updated by upstream # and the test was disabled in the testuite run # main.ssl_cipher [ disabled ] MDEV-17184 - Failures with OpenSSL 1.1.1 @@ -1182,14 +1195,6 @@ rm %{buildroot}%{_mandir}/man1/mbstream.1* %check %if %{with test} %if %runselftest -# hack to let 32- and 64-bit tests run concurrently on same build machine -export MTR_PARALLEL=1 -# Builds might happen at the same host, avoid collision -# The port used is calculated as 20 * MTR_BUILD_THREAD + 10000 -# The resulting port must be between 5000 and 32767 -# This is the same as using option "--build-thread" for the "mysql-test-run.pl" -export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) - # The cmake build scripts don't provide any simple way to control the # options for mysql-test-run, so ignore the make target and just call it # manually. Nonstandard options chosen are: @@ -1210,7 +1215,7 @@ export MTR_BUILD_THREAD=$(( $(date +%s) % 1100 )) set -ex cd %{buildroot}%{_datadir}/mysql-test - export common_testsuite_arguments=" --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " + export common_testsuite_arguments=" --port-base=$(( $(date +%s) % 20000 + 10000 )) --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 " # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]] @@ -1630,6 +1635,15 @@ fi %endif %changelog +* Tue Dec 03 2024 Michal Schorm - 3:10.5.27-1 +- Rebase to 10.5.27 + +* Fri Oct 18 2024 Michal Schorm - 3:10.5.26-1 +- Rebase to 10.5.26 + +* Tue Jun 11 2024 Michal Schorm - 3:10.5.25-1 +- Rebase to 10.5.25 + * Sun Dec 10 2023 MSVSphere Packaging Team - 3:10.5.22-1 - Rebuilt for MSVSphere 8.8