Rebase to 10.2.15

Don't use conditionals macros verided by the values outside the SPEC. They don't work thay way.
Fix the server Recommends. They won't be parsed correctly, if they have whitespaces in front of them in contidional macros.
Move the upstream systemd config file for tokudb to the correct location.
Tweak the systemd unit files, to be closer to their upstream variants.
Heavy update of the skipped tests list. PPC64le seems problematic lately. Spider tests are disabled in the first testsuite run as a whole testsuite, so no need to explicitly list them.
Extend the testsuite timeout to 15 hours; 12 hours just wasn't enough for PPC64le; allow to retry failed test one time.
Build with Jemalloc again. Require Jemalloc by TokuDB. Set precise version of Jemalloc library to systemd config for TokuDB.
This commit is contained in:
Michal Schorm 2018-05-28 01:52:06 +02:00
parent 7fecec7c62
commit f6397a1a9b
8 changed files with 112 additions and 101 deletions

View File

@ -16,12 +16,17 @@
# Turn that off to ensure such files don't get included in RPMs (cf bz#884755). # Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
%global _default_patch_flags --no-backup-if-mismatch %global _default_patch_flags --no-backup-if-mismatch
# TokuDB engine # TokuDB engine
# https://mariadb.com/kb/en/mariadb/tokudb/ # https://mariadb.com/kb/en/mariadb/tokudb/
# TokuDB engine is available only for x86_64 # TokuDB engine is available only for x86_64
# There's a problem currently with jemalloc, which tokudb use.
# TokuDB does not yet support new Jemalloc 5, but on F>=28, there's only Jemalloc 5. Not a supported configuration.
# Also build of TokuDB without Jemalloc is not supported.
# Mroonga engine # Mroonga engine
# https://mariadb.com/kb/en/mariadb/about-mroonga/ # https://mariadb.com/kb/en/mariadb/about-mroonga/
# Actual version in MariaDB, 5.04, only supports the x86_64 # Current version in MariaDB, 7.07, only supports the x86_64
# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html # Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html
# RocksDB engine # RocksDB engine
# https://mariadb.com/kb/en/library/myrocks-supported-platforms/ # https://mariadb.com/kb/en/library/myrocks-supported-platforms/
@ -41,14 +46,16 @@
%bcond_without oqgraph %bcond_without oqgraph
# Other plugins # Other plugins
# Allow to override the values outside of spec
# https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L100-L141
%if 0%{?fedora} %if 0%{?fedora}
%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}} %bcond_without cracklib
%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}} %bcond_without connect
%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}} %bcond_without sphinx
%else
%bcond_with cracklib
%bcond_with connect
%bcond_with sphinx
%endif %endif
%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}} %bcond_without gssapi
# For some use cases we do not need some parts of the package. Set to "...with" to exclude # For some use cases we do not need some parts of the package. Set to "...with" to exclude
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7
@ -130,7 +137,7 @@
# Make long macros shorter # Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release} %global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2 %global compatver 10.2
%global bugfixver 14 %global bugfixver 15
Name: mariadb Name: mariadb
Version: %{compatver}.%{bugfixver} Version: %{compatver}.%{bugfixver}
@ -393,10 +400,10 @@ Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr}
Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr}
Recommends: %{name}-backup%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr}
%{?with_cracklib: Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} %{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}}
%{?with_gssapi: Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} %{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}}
%{?with_rocksdb: Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} %{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}}
%{?with_tokudb: Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} %{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}}
Suggests: mytop Suggests: mytop
@ -493,6 +500,7 @@ The RocksDB storage engine is used for high performance servers on SSD drives.
%package tokudb-engine %package tokudb-engine
Summary: The TokuDB storage engine for MariaDB Summary: The TokuDB storage engine for MariaDB
Requires: %{name}-server%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr}
Requires: jemalloc
%description tokudb-engine %description tokudb-engine
The TokuDB storage engine from Percona. The TokuDB storage engine from Percona.
@ -821,7 +829,7 @@ export CFLAGS CXXFLAGS
-DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \ -DWITH_SSL=system \
-DWITH_ZLIB=system \ -DWITH_ZLIB=system \
-DWITH_JEMALLOC=no \ -DWITH_JEMALLOC=yes \
-DLZ4_LIBS=%{_libdir}/liblz4.so \ -DLZ4_LIBS=%{_libdir}/liblz4.so \
-DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \
-DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \ -DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \
@ -860,7 +868,8 @@ ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz
# multilib support for shell scripts # multilib support for shell scripts
# we only apply this to known Red Hat multilib arches, per bug #181335 # we only apply this to known Red Hat multilib arches, per bug #181335
if %multilib_capable; then if [ %multilib_capable ]
then
mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits}
install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config install -p -m 0755 scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config
# Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961 # Copy manual page for multilib mysql_config; https://jira.mariadb.org/browse/MDEV-11961
@ -1050,6 +1059,12 @@ mysqldump,mysqlimport,mysqlshow,mysqlslap}.1*
# because upstream ships manpages for tokudb even on architectures that tokudb doesn't support # because upstream ships manpages for tokudb even on architectures that tokudb doesn't support
rm %{buildroot}%{_mandir}/man1/tokuftdump.1* rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1* rm %{buildroot}%{_mandir}/man1/tokuft_logdump.1*
%else
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf
%endif
# Move to better location, systemd config files has to be in /lib/
mv %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d %{buildroot}/usr/lib/systemd/system/
%endif %endif
%if %{without config} %if %{without config}
@ -1124,8 +1139,8 @@ export MTR_BUILD_THREAD=%{__isa_bits}
set -ex set -ex
cd mysql-test cd mysql-test
perl ./mysql-test-run.pl --force --retry=0 --ssl \ perl ./mysql-test-run.pl --force --retry=1 --ssl \
--suite-timeout=720 --testcase-timeout=30 \ --suite-timeout=900 --testcase-timeout=30 \
--mysqld=--binlog-format=mixed --force-restart \ --mysqld=--binlog-format=mixed --force-restart \
--shutdown-timeout=60 --max-test-fail=0 --big-test \ --shutdown-timeout=60 --max-test-fail=0 --big-test \
--skip-test=spider \ --skip-test=spider \
@ -1458,6 +1473,7 @@ fi
%{_mandir}/man1/tokuft_logdump.1* %{_mandir}/man1/tokuft_logdump.1*
%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf %config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf
%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so
/usr/lib/systemd/system/mariadb.service.d/tokudb.conf
%endif %endif
%if %{with gssapi} %if %{with gssapi}
@ -1554,6 +1570,13 @@ fi
%endif %endif
%changelog %changelog
* Wed May 23 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.15-1
- Rebase to 10.2.15
- CVEs fixed: #1568962
CVE-2018-2755 CVE-2018-2761 CVE-2018-2766 CVE-2018-2771 CVE-2018-2781
CVE-2018-2782 CVE-2018-2784 CVE-2018-2787 CVE-2018-2813 CVE-2018-2817
CVE-2018-2819 CVE-2018-2786 CVE-2018-2759 CVE-2018-2777 CVE-2018-2810
* Thu Mar 29 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.14-1 * Thu Mar 29 2018 Michal Schorm <mschorm@redhat.com> - 3:10.2.14-1
- Rebase to 10.2.14 - Rebase to 10.2.14
- Update testsuite run for SSL self signed certificates - Update testsuite run for SSL self signed certificates

