Verified Commit 371dea97 authored by Louis Abel's avatar Louis Abel 📺
Browse files

update to 26

parent 5ee8d7d9
SOURCES/mysql-boost-8.0.21.tar.gz
SOURCES/mysql-boost-8.0.26.tar.gz
fe39b69fa3ae21801efe8e94749696df01f55ddc SOURCES/mysql-boost-8.0.21.tar.gz
209442c1001c37bcbc001845e1dc623d654cefb555b47b528742a53bf21c0b4d mysql-boost-8.0.26.tar.gz
diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql
index 990fe81..c2e1b36 100644
index 7a56616a..5e5f7950 100644
--- a/mysql-test/include/mtr_warnings.sql
+++ b/mysql-test/include/mtr_warnings.sql
@@ -292,6 +292,11 @@ INSERT INTO global_suppressions VALUES
*/
("Channel mysql_main configured to support TLS"),
@@ -359,6 +359,11 @@ INSERT INTO global_suppressions VALUES
("A deprecated TLS version TLSv1 is enabled for channel"),
("A deprecated TLS version TLSv1.1 is enabled for channel"),
+ /*
+ ARM32 don't support timers and get this warning in every test.
......
This diff is collapsed.
# Prevents fails when compiling with gcc11 (Fedora 34)
# Upstream PR: https://github.com/mysql/mysql-server/pull/323
--- mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h.old 2021-02-04 17:15:31.034997221 +0100
+++ mysql-8.0.23/extra/robin-hood-hashing/robin_hood.h 2021-02-04 17:15:50.781372066 +0100
@@ -48,6 +48,7 @@
#include <string>
#include <type_traits>
#include <utility>
+#include <limits>
#if __cplusplus >= 201703L
# include <string_view>
#endif
Avoid errors like:
| Path length (109) is longer than maximum supported length (108) and will be truncated at /usr/lib64/perl5/vendor_perl/Socket.pm line 880, <GEN16094> line 1.
| worker[2] mysql-test-run: *** ERROR: Socket path '/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.s390x/usr/share/mysql-test/var/tmp/2' too long,
| it would be truncated and thus not possible to use for connection to MySQL Server. Set a shorter with --tmpdir=<path> option
===
On Fedora 32:
| $ grep -e "PATH" /usr/include/linux/limits.h
| #define PATH_MAX 4096 /* # chars in a path name including nul */
===
Thus setting the maximum path length on Fedora to 108 characters is just too short.
BTW on the modern filesystems you can easily create path longer than PATH_MAX.
The PATH_MAX constant is unsafe.
Interesting article: https://insanecoding.blogspot.com/2007/11/pathmax-simply-isnt.html
===
The question is why haven't I encountered this issue until recently ?
After the recent tweaks to the testsuite (between 8.0.24 and 8.0.25 release), the generated --tmpdir path changed from
| --tmpdir=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/tmp/
to
| --tmpdir=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/
===
The whole setup changed as follows:
BEFORE:
| Installing system database
| ### safe_path: /builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/runtime_output_directory///mysqltest_safe_process --verbose -- /builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/runtime_output_directory/mysqld --no-defaults --initialize-insecure --loose-skip-ndbcluster --tmpdir=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/tmp/ --core-file --datadir=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/data/ --secure-file-priv=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var --innodb_buffer_pool_size=24M --innodb-log-file-size=5M --innodb_autoextend_increment=8 --character-sets-dir=/builddir/build/BUILD/mysql-8.0.24/share/charsets --loose-auto_generate_certs=OFF --loose-sha256_password_auto_generate_rsa_keys=OFF --loose-caching_sha2_password_auto_generate_rsa_keys=OFF --init-file=/builddir/build/BUILD/mysql-8.0.24/x86_64-redhat-linux-gnu/mysql-test/var/tmp/bootstrap.sql
AFTER:
| Installing system database
| ### safe_path: /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/bin//mysqltest_safe_process --verbose -- /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/libexec/mysqld --no-defaults --initialize-insecure --loose-skip-ndbcluster --tmpdir=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/ --core-file --datadir=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/data/ --secure-file-priv=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var --innodb_buffer_pool_size=24M --innodb-log-file-size=5M --innodb_autoextend_increment=8 --character-sets-dir=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/community-mysql/charsets --loose-auto_generate_certs=OFF --loose-sha256_password_auto_generate_rsa_keys=OFF --loose-caching_sha2_password_auto_generate_rsa_keys=OFF --init-file=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/bootstrap.sql
===
The likely cause is the added
| cd %{buildroot}%{_datadir}/mysql-test
which was not originally present in the SPECfile.
However the MariaDB implementation does not have this issue, even though it has the same SPECfile %check phase code.
===
In the extended log, you can see '/tmp/XfTFAis2Jl' being created and deleted short after.
Even though the script warns about the path length, tries to workaround it; it destroyes that workaround short after and use the too-long path instead.
I'm not sure whether the output is synchronous, but even if it wasn'tit still looks weird.
| + cd /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test
| Logging: ./mysql-test-run.pl --verbose --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir --suite=main --mem --skip-test-list=platform-specific-tests.list
| Path length (109) is longer than maximum supported length (108) and will be truncated at /usr/lib64/perl5/vendor_perl/Socket.pm line 880.
| Too long tmpdir path '/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp' creating a shorter one
| - Using tmpdir: '/tmp/XfTFAis2Jl'
| > Collecting: main
| > testdir: /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/t
| > resdir: /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/r
| > Collecting: i_main
| Removing old var directory
| > opt_vardir: /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var
| > Removing /builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/
| > Removing /dev/shm/var_933_jfTb
| > Removing /tmp/XfTFAis2Jl/
| Creating var directory '/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var'
| > Creating /dev/shm/var_933_jfTb
| - symlinking 'var' to '/dev/shm/var_933_jfTb'
--- mysql-8.0.24/mysql-test/mysql-test-run.pl 2021-05-10 04:29:44.391897891 +0200
+++ mysql-8.0.24/mysql-test/mysql-test-run.pl_patched 2021-05-10 04:38:51.031702753 +0200
@@ -3374,17 +3374,6 @@ sub setup_vardir() {
mkpath("$opt_vardir/tmp");
mkpath($opt_tmpdir) if ($opt_tmpdir ne "$opt_vardir/tmp");
- # On some operating systems, there is a limit to the length of a
- # UNIX domain socket's path far below PATH_MAX. Don't allow that
- # to happen.
- my $res =
- check_socket_path_length("$opt_tmpdir/mysqld.NN.sock", $opt_parallel);
- if ($res) {
- mtr_error("Socket path '$opt_tmpdir' too long, it would be ",
- "truncated and thus not possible to use for connection to ",
- "MySQL Server. Set a shorter with --tmpdir=<path> option");
- }
-
# Copy all files from std_data into var/std_data
# and make them world readable
copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data", "0022");
--- mysql-8.0.21/scripts/CMakeLists.txt.old 2020-08-05 10:03:03.336774227 +0200
+++ mysql-8.0.21/scripts/CMakeLists.txt 2020-08-05 10:05:04.442722733 +0200
@@ -484,4 +484,32 @@
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
--- mysql-8.0.22/scripts/CMakeLists.txt.old 2020-10-26 10:23:30.666696561 +0100
+++ mysql-8.0.22/scripts/CMakeLists.txt 2020-10-26 10:25:14.447914251 +0100
@@ -507,4 +507,33 @@
)
ENDIF()
ENDIF()
+
+ # files for systemd
+ SET(SYSTEMD_SCRIPTS
+ mysql.tmpfiles.d
......
sys_vars.innodb_buffer_pool_size_basic : BUG#0
sys_vars.myisam_data_pointer_size_func : BUG#0
perfschema.idx_threads : BUG#0
auth_sec.tls12_tls1 : BUG#0
auth_sec.tls13_tls1 : BUG#0
main.ssl_deprecated_tls_versions : BUG#0
x.connection_tls_version : BUG#0
# x86_64
auth_sec.keyring_file_data_qa : BUG#0
main.mysql_load_data_local_dir : BUG#0
# i686
main.ctype_unicode900_as_cs : BUG#0
collations.chinese : BUG#0
main.mysql_load_data_local_dir : BUG#0
# i686, s390x
main.range_with_memory_limit : BUG#0
# x86_64, s390x
main.mysqld--defaults-file : BUG#0
main.mysqltest_json : BUG#0
main.mtr_unit_tests : BUG#0
main.mysqld--help-notwin : BUG#0
main.component_backup_lock_service : BUG#0
auth_sec.keyring_file_data_qa : BUG#0
gis.geometry_class_attri_prop : BUG#0
gis.geometry_property_function_issimple : BUG#0
gis.gis_bugs_crashes : BUG#0
gis.spatial_analysis_functions_buffer : BUG#0
gis.spatial_analysis_functions_centroid : BUG#0
gis.spatial_analysis_functions_distance : BUG#0
gis.spatial_operators_intersection : BUG#0
gis.spatial_operators_symdifference : BUG#0
gis.spatial_op_testingfunc_mix : BUG#0
gis.spatial_utility_function_distance_sphere : BUG#0
gis.spatial_utility_function_simplify : BUG#0
main.derived_limit : BUG#0
main.explain_tree : BUG#0
main.gis-precise : BUG#0
main.mysql_load_data_local_dir : BUG#0
main.subquery_bugs : BUG#0
main.subquery_sj_dupsweed : BUG#0
main.subquery_sj_dupsweed_bka : BUG#0
main.subquery_sj_dupsweed_bka_nobnl : BUG#0
main.subquery_sj_firstmatch : BUG#0
main.subquery_sj_firstmatch_bka : BUG#0
main.subquery_sj_firstmatch_bka_nobnl : BUG#0
main.subquery_sj_mat_bka_nobnl : BUG#0
main.window_std_var : BUG#0
main.window_std_var_optimized : BUG#0
......@@ -10,8 +10,15 @@
# --nocheck is not possible (e.g. in koji build)
%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail
%{!?check_testsuite:%global check_testsuite 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
%{!?check_testsuite:%global ignore_testsuite_result 0}
# 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.26
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
......@@ -50,7 +57,7 @@
# For deep debugging we need to build binaries with extra debug info
%bcond_with debug
%global boost_bundled_version 1.72.0
%global boost_bundled_version 1.73.0
%if 0%{?fedora}
%bcond_with bundled_icu
......@@ -140,7 +147,7 @@
%endif
Name: %{?scl_prefix}mysql
Version: 8.0.21
Version: 8.0.26
Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com
......@@ -171,6 +178,12 @@ Source31: server.cnf.in
Source32: default-authentication-plugin.cnf
Source40: daemon-scl-helper.sh
Source41: mysql-sysnice.te
# Skipped tests lists
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
# Comments for these patches are in the patch files
# Patches common for more mysql-like packages
......@@ -183,8 +196,9 @@ Patch5: %{pkgnamepatch}-paths.patch
# Patches specific for this mysql package
Patch51: %{pkgnamepatch}-chain-certs.patch
Patch52: %{pkgnamepatch}-sharedir.patch
Patch56: %{pkgnamepatch}-mtr.patch
Patch75: %{pkgnamepatch}-arm32-timer.patch
Patch77: %{pkgnamepatch}-certs-expired.patch
Patch80: %{pkgnamepatch}-fix-includes-robin-hood.patch
# Patches specific for scl
Patch90: %{pkgnamepatch}-scl-env-check.patch
......@@ -198,6 +212,10 @@ Patch126: mysql-logrotate-log-path.patch
BuildRequires: cmake
BuildRequires: gcc-c++
# From 8.0.24 MySQL start supporting GCC version 10
# The default and only version of GCC in the base RHEL-8 is GCC 8
# GCC 10 is available in the gcc-toolset
BuildRequires: gcc-toolset-10-toolchain
BuildRequires: libaio-devel
BuildRequires: libedit-devel
BuildRequires: libevent-devel
......@@ -208,6 +226,7 @@ BuildRequires: %{?scl_prefix}lz4
BuildRequires: %{?scl_prefix}lz4-devel
BuildRequires: %{?scl_prefix}mecab-devel
BuildRequires: %{?scl_prefix}bison
BuildRequires: %{?scl_prefix}libcurl-devel
%ifnarch aarch64 %{arm} s390 s390x
BuildRequires: numactl-devel
%endif
......@@ -268,6 +287,7 @@ BuildRequires: perl(Test::More)
BuildRequires: perl(Time::HiRes)
BuildRequires: perl(Time::localtime)
BuildRequires: perl(warnings)
BuildRequires: make
%{?with_init_systemd:BuildRequires: systemd}
# libzstd
%{!?with_bundled_zstd:BuildRequires: libzstd-devel}
......@@ -502,8 +522,9 @@ the MySQL sources.
%patch5 -p1
%patch51 -p1
%patch52 -p1
%patch56 -p1
%patch75 -p1
%patch77 -p1
%patch80 -p1
%patch126 -p1
# Patch Boost
......@@ -519,133 +540,21 @@ test "$(grep -e '^#define U_ICU_VERSION_\(MAJOR\|MINOR\|PATCHLEVEL_NUM\)' extra/
test -f extra/protobuf/protobuf-%{protobuf_bundled_version}/src/google/protobuf/port_def.inc
test -f extra/libevent/libevent-%{libevent_bundled_version}-stable/CMakeLists.txt
# Modify tests to pass on all archs
pushd mysql-test
# generate a list of tests that fail, but are not disabled by upstream
cat %{SOURCE50} | tee -a mysql-test/%{skiplist}
add_test () {
echo "$@" $ >> %{skiplist}
}
touch %{skiplist}
# fails everywhere
add_test gis.srs : 8.0 issue
add_test main.import : 8.0 issue
add_test main.no_binlog_related_options : 8.0 issue
add_test main.regular_expressions_func_icu_54 : 8.0 issue
add_test main.regular_expressions_utf-8_icu_58 : 8.0 issue
add_test main.regular_expressions_utf-8 : 8.0 issue
add_test main.regular_expressions_utf-8_icu_59 : 8.0 issue
add_test perfschema.histograms : 8.0 issue
add_test main.log_options_cmdline : 8.0 issue
add_test auth_sec.keyring_file_data_qa : sporadic since 8.0.19
add_test collations.chinese : sporadic since 8.0.19
# Fails when -DENABLED_LOCAL_INFILE=ON
add_test main.mysql_load_data_local_dir : local infile on
# Fails since 8.0
add_test x.crud_insert_cast :
add_test x.insert_table :
add_test x.insert_table_bad_column :
add_test x.insert_table_bad_column_type :
add_test x.insert_table_bad_numcolumns :
add_test x.update_crud_arrayappend_o :
add_test x.update_crud_arrayinsert_o :
add_test innodb.innodb : missing correct value
add_test innodb.innodb_cats :
add_test innodb.log_corruption :
add_test main.dd_upgrade_test :
add_test main.disabled_replication :
add_test main.flush2 :
add_test main.import :
add_test main.mysqldump-no-binlog :
add_test main.skip_log_bin :
add_test main.window_functions_explain :
add_test rpl_gtid.rpl_gtid_perfschema_applier_xa_status :
add_test gis.gis_bugs_crashes :
add_test perfschema.histograms :
add_test main.log_options_cmdline :
# these tests fail on arm32
%ifarch %arm
# FTS; still apply for 5.7.21
add_test innodb_fts.opt : arm32 FTS issue
# Missing hw counters; in 5.7.21 reported as unstable tests
add_test perfschema.func_file_io : missing hw on arm32
add_test perfschema.setup_objects : missing hw on arm32
add_test perfschema.global_read_lock : missing hw on arm32
add_test perfschema.func_mutex : missing hw on arm32
# Test added in 8.0.19
add_test clone.remote_error_basic : max_allowed_packet is 0
# Failing in ~90% of times
add_test innodb.create_tablespace
%endif
# these tests fail on aarch64
%ifarch aarch64
add_test import_5_7 : 8.0 issue/aarch64
add_test sdi : 8.0 issue/aarch64
add_test dd_upgrade_partition : 8.0 issue/aarch64
%endif
# This test fail on ppc64 and ppc64le; applicable in 5.7.21
%ifarch ppc64le
add_test main.histograms : 8.0 issue/ppc64le
add_test main.opt_costmodel : 8.0 issue/ppc64le
add_test innodb.temporary_table_optimization : 8.0 issue/ppc64le
add_test perfschema.memory_aggregate_no_a : incorrect numbers in output
add_test innodb_zip.wl6469 :
add_test json.json_functions_innodb :
add_test main.ps :
add_test main.select_all :
add_test main.select_all_bka :
add_test main.select_all_bka_nixbnl :
add_test main.select_icp_mrr :
add_test main.select_icp_mrr_bka :
add_test main.select_icp_mrr_bka_nixbnl :
add_test main.select_none :
add_test main.select_none_bka :
add_test main.select_none_bka_nixbnl :
add_test main.sp :
add_test main.type_float :
add_test main.type_newdecimal :
add_test main.type_ranges :
add_test test_service_sql_api.test_sql_all_col_types :
%endif
%ifarch s390x
# Fails since F32 Mass Rebuild
add_test gis.geometry_class_attri_prop
add_test gis.geometry_property_function_issimple
add_test gis.gis_bugs_crashes
add_test gis.spatial_analysis_functions_buffer
add_test gis.spatial_analysis_functions_centroid
add_test gis.spatial_analysis_functions_distance
add_test gis.spatial_operators_intersection
add_test gis.spatial_op_testingfunc_mix
add_test gis.spatial_utility_function_distance_sphere
add_test gis.spatial_utility_function_simplify
add_test innodb.log_encrypt_kill main.with_recursive
add_test innodb.mysqldump_max_recordsize
add_test main.lock_multi_bug38499
add_test main.window_std_var
add_test main.window_std_var_optimized
add_test main.with_recursive
# Fails since 8.0.21
add_test x.resource_groups
add_test gis.spatial_operators_symdifference
add_test gis.spatial_operators_union
# disable some tests failing on different architectures
%ifarch %{arm} aarch64
cat %{SOURCE51} | tee -a mysql-test/%{skiplist}
%endif
%ifarch s390 s390x
cat %{SOURCE52} | tee -a mysql-test/%{skiplist}
%endif
popd
%ifarch ppc ppc64 ppc64p7 ppc64le
cat %{SOURCE53} | tee -a mysql-test/%{skiplist}
%endif
cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \
%{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE31} scripts
......@@ -752,10 +661,13 @@ cmake .. \
-DTMPDIR=/var/tmp \
-DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \
-DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \
-DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}"
-DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" \
-DWITH_UNIT_TESTS=0
# Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698
# Note: disabling building of unittests to workaround #1989847
cmake .. -LAH
# to safe disk space, do not use ccache
......@@ -831,8 +743,6 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p
install -D -p -m 0644 %{SOURCE32} %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-default-authentication-plugin.cnf
rm %{buildroot}%{_libdir}/mysql/*.a
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
rm %{buildroot}%{_mandir}/man1/comp_err.1*
# put logrotate script where it needs to be
......@@ -854,7 +764,7 @@ echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arc
# and just create a symlink in /usr/sbin
mv %{buildroot}%{_bindir}/mysqld %{buildroot}%{_libexecdir}/mysqld
mkdir -p %{buildroot}%{_sbindir}
ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld
ln -s ../libexec/mysqld %{buildroot}%{_sbindir}/mysqld
%if %{with debug}
mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld
......@@ -914,9 +824,8 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian}
%endif
%if %{without test}
rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process}
rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process,zlib_decompress,mysql_keyring_encryption_test}
rm -r %{buildroot}%{_datadir}/mysql-test
rm %{buildroot}%{_mandir}/man1/mysql_client_test.1*
%endif
%{?scl:EOF}
......@@ -976,24 +885,48 @@ set -ex
%if %{with test}
%if %runselftest
pushd build
make test VERBOSE=1
# Note: disabling building of unittests to workaround #1989847
#make test VERBOSE=1
pushd mysql-test
cp ../../mysql-test/%{skiplist} .
# builds might happen at the same host, avoid collision
export MTR_BUILD_THREAD=%{__isa_bits}
./mtr %{?with_debug:--debug-server} \
--mem --parallel=1 --force --retry=3 \
--mysqld=--binlog-format=mixed \
--suite-timeout=720 --testcase-timeout=30 \
--report-unstable-tests --clean-vardir \
%if %{check_testsuite}
--max-test-fail=100 || :
%else
--skip-test-list=%{skiplist}
%endif
# Builds might happen at the same host, avoid collision
# The port used is calculated as 10 * MTR_BUILD_THREAD + 10000
# The resulting port must be between 5000 and 32767
export MTR_BUILD_THREAD=$(( $(date +%s) % 2200 ))
(
set -ex
cd %{buildroot}%{_datadir}/mysql-test
export common_testsuite_arguments=" %{?with_debug:--debug-server} --parallel=auto --force --retry=2 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --max-test-fail=5 --report-unstable-tests --clean-vardir "
# 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 ]]
then
# in further rebuilds only run the basic "main" suite (~800 tests)
echo "running only base testsuite"
perl ./mysql-test-run.pl $common_testsuite_arguments --suite=main --mem --skip-test-list=%{skiplist}
fi
# If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test)
if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]]
then
echo "running advanced testsuite"
perl ./mysql-test-run.pl $common_testsuite_arguments \
%if %{ignore_testsuite_result}
--max-test-fail=9999 || :
%else
--skip-test-list=%{skiplist}
%endif
fi
# There might be a dangling symlink left from the testing, remove it to not be installed
rm -r var $(readlink var)
)
popd
popd
%endif
%endif
......@@ -1162,6 +1095,7 @@ fi
%{_bindir}/myisamlog
%{_bindir}/myisampack
%{_bindir}/my_print_defaults
%{_bindir}/mysql_migrate_keyring
%{_bindir}/mysql_secure_installation
%{_bindir}/mysql_ssl_rsa_setup
%{_bindir}/mysql_tzinfo_to_sql
......@@ -1199,7 +1133,6 @@ fi
%{_mandir}/man1/myisamlog.1*
%{_mandir}/man1/myisampack.1*
%{_mandir}/man1/myisam_ftdump.1*
%{_mandir}/man1/mysql.server.1*
%{_mandir}/man1/my_print_defaults.1*
%{_mandir}/man1/mysql_secure_installation.1*
%{_mandir}/man1/mysql_ssl_rsa_setup.1*
......@@ -1207,8 +1140,6 @@ fi
%{_mandir}/man1/mysql_upgrade.1*
%{_mandir}/man1/mysqldumpslow.1*
%if %{with init_systemd}
%exclude %{_mandir}/man1/mysqld_multi.1*
%exclude %{_mandir}/man1/mysqld_safe.1*
%else
%{_mandir}/man1/mysqld_multi.1*
%{_mandir}/man1/mysqld_safe.1*
......@@ -1217,7 +1148,6 @@ fi
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/perror.1*
%{_mandir}/man1/lz4_decompress.1*
%{_mandir}/man1/zlib_decompress.1*
%{_mandir}/man8/mysqld.8*
%{_datadir}/%{pkg_name}/dictionary.txt
......@@ -1263,12 +1193,15 @@ fi
%if %{with test}
%files test
%{_bindir}/mysql_client_test
%{_bindir}/mysql_keyring_encryption_test
%{_bindir}/mysqltest
%{_bindir}/mysqlxtest
%{_bindir}/mysqltest_safe_process
%{_bindir}/mysqld_safe
%{_bindir}/comp_err
%{_bindir}/zlib_decompress
%attr(-,mysql,mysql) %{_datadir}/mysql-test
%{_mandir}/man1/zlib_decompress.1*
%endif
%if 0%{?scl:1}
......@@ -1278,6 +1211,26 @@ fi
%endif
%changelog
* Wed Jul 21 2021 Lars Tangvald <lars.tangvald@oracle.com> - 8.0.26-1
- Update to MySQL 8.0.26
* Tue Jun 01 2021 Michal Schorm <mschorm@redhat.com> - 8.0.25-1
- Update to MySQL 8.0.25
* Sun Apr 18 2021 Lars Tangvald <lars.tangvald@oracle.com> - 8.0.24-1
- Update to MySQL 8.0.24
- Upstreamed patch: mysql-main-cast.patch
* Thu Feb 04 2021 Lars Tangvald <lars.tangvald@oracle.com> - 8.0.23-1
- Update to MySQL 8.0.23
- Created mysql-fix-includes-robin-hood.patch
- Created mysql-main-cast.patch
* Mon Oct 26 2020 Lukas Javorsky <ljavorsk@redhat.com> - 8.0.22-1
- Update to MySQL 8.0.22
- mysql-certs-expired.patch patched by upstream
- New zlib_decompress binary file in test package
* Wed Jul 22 2020 Lukas Javorsky <ljavorsk@redhat.com> - 8.0.21-1
- Rebase to 8.0.21