diff --git a/boost-1.57.0-mpl-print.patch b/boost-1.57.0-mpl-print.patch index 561cef19eb23fc79b060b21f9664c99811d9913c..f574f13cf79cd50a48ab4d7b91ca4922c1dc5ffc 100644 --- a/boost-1.57.0-mpl-print.patch +++ b/boost-1.57.0-mpl-print.patch @@ -29,3 +29,4 @@ diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp #if defined(BOOST_MSVC) Diff finished. Tue Jan 20 12:45:03 2015 + diff --git a/boost-1.58.0-pool.patch b/boost-1.58.0-pool.patch index ed8449ef0f8a847b9c6b756064a0f21602d04d8d..0f783914228fea715085d0f2b4ff80f02acbba73 100644 --- a/boost-1.58.0-pool.patch +++ b/boost-1.58.0-pool.patch @@ -1,7 +1,7 @@ Index: boost/pool/pool.hpp =================================================================== ---- boost/pool/pool.hpp (revision 78317) -+++ boost/pool/pool.hpp (revision 78326) +--- a/boost/pool/pool.hpp (revision 78317) ++++ b/oost/pool/pool.hpp (revision 78326) @@ -27,4 +27,6 @@ #include @@ -88,8 +88,8 @@ Index: boost/pool/pool.hpp // insert it into the list, Index: libs/pool/test/test_bug_6701.cpp =================================================================== ---- libs/pool/test/test_bug_6701.cpp (revision 78326) -+++ libs/pool/test/test_bug_6701.cpp (revision 78326) +--- a/libs/pool/test/test_bug_6701.cpp (revision 78326) ++++ b/libs/pool/test/test_bug_6701.cpp (revision 78326) @@ -0,0 +1,27 @@ +/* Copyright (C) 2012 Étienne Dupuis +* diff --git a/download b/download index 7b674d6ddf539db206cda75cca0538816f4b892c..e13a9a9a11645cb5fc092eb203031b7ee2b10d79 100644 --- a/download +++ b/download @@ -1 +1 @@ -0899fd341ce46f26446e428a7fbd2d46 mysql-boost-8.0.31.tar.gz +20ffc71fb8acd705cdc4a8ae4cdedf23 mysql-boost-8.0.33.tar.gz diff --git a/mysql-mtr.patch b/mysql-mtr.patch index 629ab5d6cf34e820cab97463b4b685bd45c5540e..6f193b9a68093b01c464fafc0ecc0ab078da5115 100644 --- a/mysql-mtr.patch +++ b/mysql-mtr.patch @@ -1,7 +1,7 @@ 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, line 1. -| worker[2] mysql-test-run: *** ERROR: Socket path '/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.s390x/usr/share/mysql-test/var/tmp/2' too long, +| 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= option === @@ -26,7 +26,7 @@ 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/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/ +| --tmpdir=/builddir/build/BUILDROOT/community-mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/ === @@ -39,7 +39,7 @@ BEFORE: AFTER: | Installing system database -| ### safe_path: /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/bin//mysqltest_safe_process --verbose -- /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/libexec/mysqld --no-defaults --initialize-insecure --loose-skip-ndbcluster --tmpdir=/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/ --core-file --datadir=/builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/data/ --secure-file-priv=/builddir/build/BUILDROOT/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/mysql-8.0.24-1.fc35.x86_64/usr/share/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/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp/bootstrap.sql +| ### 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 === @@ -59,21 +59,21 @@ Even though the script warns about the path length, tries to workaround it; it d I'm not sure whether the output is synchronous, but even if it wasn'tit still looks weird. -| + cd /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test +| + 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/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/tmp' creating a shorter one +| 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/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/t -| > resdir: /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/r +| > 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/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var -| > Removing /builddir/build/BUILDROOT/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var/ +| > 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/mysql-8.0.24-1.fc35.x86_64/usr/share/mysql-test/var' +| 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' diff --git a/mysql.spec b/mysql.spec index 1745f3c576be324889161c232e9be8ddd327bc12..5e3eb00b71782390be06cb2c95fe1715c1bdb93c 100644 --- a/mysql.spec +++ b/mysql.spec @@ -1,4 +1,4 @@ -%define anolis_release 3 +%define anolis_release 1 # Name of the package without any prefixes %global pkg_name %{name} %global pkgnamepatch mysql @@ -6,7 +6,7 @@ # 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 # --nocheck is not possible (e.g. in koji build) -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail, but 0 on production ready build %global ignore_testsuite_result 0 @@ -14,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 8.0.31 +%global last_tested_version 8.0.33 # Set to 1 to force run the testsuite even if it was already tested in current version %global force_run_testsuite 0 # Aditional SELinux rules @@ -75,7 +75,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: mysql -Version: 8.0.31 +Version: 8.0.33 Release: %{anolis_release}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -103,12 +103,10 @@ Source31: server.cnf.in # Skipped tests lists Source50: skipped-tests-list-base.list -# Comments for these patches are in the patch files -# Patches common for more mysql-like packages -Patch1: %{pkgnamepatch}-install-test.patch -Patch2: %{pkgnamepatch}-file-contents.patch -Patch3: %{pkgnamepatch}-scripts.patch -Patch4: %{pkgnamepatch}-paths.patch +Patch1: %{pkgnamepatch}-install-test.patch +Patch2: %{pkgnamepatch}-file-contents.patch +Patch3: %{pkgnamepatch}-scripts.patch +Patch4: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-sharedir.patch @@ -116,8 +114,8 @@ Patch52: %{pkgnamepatch}-rpath.patch Patch53: %{pkgnamepatch}-mtr.patch # Patches taken from boost 1.59 -Patch115: boost-1.58.0-pool.patch -Patch125: boost-1.57.0-mpl-print.patch +Patch111: boost-1.57.0-mpl-print.patch +Patch112: boost-1.58.0-pool.patch BuildRequires: cmake BuildRequires: gcc-c++ @@ -141,6 +139,7 @@ BuildRequires: perl-generators BuildRequires: rpcgen BuildRequires: libtirpc-devel BuildRequires: protobuf-lite-devel +BuildRequires: rapidjson-devel BuildRequires: zlib BuildRequires: zlib-devel # Tests requires time and ps and some perl modules @@ -199,7 +198,6 @@ Provides: bundled(boost) = %{boost_bundled_version} %if %{with mysql_names} Provides: mysql = %{sameevr} -Provides: mysql = %{sameevr} Provides: mysql-compat-client = %{sameevr} %endif @@ -363,18 +361,18 @@ the MySQL sources. %prep %setup -q -n mysql-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 +%patch -P1 -p1 +%patch -P2 -p1 +%patch -P3 -p1 +%patch -P4 -p1 +%patch -P51 -p1 +%patch -P52 -p1 +%patch -P53 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) -%patch115 -p0 -%patch125 -p1 +%patch111 -p1 +%patch112 -p1 popd # generate a list of tests that fail, but are not disabled by upstream @@ -402,7 +400,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ -DDAEMON_NO_PREFIX="%{daemon_no_prefix}" \ - -DLOG_LOCATION="%{logfile}" \ + -DLOGFILE_RPM="%{logfile}" \ -DPID_FILE_DIR="%{pidfiledir}" \ -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ @@ -484,14 +482,16 @@ install -p -m 755 %{_vpath_builddir}/scripts/mysql-wait-stop %{buildroot}%{_libe install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf - + rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_mandir}/man1/comp_err.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} -mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} -chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} +# Remove the wrong file +rm %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate +# Install the correct one (meant for FSH layout in RPM packages) +install -D -m 0644 %{_vpath_builddir}/packaging/rpm-common/mysql.logrotate %{buildroot}%{logrotateddir}/%{daemon_name} mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf @@ -555,7 +555,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without test} -rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process,zlib_decompress,mysql_keyring_encryption_test} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process,zlib_decompress} rm -r %{buildroot}%{_datadir}/mysql-test %endif @@ -579,14 +579,14 @@ 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 " + 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 --mysqld=--skip-innodb-use-native-aio " # 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} + perl ./mysql-test-run.pl $common_testsuite_arguments --suite=main --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) @@ -752,6 +752,7 @@ fi %{_libdir}/mysql/plugin/component_query_attributes.so %{_libdir}/mysql/plugin/component_reference_cache.so %{_libdir}/mysql/plugin/component_validate_password.so +%{_libdir}/mysql/plugin/conflicting_variables.so %{_libdir}/mysql/plugin/connection_control.so %{_libdir}/mysql/plugin/daemon_example.ini %{_libdir}/mysql/plugin/ddl_rewriter.so @@ -840,7 +841,6 @@ fi %dir %{_libdir}/mysql/plugin %{_libdir}/mysql/plugin/auth.so %{_libdir}/mysql/plugin/auth_test_plugin.so -%{_libdir}/mysql/plugin/conflicting_variables.so %{_libdir}/mysql/plugin/component_example_component1.so %{_libdir}/mysql/plugin/component_example_component2.so %{_libdir}/mysql/plugin/component_example_component3.so @@ -848,6 +848,8 @@ fi %{_libdir}/mysql/plugin/component_mysqlx_global_reset.so %{_libdir}/mysql/plugin/component_pfs_example_component_population.so %{_libdir}/mysql/plugin/component_pfs_example.so +%{_libdir}/mysql/plugin/component_test_mysql_thd_store_service.so +%{_libdir}/mysql/plugin/component_test_server_telemetry_traces.so %{_libdir}/mysql/plugin/component_test_audit_api_message.so %{_libdir}/mysql/plugin/component_test_backup_lock_service.so %{_libdir}/mysql/plugin/component_test_mysql_command_services.so @@ -925,6 +927,9 @@ fi %endif %changelog +* Tue Aug 01 2023 happy_orange - 8.0.33-1 +- update to 8.0.33 to fix cves + * Mon Mar 27 2023 mgb01105731 - 8.0.31-3 - Del Specific Fields diff --git a/skipped-tests-list-base.list b/skipped-tests-list-base.list index 31110948c6a6105be491f0454f399211c56e8519..0247888c08fb5c73e690bd28bdeeac2d13410acc 100644 --- a/skipped-tests-list-base.list +++ b/skipped-tests-list-base.list @@ -50,6 +50,7 @@ innodb.trigger_function_lock_compare : BUG#0 # Failing only in i686 since MySQL 8.0.28 main.index_merge_myisam : BUG#0 +# Failing since MySQL 8.0.33 main.merge_myisam : BUG#0 main.subquery_sj_mat : BUG#0 main.parser_precedence : BUG#0 @@ -58,3 +59,19 @@ main.func_math : BUG#0 main.persisted_variables_extended : BUG#0 main.mysqlpump_bugs : BUG#0 main.mysqltest : BUG#0 +main.mysql_client_test : BUG#0 +main.opt_costmodel_restart : BUG#0 +main.lowercase_mixed_tmpdir : BUG#0 +main.persisted_variables : BUG#0 +main.disabled_storage_engines : BUG#0 +main.query_attributes : BUG#0 +main.conflicting_variables_plugin : BUG#0 +main.basedir : BUG#0 +main.metadata_myisam : BUG#0 +main.merge_innodb : BUG#0 +main.log_tables_upgrade : BUG#0 +main.admin_interface : BUG#0 +main.partition_prefixkey_upgrade : BUG#0 +main.dd_upgrade_non_debug : BUG#0 +main.derived_condition_pushdown : BUG#0 +main.server_offline_6 : BUG#0