View File

@ -26,8 +26,15 @@
[Unit] [Unit]
Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server
Documentation=man:mysqld(8)
Documentation=https://mariadb.com/kb/en/library/systemd/
After=network.target After=network.target
[Install]
WantedBy=multi-user.target
Alias=mysql.service
Alias=mysqld.service
[Service] [Service]
Type=notify Type=notify
User=mysql User=mysql
@ -64,8 +71,3 @@ TimeoutSec=300
# Place temp files in a secure directory, not /tmp # Place temp files in a secure directory, not /tmp
PrivateTmp=true PrivateTmp=true
[Install]
WantedBy=multi-user.target
Alias=mysql.service
Alias=mysqld.service

View File

@ -33,8 +33,15 @@
[Unit] [Unit]
Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server
Documentation=man:mysqld(8)
Documentation=https://mariadb.com/kb/en/library/systemd/
After=network.target After=network.target
[Install]
WantedBy=multi-user.target
Alias=mysql.service
Alias=mysqld.service
[Service] [Service]
Type=notify Type=notify
User=mysql User=mysql
@ -70,8 +77,3 @@ TimeoutSec=300
# Place temp files in a secure directory, not /tmp # Place temp files in a secure directory, not /tmp
PrivateTmp=true PrivateTmp=true
[Install]
WantedBy=multi-user.target
Alias=mysql.service
Alias=mysqld.service

