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-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 7af2374..0ca3aa0 100644 --- a/SOURCES/rh-skipped-tests-base.list +++ b/SOURCES/rh-skipped-tests-base.list @@ -96,3 +96,14 @@ rpl.rpl_row_img_sequence_min : rpl.rpl_row_img_sequence_noblob : rpl.rpl_xa_empty_transaction : rpl.rpl_slave_shutdown_mdev20821 : + +# Fails on 10.5.26 +mariabackup.slave_provision_nolock : +rpl.rpl_slave_restart_long_password : +rpl.rpl_mysqldump_gtid_slave_pos : +rpl.rpl_memory_engine_truncate_on_restart : +rpl.rpl_semi_sync_master_shutdown : +mariabackup.rpl_clone_slave : + +# Fails on 10.5.27 +main.timezone : diff --git a/SPECS/mariadb.spec b/SPECS/mariadb.spec index 9073fb8..a9bb240 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} + # Prefix that is used for patches %global pkg_name %{name} %global pkgnamepatch mariadb @@ -11,7 +14,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 @@ -114,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 @@ -154,7 +157,7 @@ %global sameevr %{epoch}:%{version}-%{release} Name: mariadb -Version: 10.5.22 +Version: 10.5.27 Release: 1%{?with_debug:.debug}%{?dist} Epoch: 3 @@ -220,6 +223,9 @@ Patch9: %{pkgnamepatch}-ownsetup.patch # Patch10: Fix cipher name in the SSL Cipher name test Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch +# Patch14: make MTR port calculation reasonably predictable +Patch14: %{pkgnamepatch}-mtr.patch + BuildRequires: make BuildRequires: cmake gcc-c++ BuildRequires: multilib-rpm-config @@ -744,6 +750,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 @@ -1204,14 +1211,6 @@ rm %{buildroot}%{_mandir}/man1/aria_s3_copy.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: @@ -1232,7 +1231,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 ]] @@ -1656,6 +1655,12 @@ 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 + * Mon Sep 04 2023 Michal Schorm - 3:10.5.22-1 - Rebase to 10.5.22