From f6397a1a9bd231e1ed27e2675617d29de8433939 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: May 28 2018 04:16:00 +0000 Subject: 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. --- diff --git a/mariadb.spec b/mariadb.spec index d59649d..fc0c511 100644 --- a/mariadb.spec +++ b/mariadb.spec @@ -16,12 +16,17 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch + + # TokuDB engine # https://mariadb.com/kb/en/mariadb/tokudb/ # 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 # 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 # RocksDB engine # https://mariadb.com/kb/en/library/myrocks-supported-platforms/ @@ -41,14 +46,16 @@ %bcond_without oqgraph # 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} -%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}} -%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}} -%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}} +%bcond_without cracklib +%bcond_without connect +%bcond_without sphinx +%else +%bcond_with cracklib +%bcond_with connect +%bcond_with sphinx %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 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 @@ -130,7 +137,7 @@ # Make long macros shorter %global sameevr %{epoch}:%{version}-%{release} %global compatver 10.2 -%global bugfixver 14 +%global bugfixver 15 Name: mariadb Version: %{compatver}.%{bugfixver} @@ -393,10 +400,10 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} Recommends: %{name}-server-utils%{?_isa} = %{sameevr} Recommends: %{name}-backup%{?_isa} = %{sameevr} -%{?with_cracklib: Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} -%{?with_gssapi: Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} -%{?with_rocksdb: Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} -%{?with_tokudb: Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} +%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}} +%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}} +%{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}} +%{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}} Suggests: mytop @@ -493,6 +500,7 @@ The RocksDB storage engine is used for high performance servers on SSD drives. %package tokudb-engine Summary: The TokuDB storage engine for MariaDB Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: jemalloc %description tokudb-engine The TokuDB storage engine from Percona. @@ -821,7 +829,7 @@ export CFLAGS CXXFLAGS -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_JEMALLOC=no \ + -DWITH_JEMALLOC=yes \ -DLZ4_LIBS=%{_libdir}/liblz4.so \ -DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \ -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 # 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} 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 @@ -1050,6 +1059,12 @@ mysqldump,mysqlimport,mysqlshow,mysqlslap}.1* # because upstream ships manpages for tokudb even on architectures that tokudb doesn't support rm %{buildroot}%{_mandir}/man1/tokuftdump.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 %if %{without config} @@ -1124,8 +1139,8 @@ export MTR_BUILD_THREAD=%{__isa_bits} set -ex cd mysql-test - perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --suite-timeout=720 --testcase-timeout=30 \ + perl ./mysql-test-run.pl --force --retry=1 --ssl \ + --suite-timeout=900 --testcase-timeout=30 \ --mysqld=--binlog-format=mixed --force-restart \ --shutdown-timeout=60 --max-test-fail=0 --big-test \ --skip-test=spider \ @@ -1458,6 +1473,7 @@ fi %{_mandir}/man1/tokuft_logdump.1* %config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so +/usr/lib/systemd/system/mariadb.service.d/tokudb.conf %endif %if %{with gssapi} @@ -1554,6 +1570,13 @@ fi %endif %changelog +* Wed May 23 2018 Michal Schorm - 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 - 3:10.2.14-1 - Rebase to 10.2.14 - Update testsuite run for SSL self signed certificates diff --git a/mysql.service.in b/mysql.service.in index bb5b8c2..6f84dd3 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -26,8 +26,15 @@ [Unit] 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 +[Install] +WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service + [Service] Type=notify User=mysql @@ -64,8 +71,3 @@ TimeoutSec=300 # Place temp files in a secure directory, not /tmp PrivateTmp=true - -[Install] -WantedBy=multi-user.target -Alias=mysql.service -Alias=mysqld.service diff --git a/mysql@.service.in b/mysql@.service.in index 34e645f..b36ce6d 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -33,8 +33,15 @@ [Unit] 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 +[Install] +WantedBy=multi-user.target +Alias=mysql.service +Alias=mysqld.service + [Service] Type=notify User=mysql @@ -70,8 +77,3 @@ TimeoutSec=300 # Place temp files in a secure directory, not /tmp PrivateTmp=true - -[Install] -WantedBy=multi-user.target -Alias=mysql.service -Alias=mysqld.service diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index 8b13789..6ec9031 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -1 +1,2 @@ - +# Fails since 10.2.15 +encryption.innodb-encryption-alter : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index c8c6912..3afa05d 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -2,11 +2,13 @@ # 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_crl_clients : #1399847 +main.ssl_cert_verify : # main.non_blocking_api : #1399847 perfschema.nesting : #1399847 perfschema.socket_summary_by_instance_func : #1399847 +perfschema.socket_summary_by_event_name_func : # needs this tests disabled for mode build plugins.feedback_plugin_load : # @@ -22,40 +24,11 @@ rpl.rpl_row_img_eng_noblob : 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 : -# Fails on PPC, PPC64 and AArch -parts.partition_alter4_innodb : #1399847 - -# 10.2.12 and 10.2.13 after some unidentified change in Rawhide buildroot +# on x86_64 after 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_or_equal : 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.optimization_order_limit_optimized_datetime_less_than : 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 : diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list index a62648c..74839cc 100644 --- a/rh-skipped-tests-ppc.list +++ b/rh-skipped-tests-ppc.list @@ -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 # failed: 1045: Access denied for user '.....'@'localhost' (using password: YES) +binlog_encryption.encrypted_master : 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_03e : funcs_1.innodb_trig_0407 : 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_03e : funcs_1.memory_trig_0407 : @@ -38,24 +17,34 @@ funcs_1.myisam_trig_0407 : funcs_1.myisam_trig_08 : funcs_1.processlist_priv_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.change_user : main.lowercase_fs_off : -main.ps_grant : -main.select : -main.select_jcl6 : -main.set_password_plugin-9835 : -main.show_grants_with_plugin-7985 : -main.sp-security : -main.sp_notembedded : -main.type_float : -main.type_newdecimal : -main.type_ranges : -main.userstat-badlogin-4824 : -main.view_grant : -plugins.auth_ed25519 : -roles.grant_role_auto_create_user : -sys_vars.old_passwords_func : -unit.conc_connection : -unit.ed25519 : +main.mysql_client_test : +main.mysql_client_test_comp : +main.mysql_client_test_nonblock : +main.mysql_upgrade : +main.mysql_upgrade-6984 : +main.plugin_auth : +main.plugin_auth_qa_1 : +main.ps : +main.select_pkeycache : + +parts.partition_alter1_1_innodb : +parts.partition_alter1_2_innodb : +parts.part_supported_sql_func_innodb : + +rpl.rpl_create_drop_user : +rpl.rpl_do_grant : +rpl.rpl_temporary : + +sys_vars.secure_auth_func : diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list index e69de29..e0a897b 100644 --- a/rh-skipped-tests-s390.list +++ b/rh-skipped-tests-s390.list @@ -0,0 +1,2 @@ +# Fails since 10.2.15 +disks.disks : diff --git a/sources b/sources index 16ec467..36c4e12 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mariadb-10.2.14.tar.gz) = 12195cc8c7a97619024d6b8b37558a43f4f543efff257a7a3dbb10e8a6e064ec2f0740554cf50cc83576b74ba355cf00f3c99855bc2bcf68b90c1fa90c850026 +SHA512 (mariadb-10.2.15.tar.gz) = 7702af8787973b15784dc8a89f9d56765725a420e2e68f1924b67c88c134c7d83d3249dddd16707fa9e5f05ed747f813f16feefbb477e999a6698b1dcfb5a88f