View File

@ -1 +1,2 @@
# Fails since 10.2.15
encryption.innodb-encryption-alter :

View File

@ -2,11 +2,13 @@
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275 # https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-84275
main.ssl_7937 : #1399847 main.ssl_7937 : #1399847
main.ssl_crl_clients : #1399847 main.ssl_crl_clients : #1399847
main.ssl_cert_verify :
# #
main.non_blocking_api : #1399847 main.non_blocking_api : #1399847
perfschema.nesting : #1399847 perfschema.nesting : #1399847
perfschema.socket_summary_by_instance_func : #1399847 perfschema.socket_summary_by_instance_func : #1399847
perfschema.socket_summary_by_event_name_func :
# <mkocka@redhat.com> needs this tests disabled for mode build # <mkocka@redhat.com> needs this tests disabled for mode build
plugins.feedback_plugin_load : # plugins.feedback_plugin_load : #
@ -22,40 +24,11 @@ rpl.rpl_row_img_eng_noblob :
sys_vars.slave_parallel_threads_basic : sys_vars.slave_parallel_threads_basic :
spider/bg.spider3_fixes_part :
spider/bg.spider_fixes :
spider/bg.spider_fixes_part :
spider/bg.basic_sql :
spider/bg.basic_sql_part :
spider/bg.direct_aggregate_part :
spider/bg.direct_update :
spider/bg.direct_update_part :
spider/bg.function :
spider/bg.ha :
spider/bg.ha_part :
spider/bg.vp_fixes :
spider.spider3_fixes :
spider.spider3_fixes_part :
spider.spider_fixes :
spider.spider_fixes_part :
spider.basic_sql_part :
spider.direct_aggregate :
spider.direct_aggregate_part :
spider.direct_update :
spider.direct_update_part :
spider.function :
spider.ha :
spider.ha_part :
spider.vp_fixes :
# ------------------------------ # ------------------------------
# Fails since 10.1.12 # Fails since 10.1.12; only x86_64
innodb.innodb_defrag_binlog : innodb.innodb_defrag_binlog :
# Fails on PPC, PPC64 and AArch # on x86_64 after 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot
parts.partition_alter4_innodb : #1399847
# 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot
mroonga/storage.index_multiple_column_range_all_used_less_than : mroonga/storage.index_multiple_column_range_all_used_less_than :
mroonga/storage.index_multiple_column_range_all_used_less_than_or_equal : mroonga/storage.index_multiple_column_range_all_used_less_than_or_equal :
mroonga/storage.index_multiple_column_range_partially_used_have_prefix_less_than : mroonga/storage.index_multiple_column_range_partially_used_have_prefix_less_than :
@ -64,3 +37,22 @@ mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than
mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than_or_equal : mroonga/storage.index_multiple_column_range_partially_used_no_prefix_less_than_or_equal :
mroonga/storage.optimization_order_limit_optimized_datetime_less_than : mroonga/storage.optimization_order_limit_optimized_datetime_less_than :
mroonga/storage.optimization_order_limit_optimized_datetime_less_than_or_equal : mroonga/storage.optimization_order_limit_optimized_datetime_less_than_or_equal :
# Fails everywhere since 10.2.15
main.non_blocking_api :
main.userstat :
# Fails on x86_64 since 10.2.15
rocksdb.2pc_group_commit :
rocksdb.read_only_tx :
rocksdb.shutdown :
rocksdb.index_merge_rocksdb2 :
rocksdb.index_merge_rocksdb :
# Fails on ppc and arm since 10.2.15
binlog.binlog_flush_binlogs_delete_domain :
innodb.innodb_buffer_pool_resize_with_chunks :
innodb.innodb_buffer_pool_resize :
innodb_gis.rtree_compress :
innodb_gis.rtree_compress2 :
parts.partition_alter4_innodb :

View File

@ -1,33 +1,12 @@
# Fails since 10.1.12 only on PPC64
innodb_fts.fulltext :
# Fails since 10.1.12 only on PPC64 and PPC64le; timeout after 1800 seconds
innodb.innodb_defrag_concurrent :
parts.partition_alter1_2_innodb :
# 10.2.12 & 10.2.13 after some uninedtified Rawhide (and the forked f28) buildroot change # 10.2.12 & 10.2.13 after some uninedtified Rawhide (and the forked f28) buildroot change
# failed: 1045: Access denied for user '.....'@'localhost' (using password: YES) # failed: 1045: Access denied for user '.....'@'localhost' (using password: YES)
binlog_encryption.encrypted_master :
binlog_encryption.encrypted_slave : binlog_encryption.encrypted_slave :
rpl.rpl_create_drop_user :
rpl.rpl_do_grant :
rpl.rpl_temporary :
main.connect :
main.events_bugs :
main.mysql_client_test :
main.mysql_upgrade-6984 :
innodb.innodb_defragment :
innodb.innodb_defrag_stats :
main.mysql_upgrade :
innodb.temporary_table_optimization :
main.plugin_auth :
funcs_1.innodb_trig_03 : funcs_1.innodb_trig_03 :
funcs_1.innodb_trig_03e : funcs_1.innodb_trig_03e :
funcs_1.innodb_trig_0407 : funcs_1.innodb_trig_0407 :
funcs_1.innodb_trig_08 : funcs_1.innodb_trig_08 :
innodb.innodb_bug34053 :
main.select_pkeycache :
main.mysql_client_test_comp :
main.plugin_auth_qa_1 :
sys_vars.secure_auth_func :
funcs_1.memory_trig_03 : funcs_1.memory_trig_03 :
funcs_1.memory_trig_03e : funcs_1.memory_trig_03e :
funcs_1.memory_trig_0407 : funcs_1.memory_trig_0407 :
@ -38,24 +17,34 @@ funcs_1.myisam_trig_0407 :
funcs_1.myisam_trig_08 : funcs_1.myisam_trig_08 :
funcs_1.processlist_priv_no_prot : funcs_1.processlist_priv_no_prot :
funcs_1.processlist_val_no_prot : funcs_1.processlist_val_no_prot :
main.change_user :
main.grant : innodb.innodb_bug34053 :
innodb.temporary_table_optimization :
innodb_zip.cmp_per_index :
main.connect :
main.derived_cond_pushdown :
main.events_bugs :
main.grant :
main.grant2 : main.grant2 :
main.change_user :
main.lowercase_fs_off : main.lowercase_fs_off :
main.ps_grant : main.mysql_client_test :
main.select : main.mysql_client_test_comp :
main.select_jcl6 : main.mysql_client_test_nonblock :
main.set_password_plugin-9835 : main.mysql_upgrade :
main.show_grants_with_plugin-7985 : main.mysql_upgrade-6984 :
main.sp-security : main.plugin_auth :
main.sp_notembedded : main.plugin_auth_qa_1 :
main.type_float : main.ps :
main.type_newdecimal : main.select_pkeycache :
main.type_ranges :
main.userstat-badlogin-4824 : parts.partition_alter1_1_innodb :
main.view_grant : parts.partition_alter1_2_innodb :
plugins.auth_ed25519 : parts.part_supported_sql_func_innodb :
roles.grant_role_auto_create_user :
sys_vars.old_passwords_func : rpl.rpl_create_drop_user :
unit.conc_connection : rpl.rpl_do_grant :
unit.ed25519 : rpl.rpl_temporary :
sys_vars.secure_auth_func :

View File

@ -0,0 +1,2 @@
# Fails since 10.2.15
disks.disks :

View File

@ -1 +1 @@
SHA512 (mariadb-10.2.14.tar.gz) = 12195cc8c7a97619024d6b8b37558a43f4f543efff257a7a3dbb10e8a6e064ec2f0740554cf50cc83576b74ba355cf00f3c99855bc2bcf68b90c1fa90c850026 SHA512 (mariadb-10.2.15.tar.gz) = 7702af8787973b15784dc8a89f9d56765725a420e2e68f1924b67c88c134c7d83d3249dddd16707fa9e5f05ed747f813f16feefbb477e999a6698b1dcfb5a88f