The package rpms/mariadb.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/mariadb.git/commit/?id=ff6cb12c8c....
Change:
-%ifarch ppc64
Thanks.
Full change:
============
commit 9486872b39d6233ec42ff8514c7dfcffcd6808ae
Merge: 5b1b5d1 99964e0
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 10:33:56 2020 +0200
Merge branch 'master' into 10.4
commit 5b1b5d177dd58242ddda67ffd8166290eb424a43
Merge: e183a65 5ef66fd
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Mar 16 15:17:50 2020 +0100
Merge branch 'master' into 10.4
commit e183a65fc0138a30379b90e384becd9fea5c4882
Merge: 1f6465e 55406c8
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Feb 10 11:08:14 2020 +0100
Merge branch 'master' into 10.4
Intended goal:
10.4 should now be identical to master branch
Previously, there was MariaDB 10.3 in master (Rawhide) and 10.4 in Fedora modules
Now, the master (Rawhide) updated to MariaDB 10.4 and 10.4 branch should only mirror
changes on master.
This way, the modules will be built from the same sources as the Rawhide content.
commit 1f6465e1ff8e71ae3253e802dd3e7f49253c8c1f
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Jan 10 12:20:00 2020 +0100
Rebase to 10.4.11
diff --git a/mariadb.spec b/mariadb.spec
index 99e30f0..30d3975 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.10
-Release: 1.20191205git9a621200%{?with_debug:.debug}%{?dist}
+Version: 10.4.11
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -472,6 +472,9 @@ standard SQL syntax, and results joined onto other tables.
Summary: The CONNECT storage engine for MariaDB
Requires: %{name}-server%{?_isa} = %{sameevr}
+# As per
https://jira.mariadb.org/browse/MDEV-21450
+BuildRequires: libxml2-devel
+
%description connect-engine
The CONNECT storage engine enables MariaDB to access external local or
remote data (MED). This is done by defining tables based on different data
@@ -1598,6 +1601,10 @@ fi
%endif
%changelog
+* Fri Jan 10 2020 Michal Schorm <mschorm(a)redhat.com> - 10.4.11-1
+- Rebase to 10.4.11
+
+
* Tue Dec 03 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.10-1
- Rebase to 10.4.10
Upstream started linking the Galera libraries statically
diff --git a/sources b/sources
index c5ef0e3..dfbf8f0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.10.tar.gz) =
a8b93be9dba6f9d2fd5a8da53f37c1f1c0469c64c919c2978e5f31871a6eb4052da96d162269c2d060d258c14ca92c357caa7a63da4f6f87443e5625412ab18f
+SHA512 (mariadb-10.4.11.tar.gz) =
2a1a8d90e326530b41a8a7d6889325cefcba5914451a48c6a20d5d5cd68004835e76e6ecac628554167a014f9c0b1487c15f37151afd771ea0166a4c40afd7d2
commit 1fd9cbbc18d1b074f8b490485f0a796c01ecf60d
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Dec 9 12:53:44 2019 +0100
Update failing tests lists
diff --git a/mariadb.spec b/mariadb.spec
index 870d81f..99e30f0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -6,7 +6,7 @@
%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 1
+%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
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index eccb8c0..b982197 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -57,3 +57,7 @@ plugins.auth_ed25519 :
# Fails from 10.4.10
sys_vars.tcp_nodelay :
+# only on i686
+main.key_cache :
+parts.optimizer :
+main.opt_trace_index_merge :
commit b86d806db4c445a85ed8001be53516328a4a05cf
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 7 03:53:09 2019 +0100
Remove ancient Galera obsoletes
diff --git a/mariadb.spec b/mariadb.spec
index e66f410..870d81f 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -286,9 +286,6 @@ Suggests: %{name}-server%{?_isa} = %{sameevr}
# MySQL (with caps) is upstream's spelling of their own RPMs for mysql
%{?with_conflicts:Conflicts: community-mysql}
-# obsoletion of mariadb-galera
-Provides: mariadb-galera = %{sameevr}
-
# Filtering:
https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::)
%global __provides_exclude_from
^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$
@@ -347,9 +344,6 @@ package itself.
Summary: The shared files required by server and client
Requires: %{_sysconfdir}/my.cnf
-# obsoletion of mariadb-galera-common
-Provides: mariadb-galera-common = %{sameevr}
-
%if %{without clibrary}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -385,9 +379,6 @@ Requires: lsof
# Default wsrep_sst_method
Requires: rsync
-# obsoletion of mariadb-galera-server
-Provides: mariadb-galera-server = %{sameevr}
-
%description server-galera
MariaDB is a multi-user, multi-threaded SQL database server. It is a
client/server implementation consisting of a server daemon (mysqld)
commit d83bf98182cfe4a91836472f52038dbc5723ae71
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 7 03:49:46 2019 +0100
Allow port 4444 in SELinux for Galera SST replication
diff --git a/mariadb.spec b/mariadb.spec
index 17e5a95..e66f410 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1232,11 +1232,16 @@ export MTR_BUILD_THREAD=%{__isa_bits}
%if %{with galera}
%post server-galera
-# Do what README at support-files/policy/selinux/README and upstream page
-#
http://galeracluster.com/documentation-webpages/firewallsettings.html recommend:
-semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || :
+# Allow ports needed for the replication:
+#
https://mariadb.com/kb/en/library/configuring-mariadb-galera-cluster/#net...
+# Galera Replication Port
semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || :
semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || :
+# IST Port
+semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || :
+# SST Port
+semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || :
+
semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null
2>&1 || :
%endif
commit c487d09e4d72a76af5ec2383ed8e9698424c1752
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Dec 6 15:06:31 2019 +0100
Use updated sources from upstream GitHub, instead of the released version 10.4.10
for fix for
https://jira.mariadb.org/browse/MDEV-21229
Upstream commit that fixes the issue:
https://github.com/MariaDB/server/commit/9a6212008999da44b136605c1abf2cc9...
diff --git a/mariadb.spec b/mariadb.spec
index 3bd9fcf..17e5a95 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -158,7 +158,7 @@
Name: mariadb
Version: 10.4.10
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 1.20191205git9a621200%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -266,7 +266,7 @@ Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
# Explicit EVR requirement for -libs is needed for RHBZ#1406320
Requires: %{name}-libs%{?_isa} = %{sameevr}
%else
@@ -304,7 +304,7 @@ The base package contains the standard MariaDB/MySQL client programs
and
generic MySQL files.
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
%package libs
Summary: The shared libraries required for MariaDB/MySQL clients
Requires: %{name}-common%{?_isa} = %{sameevr}
@@ -350,7 +350,7 @@ Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common
Provides: mariadb-galera-common = %{sameevr}
-%if %{without clibrary} && %{without galera}
+%if %{without clibrary}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -377,7 +377,7 @@ MariaDB packages.
Summary: The configuration files and scripts for galera replication
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
-Requires: galera >= 25.3.3
+Requires: galera >= 26.4.3
Requires(post): libselinux-utils
Requires(post): policycoreutils-python-utils
# wsrep requirements
@@ -595,7 +595,7 @@ the only MariaDB sub-package, except test subpackage, that depends on
Perl.
%package devel
Summary: Files for development of MariaDB/MySQL applications
Requires: openssl-devel
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
Requires: %{name}-libs%{?_isa} = %{sameevr}
%else
Requires: mariadb-connector-c-devel >= 3.0
@@ -921,7 +921,6 @@ rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/
install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/
-rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/
# Logfile creation
mkdir -p %{buildroot}%{logfiledir}
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index e41440b..eccb8c0 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -50,4 +50,10 @@ innodb_gis.rtree_compress2 :
parts.partition_alter4_innodb :
# Fails from 10.3.9
-encryption.innodb-redo-badkey :
+encryption.innodb-redo-badkey :
+
+# Expected: Plugin building disabled in server
+plugins.auth_ed25519 :
+
+# Fails from 10.4.10
+sys_vars.tcp_nodelay :
diff --git a/sources b/sources
index f3d0b74..c5ef0e3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.7.tar.gz) =
cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce
+SHA512 (mariadb-10.4.10.tar.gz) =
a8b93be9dba6f9d2fd5a8da53f37c1f1c0469c64c919c2978e5f31871a6eb4052da96d162269c2d060d258c14ca92c357caa7a63da4f6f87443e5625412ab18f
commit 8d089185e5698a5216a4e50aca3a52f60b8d2e78
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Dec 6 14:55:29 2019 +0100
Rebase to 10.4.10
Upstream started to build the Galera libraries statically
Spider SE patch updated, tiny part of it was upstreamed
Commit also contains several tweaks for debug build
diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch
index fd58c42..6af9466 100644
--- a/mariadb-logrotate.patch
+++ b/mariadb-logrotate.patch
@@ -26,16 +26,13 @@ Update 6/2018
beeing able to send the SIGHUP to the process and read the mysqld pid file, which root
can.
* Submited as PR:
https://github.com/MariaDB/server/pull/807
---- mariadb-10.3.7/support-files/mysql-log-rotate.sh 2018-05-23 22:38:46.000000000 +0200
-+++ mariadb-10.3.7/support-files/mysql-log-rotate.sh_patched 2018-06-27
12:11:23.705719826 +0200
-@@ -1,25 +1,12 @@
- # This logname can be set in /etc/my.cnf
- # by setting the variable "err-log"
--# in the [safe_mysqld] section as follows:
-+# in the [mysqld] section as follows:
+--- mariadb-10.3.19/support-files/mysql-log-rotate.sh 2019-11-03 17:03:27.000000000
+0100
++++ mariadb-10.3.19/support-files/mysql-log-rotate.sh_patched 2019-11-06
15:07:54.205379672 +0100
+@@ -3,23 +3,10 @@
+ # in the [mysqld] section as follows:
#
--# [safe_mysqld]
--# err-log=@localstatedir(a)/mysqld.log
+ # [mysqld]
+-# log-error=@localstatedir(a)/mysqld.log
-#
-# If the root user has a password you have to create a
-# /root/.my.cnf configuration file with the following
@@ -49,15 +46,14 @@ Update 6/2018
-#
-# ATTENTION: This /root/.my.cnf should be readable ONLY
-# for root !
-+# [mysqld]
-+# log_error=@LOG_LOCATION@
++# log-error=@LOG_LOCATION@
-@localstatedir(a)/mysqld.log {
- # create 600 mysql mysql
+@LOG_LOCATION@ {
+ create 600 mysql mysql
notifempty
- daily
+ daily
rotate 3
@@ -27,11 +14,9 @@
compress
diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch
index 2278481..6be8528 100644
--- a/mariadb-spider_on_armv7hl.patch
+++ b/mariadb-spider_on_armv7hl.patch
@@ -339,15 +339,6 @@ index 58351195a61..da2052ad79e 100644
NullS)
) {
delete clone_row;
-@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down(
- int error_num;
- uint outer_join_backup;
- TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL;
-- bool first;
-+ bool first = TRUE;
- DBUG_ENTER("spider_db_mbase_util::append_tables_top_down");
- DBUG_PRINT("info",("spider this=%p", this));
- if (
@@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos()
if (!union_table_name_pos_first)
{
diff --git a/mariadb.spec b/mariadb.spec
index ef7fe21..3bd9fcf 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.7
-Release: 2%{?with_debug:.debug}%{?dist}
+Version: 10.4.10
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -258,6 +258,10 @@ BuildRequires: perl(Symbol)
# for running some openssl tests rhbz#1189180
BuildRequires: openssl openssl-devel
+%if %{with debug}
+BuildRequires: valgrind-devel
+%endif
+
Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
@@ -787,14 +791,23 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py
fi
%endif
-CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
# force PIC mode so that we can build libmysqld.so
CFLAGS="$CFLAGS -fPIC"
-# Override all optimization flags when making a debug build
-%{?with_debug: CFLAGS="$CFLAGS -O0 -g"}
+# Override all optimization flags when making a debug build
+%if %{with debug}
+CFLAGS="$CFLAGS -O0 -g
+CPPFLAGS="$CPPFLAGS -O0 -g -D_FORTIFY_SOURCE=0
+# Fix GCC flags broken by MariaDB upstream
+CFLAGS="$CFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move
-Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow
-Wno-error=sign-compare
CXXFLAGS="$CFLAGS"
-export CFLAGS CXXFLAGS
+CPPFLAGS="$CPPFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move
-Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow
-Wno-error=sign-compare
+%endif
+
+
+
+export CFLAGS CXXFLAGS CPPFLAGS
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
@@ -877,12 +890,6 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp
%install
make DESTDIR=%{buildroot} install
-%if %{with galera}
-# Install the wsrep library
-install -D -p -m 0755 wsrep-lib/wsrep-API/libwsrep_api_v*.so %{buildroot}%{_libdir}
-install -D -p -m 0755 wsrep-lib/src/libwsrep-lib.so %{buildroot}%{_libdir}
-%endif
-
# multilib header support #1625157
for header in mysql/server/my_config.h mysql/server/private/config.h; do
%multilib_fix_c_header --file %{_includedir}/$header
@@ -1268,11 +1275,8 @@ fi
%endif
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
%files libs
-%if %{with galera}
-%{_libdir}/libwsrep*.so*
-%endif
%if %{with clibrary}
%exclude
%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
%{_libdir}/libmariadb.so*
@@ -1599,6 +1603,10 @@ fi
%endif
%changelog
+* Tue Dec 03 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.10-1
+- Rebase to 10.4.10
+ Upstream started linking the Galera libraries statically
+
* Wed Sep 25 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-2
- Disable building of the ed25519 client plugin.
From now on it will be shipped by 'mariadb-connector-c' package
commit a0e96d6af736aaac8127707e8af4fc4ea6a31bc2
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Sep 25 14:40:09 2019 +0200
Disable building of bench subpackage. Upstream no longer maintain it
diff --git a/mariadb.spec b/mariadb.spec
index 5417c70..ef7fe21 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -87,7 +87,7 @@
%bcond_without backup
# Upstream no longer maintain and pack the bench subpackage
%if 0%{?fedora}
-%bcond_without bench
+%bcond_with bench
%else
%bcond_with bench
%endif
@@ -1602,6 +1602,7 @@ fi
* Wed Sep 25 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-2
- Disable building of the ed25519 client plugin.
From now on it will be shipped by 'mariadb-connector-c' package
+- Disable building of bench subpackage. Upstream no longer maintain it
* Thu Aug 22 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-1
- Rebase to 10.4.7
commit 72888c223ea885e3717eeef00e3cb6f8b2283790
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Sep 11 13:00:52 2019 +0200
Disable building of the ed25519 client plugin.
From now on it will be shipped by 'mariadb-connector-c' package
diff --git a/mariadb.spec b/mariadb.spec
index 2093723..5417c70 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -158,7 +158,7 @@
Name: mariadb
Version: 10.4.7
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -853,6 +853,7 @@ export CFLAGS CXXFLAGS
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
+ -DPLUGIN_CLIENT_ED25519=OFF \
-DPYTHON_SHEBANG=%{python_path} \
-DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF}
\
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
@@ -1598,6 +1599,10 @@ fi
%endif
%changelog
+* Wed Sep 25 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-2
+- Disable building of the ed25519 client plugin.
+ From now on it will be shipped by 'mariadb-connector-c' package
+
* Thu Aug 22 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-1
- Rebase to 10.4.7
commit 38920fe23b78bf2f6944db72bb07f894a5ae7cdc
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Aug 22 16:31:37 2019 +0200
Rebase to 10.4.7
diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch
index 9c5692f..2122190 100644
--- a/mariadb-auth_pam_tool_dir.patch
+++ b/mariadb-auth_pam_tool_dir.patch
@@ -5,25 +5,24 @@ Thus "chown 0" will always fail
Never parse 'ls' output!
http://mywiki.wooledge.org/BashFAQ/087
---- mariadb-10.4.6/scripts/mysql_install_db.sh 2019-06-18 00:00:32.000000000 +0200
-+++ mariadb-10.4.6/scripts/mysql_install_db.sh_patched 2019-06-20 01:41:43.250208187
+0200
-@@ -476,12 +476,15 @@ then
+--- mariadb-10.4.7/scripts/mysql_install_db.sh 2019-07-30 13:32:16.000000000 +0200
++++ mariadb-10.4.7/scripts/mysql_install_db.sh_patched 2019-08-22 16:29:28.341484925
+0200
+@@ -490,13 +490,16 @@ then
fi
if test -z "$srcdir"
then
-- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
+- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
- if test $? -ne 0
+ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ]
then
-- echo "Couldn't set an owner to
'$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
-- echo " It must be root, the PAM authentication plugin doesn't work
otherwise.."
-- echo
-+ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
++ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+ if test $? -ne 0
+ then
-+ echo "Couldn't set an owner to
'$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
-+ echo " It must be root, the PAM authentication plugin doesn't work
otherwise.."
-+ echo
+ echo "Couldn't set an owner to
'$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
+ echo " It must be root, the PAM authentication plugin doesn't work
otherwise.."
+ echo
+ fi
fi
fi
diff --git a/mariadb.spec b/mariadb.spec
index 4276aeb..2093723 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -115,7 +115,7 @@
%bcond_without unbundled_pcre
%else
%bcond_with unbundled_pcre
-%global pcre_bundled_version 8.42
+%global pcre_bundled_version 8.43
%endif
# Use main python interpretter version
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.6
-Release: 2%{?with_debug:.debug}%{?dist}
+Version: 10.4.7
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -1598,6 +1598,9 @@ fi
%endif
%changelog
+* Thu Aug 22 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-1
+- Rebase to 10.4.7
+
* Fri Jun 21 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-2
- Apply critical patch for Spider SE on Armv7hl architecture
diff --git a/sources b/sources
index 952d959..f3d0b74 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.6.tar.gz) =
b04c47f72de2473d7b5edd04b4785a1d7179bb1f429f30ba53ae6cfbbb413200d9803eff1072949b2e81fd7d2164ea34c68620d621d4181b913daa2293ae140c
+SHA512 (mariadb-10.4.7.tar.gz) =
cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce
commit 1ed43fdb08331b8d207b73ad543d839673dca50b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Jun 21 14:44:07 2019 +0200
Apply critical patch for Spider SE on Armv7hl architecture
diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch
new file mode 100644
index 0000000..2278481
--- /dev/null
+++ b/mariadb-spider_on_armv7hl.patch
@@ -0,0 +1,1087 @@
+Fix for:
+https://jira.mariadb.org/browse/MDEV-18737
+Taken from:
+https://github.com/MariaDB/server/commit/80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186
+
+
+
+
+
+From 80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186 Mon Sep 17 00:00:00 2001
+From: Kentoku <kentokushiba(a)gmail.com>
+Date: Tue, 18 Jun 2019 01:43:07 +0900
+Subject: [PATCH] MDEV-18737 Spider "Out of memory" on armv7hl
+
+This is an issue of memory alignment of variable argument when calling
my_multi_malloc().
+The fix is strictly casting allocating size to "uint".
+---
+ storage/spider/ha_spider.cc | 36 +++--
+ storage/spider/spd_conn.cc | 69 +++++-----
+ storage/spider/spd_copy_tables.cc | 25 ++--
+ storage/spider/spd_db_conn.cc | 13 +-
+ storage/spider/spd_db_handlersocket.cc | 4 +-
+ storage/spider/spd_db_mysql.cc | 12 +-
+ storage/spider/spd_db_oracle.cc | 24 ++--
+ storage/spider/spd_direct_sql.cc | 78 +++++------
+ storage/spider/spd_group_by_handler.cc | 7 +-
+ storage/spider/spd_ping_table.cc | 36 +++--
+ storage/spider/spd_table.cc | 134 ++++++++++---------
+ storage/spider/spd_trx.cc | 173 +++++++++++++------------
+ 12 files changed, 328 insertions(+), 283 deletions(-)
+
+diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc
+index 33e81201fff..d3bc24dc0e0 100644
+--- a/storage/spider/ha_spider.cc
++++ b/storage/spider/ha_spider.cc
+@@ -395,15 +395,24 @@ int ha_spider::open(
+ {
+ if (!(searched_bitmap = (uchar *)
+ spider_bulk_malloc(spider_current_trx, 15, MYF(MY_WME),
+- &searched_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &ft_discard_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &position_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &partition_handler_share, sizeof(SPIDER_PARTITION_HANDLER_SHARE),
+- &idx_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &idx_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &rnd_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &rnd_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &pt_handler_share_handlers, sizeof(ha_spider *) * part_num,
++ &searched_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &ft_discard_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &position_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &partition_handler_share,
++ (uint) sizeof(SPIDER_PARTITION_HANDLER_SHARE),
++ &idx_read_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &idx_write_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &rnd_read_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &rnd_write_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &pt_handler_share_handlers,
++ (uint) sizeof(ha_spider *) * part_num,
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -11389,7 +11398,7 @@ int ha_spider::create(
+ if (!(tmp_share.static_key_cardinality = (longlong *)
+ spider_bulk_malloc(spider_current_trx, 246, MYF(MY_WME),
+ &tmp_share.static_key_cardinality,
+- sizeof(*tmp_share.static_key_cardinality) * form->s->keys,
++ (uint) (sizeof(*tmp_share.static_key_cardinality) * form->s->keys),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -12198,7 +12207,8 @@ int ha_spider::info_push(
+ spider_free(spider_current_trx, hs_pushed_ret_fields, MYF(0));
+ if (!(hs_pushed_ret_fields = (uint32 *)
+ spider_bulk_malloc(spider_current_trx, 17, MYF(MY_WME),
+- &hs_pushed_ret_fields, sizeof(uint32) * hs_pushed_ret_fields_num,
++ &hs_pushed_ret_fields,
++ (uint) (sizeof(uint32) * hs_pushed_ret_fields_num),
+ NullS))
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -13762,8 +13772,8 @@ SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link()
+ */
+ if (!(bulk_access_link = (SPIDER_BULK_ACCESS_LINK *)
+ spider_bulk_malloc(spider_current_trx, 168, MYF(MY_WME),
+- &bulk_access_link, sizeof(SPIDER_BULK_ACCESS_LINK),
+- &ref, ALIGN_SIZE(ref_length) * 2,
++ &bulk_access_link, (uint) (sizeof(SPIDER_BULK_ACCESS_LINK)),
++ &ref, (uint) (ALIGN_SIZE(ref_length) * 2),
+ NullS))
+ ) {
+ goto error_bulk_malloc;
+diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc
+index b1f49f4f250..2f372d8f692 100644
+--- a/storage/spider/spd_conn.cc
++++ b/storage/spider/spd_conn.cc
+@@ -472,30 +472,30 @@ SPIDER_CONN *spider_create_conn(
+ #endif
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 18, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, share->conn_keys_lengths[link_idx] + 1,
+- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (share->conn_keys_lengths[link_idx] + 1),
++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1),
+ &tmp_username,
+- share->tgt_usernames_lengths[link_idx] + 1,
++ (uint) (share->tgt_usernames_lengths[link_idx] + 1),
+ &tmp_password,
+- share->tgt_passwords_lengths[link_idx] + 1,
+- &tmp_socket, share->tgt_sockets_lengths[link_idx] + 1,
++ (uint) (share->tgt_passwords_lengths[link_idx] + 1),
++ &tmp_socket, (uint) (share->tgt_sockets_lengths[link_idx] + 1),
+ &tmp_wrapper,
+- share->tgt_wrappers_lengths[link_idx] + 1,
+- &tmp_ssl_ca, share->tgt_ssl_cas_lengths[link_idx] + 1,
++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1),
++ &tmp_ssl_ca, (uint) (share->tgt_ssl_cas_lengths[link_idx] + 1),
+ &tmp_ssl_capath,
+- share->tgt_ssl_capaths_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_capaths_lengths[link_idx] + 1),
+ &tmp_ssl_cert,
+- share->tgt_ssl_certs_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_certs_lengths[link_idx] + 1),
+ &tmp_ssl_cipher,
+- share->tgt_ssl_ciphers_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_ciphers_lengths[link_idx] + 1),
+ &tmp_ssl_key,
+- share->tgt_ssl_keys_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_keys_lengths[link_idx] + 1),
+ &tmp_default_file,
+- share->tgt_default_files_lengths[link_idx] + 1,
++ (uint) (share->tgt_default_files_lengths[link_idx] + 1),
+ &tmp_default_group,
+- share->tgt_default_groups_lengths[link_idx] + 1,
+- &need_mon, sizeof(int),
++ (uint) (share->tgt_default_groups_lengths[link_idx] + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -594,13 +594,13 @@ SPIDER_CONN *spider_create_conn(
+ } else if (conn_kind == SPIDER_CONN_KIND_HS_READ) {
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 19, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, share->hs_read_conn_keys_lengths[link_idx] + 1,
+- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1,
+- &tmp_socket, share->hs_read_socks_lengths[link_idx] + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (share->hs_read_conn_keys_lengths[link_idx] + 1),
++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1),
++ &tmp_socket, (uint) (share->hs_read_socks_lengths[link_idx] + 1),
+ &tmp_wrapper,
+- share->tgt_wrappers_lengths[link_idx] + 1,
+- &need_mon, sizeof(int),
++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -636,13 +636,13 @@ SPIDER_CONN *spider_create_conn(
+ } else {
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 20, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, share->hs_write_conn_keys_lengths[link_idx] + 1,
+- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1,
+- &tmp_socket, share->hs_write_socks_lengths[link_idx] + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (share->hs_write_conn_keys_lengths[link_idx] + 1),
++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1),
++ &tmp_socket, (uint) (share->hs_write_socks_lengths[link_idx] + 1),
+ &tmp_wrapper,
+- share->tgt_wrappers_lengths[link_idx] + 1,
+- &need_mon, sizeof(int),
++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -3648,13 +3648,16 @@ int spider_create_mon_threads(
+ }
+ if (!(share->bg_mon_thds = (THD **)
+ spider_bulk_malloc(spider_current_trx, 23, MYF(MY_WME | MY_ZEROFILL),
+- &share->bg_mon_thds, sizeof(THD *) * share->all_link_count,
+- &share->bg_mon_threads, sizeof(pthread_t) * share->all_link_count,
+- &share->bg_mon_mutexes, sizeof(pthread_mutex_t) *
+- share->all_link_count,
+- &share->bg_mon_conds, sizeof(pthread_cond_t) *
share->all_link_count,
++ &share->bg_mon_thds,
++ (uint) (sizeof(THD *) * share->all_link_count),
++ &share->bg_mon_threads,
++ (uint) (sizeof(pthread_t) * share->all_link_count),
++ &share->bg_mon_mutexes,
++ (uint) (sizeof(pthread_mutex_t) * share->all_link_count),
++ &share->bg_mon_conds,
++ (uint) (sizeof(pthread_cond_t) * share->all_link_count),
+ &share->bg_mon_sleep_conds,
+- sizeof(pthread_cond_t) * share->all_link_count,
++ (uint) (sizeof(pthread_cond_t) * share->all_link_count),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+diff --git a/storage/spider/spd_copy_tables.cc b/storage/spider/spd_copy_tables.cc
+index 13c53220b16..1a472e2c12b 100644
+--- a/storage/spider/spd_copy_tables.cc
++++ b/storage/spider/spd_copy_tables.cc
+@@ -390,12 +390,15 @@ int spider_udf_get_copy_tgt_tables(
+ do {
+ if (!(table_conn = (SPIDER_COPY_TABLE_CONN *)
+ spider_bulk_malloc(spider_current_trx, 25, MYF(MY_WME | MY_ZEROFILL),
+- &table_conn, sizeof(SPIDER_COPY_TABLE_CONN),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
++ &table_conn, (uint) (sizeof(SPIDER_COPY_TABLE_CONN)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &tmp_connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &tmp_connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &tmp_longlong,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
+ NullS))
+ ) {
+ spider_sys_index_end(table_tables);
+@@ -706,12 +709,12 @@ int spider_udf_copy_tables_create_table_list(
+ if (!(copy_tables->link_idxs[0] = (int *)
+ spider_bulk_malloc(spider_current_trx, 26, MYF(MY_WME | MY_ZEROFILL),
+ ©_tables->link_idxs[0],
+- sizeof(int) * copy_tables->link_idx_count[0],
++ (uint) (sizeof(int) * copy_tables->link_idx_count[0]),
+ ©_tables->link_idxs[1],
+- sizeof(int) * copy_tables->link_idx_count[1],
+- &tmp_name_ptr, sizeof(char) * (
++ (uint) (sizeof(int) * copy_tables->link_idx_count[1]),
++ &tmp_name_ptr, (uint) (sizeof(char) * (
+ spider_table_name_length * 2 + copy_tables->database_length + 3
+- ),
++ )),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -906,7 +909,7 @@ long long spider_copy_tables_body(
+
+ if (!(copy_tables = (SPIDER_COPY_TABLES *)
+ spider_bulk_malloc(spider_current_trx, 27, MYF(MY_WME | MY_ZEROFILL),
+- ©_tables, sizeof(SPIDER_COPY_TABLES),
++ ©_tables, (uint) (sizeof(SPIDER_COPY_TABLES)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc
+index f3d607cd6dc..6d3a88a55db 100644
+--- a/storage/spider/spd_db_conn.cc
++++ b/storage/spider/spd_db_conn.cc
+@@ -2683,7 +2683,8 @@ int spider_db_fetch_for_item_sum_func(
+ if (!spider->direct_aggregate_item_first)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 240, MYF(MY_WME),
+- &spider->direct_aggregate_item_first, sizeof(SPIDER_ITEM_HLD),
++ &spider->direct_aggregate_item_first,
++ (uint) (sizeof(SPIDER_ITEM_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -2702,7 +2703,7 @@ int spider_db_fetch_for_item_sum_func(
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 241, MYF(MY_WME),
+ &spider->direct_aggregate_item_current->next,
+- sizeof(SPIDER_ITEM_HLD), NullS)
++ (uint) (sizeof(SPIDER_ITEM_HLD)), NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+ }
+@@ -4074,8 +4075,8 @@ int spider_db_store_result(
+ current->field_count = field_count;
+ if (!(position = (SPIDER_POSITION *)
+ spider_bulk_malloc(spider_current_trx, 7, MYF(MY_WME | MY_ZEROFILL),
+- &position, sizeof(SPIDER_POSITION) * page_size,
+- &tmp_row, sizeof(char*) * field_count,
++ &position, (uint) (sizeof(SPIDER_POSITION) * page_size),
++ &tmp_row, (uint) (sizeof(SPIDER_DB_ROW) * field_count),
+ NullS))
+ )
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -10948,8 +10949,8 @@ int spider_db_udf_copy_tables(
+ DBUG_ENTER("spider_db_udf_copy_tables");
+ if (!(last_row_pos = (ulong *)
+ spider_bulk_malloc(spider_current_trx, 30, MYF(MY_WME),
+- &last_row_pos, sizeof(ulong) * table->s->fields,
+- &last_lengths, sizeof(ulong) * table->s->fields,
++ &last_row_pos, (uint) (sizeof(ulong) * table->s->fields),
++ &last_lengths, (uint) (sizeof(ulong) * table->s->fields),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_db_handlersocket.cc
b/storage/spider/spd_db_handlersocket.cc
+index ac81525092b..27257ee08e6 100644
+--- a/storage/spider/spd_db_handlersocket.cc
++++ b/storage/spider/spd_db_handlersocket.cc
+@@ -505,8 +505,8 @@ SPIDER_DB_ROW *spider_db_handlersocket_row::clone()
+ DBUG_RETURN(NULL);
+ }
+ if (!spider_bulk_malloc(spider_current_trx, 169, MYF(MY_WME),
+- &clone_row->hs_row, sizeof(SPIDER_HS_STRING_REF) * field_count,
+- &tmp_char, row_size,
++ &clone_row->hs_row, (uint) (sizeof(SPIDER_HS_STRING_REF) * field_count),
++ &tmp_char, (uint) (row_size),
+ NullS)
+ ) {
+ delete clone_row;
+diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc
+index 58351195a61..da2052ad79e 100644
+--- a/storage/spider/spd_db_mysql.cc
++++ b/storage/spider/spd_db_mysql.cc
+@@ -537,9 +537,9 @@ SPIDER_DB_ROW *spider_db_mbase_row::clone()
+ row_size = record_size + field_count;
+ }
+ if (!spider_bulk_malloc(spider_current_trx, 29, MYF(MY_WME),
+- &clone_row->row, sizeof(char*) * field_count,
+- &tmp_char, row_size,
+- &clone_row->lengths, sizeof(ulong) * field_count,
++ &clone_row->row, (uint) (sizeof(char*) * field_count),
++ &tmp_char, (uint) (row_size),
++ &clone_row->lengths, (uint) (sizeof(ulong) * field_count),
+ NullS)
+ ) {
+ delete clone_row;
+@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down(
+ int error_num;
+ uint outer_join_backup;
+ TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL;
+- bool first;
++ bool first = TRUE;
+ DBUG_ENTER("spider_db_mbase_util::append_tables_top_down");
+ DBUG_PRINT("info",("spider this=%p", this));
+ if (
+@@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos()
+ if (!union_table_name_pos_first)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 236, MYF(MY_WME),
+- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -13807,7 +13807,7 @@ int spider_mbase_handler::set_union_table_name_pos()
+ if (!union_table_name_pos_current->next)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 237, MYF(MY_WME),
+- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc
+index 773c6b90ed9..0c74415f6b2 100644
+--- a/storage/spider/spd_db_oracle.cc
++++ b/storage/spider/spd_db_oracle.cc
+@@ -588,16 +588,16 @@ int spider_db_oracle_row::init()
+ if (
+ !(ind = (sb2 *)
+ spider_bulk_malloc(spider_current_trx, 161, MYF(MY_WME | MY_ZEROFILL),
+- &ind, sizeof(sb2) * field_count,
+- &rlen, sizeof(ub2) * field_count,
+- &coltp, sizeof(ub2) * field_count,
+- &colsz, sizeof(ub2) * field_count,
+- &row_size, sizeof(ulong) * field_count,
+- &val, sizeof(char *) * field_count,
+- &tmp_val, MAX_FIELD_WIDTH * field_count,
+- &defnp, sizeof(OCIDefine *) * field_count,
+- &lobhp, sizeof(OCILobLocator *) * field_count,
+- &colhp, sizeof(OCIParam *) * field_count,
++ &ind, (uint) (sizeof(sb2) * field_count),
++ &rlen, (uint) (sizeof(ub2) * field_count),
++ &coltp, (uint) (sizeof(ub2) * field_count),
++ &colsz, (uint) (sizeof(ub2) * field_count),
++ &row_size, (uint) (sizeof(ulong) * field_count),
++ &val, (uint) (sizeof(char *) * field_count),
++ &tmp_val, (uint) (MAX_FIELD_WIDTH * field_count),
++ &defnp, (uint) (sizeof(OCIDefine *) * field_count),
++ &lobhp, (uint) (sizeof(OCILobLocator *) * field_count),
++ &colhp, (uint) (sizeof(OCIParam *) * field_count),
+ NullS)
+ ) ||
+ !(val_str = new spider_string[field_count])
+@@ -12519,7 +12519,7 @@ int spider_oracle_handler::init_union_table_name_pos()
+ if (!union_table_name_pos_first)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 238, MYF(MY_WME),
+- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -12540,7 +12540,7 @@ int spider_oracle_handler::set_union_table_name_pos()
+ if (!union_table_name_pos_current->next)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 239, MYF(MY_WME),
+- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc
+index 7237d0877a7..7bf0b91a4a7 100644
+--- a/storage/spider/spd_direct_sql.cc
++++ b/storage/spider/spd_direct_sql.cc
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 2009-2018 Kentoku Shiba
++/* Copyright (C) 2009-2019 Kentoku Shiba
++ Copyright (C) 2019 MariaDB corp
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -117,31 +118,32 @@ int spider_udf_direct_sql_create_table_list(
+ #if MYSQL_VERSION_ID < 50500
+ if (!(direct_sql->db_names = (char**)
+ spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL),
+- &direct_sql->db_names, sizeof(char*) * table_count,
+- &direct_sql->table_names, sizeof(char*) * table_count,
+- &direct_sql->tables, sizeof(TABLE*) * table_count,
+- &tmp_name_ptr, sizeof(char) * (
++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count),
++ &tmp_name_ptr, (uint) (sizeof(char) * (
+ table_name_list_length +
+ thd->db_length * table_count +
+ 2 * table_count
+- ),
+- &direct_sql->iop, sizeof(int) * table_count,
++ )),
++ &direct_sql->iop, (uint) (sizeof(int) * table_count),
+ NullS))
+ )
+ #else
+ if (!(direct_sql->db_names = (char**)
+ spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL),
+- &direct_sql->db_names, sizeof(char*) * table_count,
+- &direct_sql->table_names, sizeof(char*) * table_count,
+- &direct_sql->tables, sizeof(TABLE*) * table_count,
+- &tmp_name_ptr, sizeof(char) * (
++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count),
++ &tmp_name_ptr, (uint) (sizeof(char) * (
+ table_name_list_length +
+ SPIDER_THD_db_length(thd) * table_count +
+ 2 * table_count
+- ),
+- &direct_sql->iop, sizeof(int) * table_count,
+- &direct_sql->table_list, sizeof(TABLE_LIST) * table_count,
+- &direct_sql->real_table_bitmap, sizeof(uchar) * ((table_count + 7) / 8),
++ )),
++ &direct_sql->iop, (uint) (sizeof(int) * table_count),
++ &direct_sql->table_list, (uint) (sizeof(TABLE_LIST) * table_count),
++ &direct_sql->real_table_bitmap,
++ (uint) (sizeof(uchar) * ((table_count + 7) / 8)),
+ NullS))
+ )
+ #endif
+@@ -412,23 +414,23 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
+ #endif
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 32, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, direct_sql->conn_key_length + 1,
+- &tmp_host, direct_sql->tgt_host_length + 1,
+- &tmp_username, direct_sql->tgt_username_length + 1,
+- &tmp_password, direct_sql->tgt_password_length + 1,
+- &tmp_socket, direct_sql->tgt_socket_length + 1,
+- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1,
+- &tmp_ssl_ca, direct_sql->tgt_ssl_ca_length + 1,
+- &tmp_ssl_capath, direct_sql->tgt_ssl_capath_length + 1,
+- &tmp_ssl_cert, direct_sql->tgt_ssl_cert_length + 1,
+- &tmp_ssl_cipher, direct_sql->tgt_ssl_cipher_length + 1,
+- &tmp_ssl_key, direct_sql->tgt_ssl_key_length + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (direct_sql->conn_key_length + 1),
++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1),
++ &tmp_username, (uint) (direct_sql->tgt_username_length + 1),
++ &tmp_password, (uint) (direct_sql->tgt_password_length + 1),
++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1),
++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1),
++ &tmp_ssl_ca, (uint) (direct_sql->tgt_ssl_ca_length + 1),
++ &tmp_ssl_capath, (uint) (direct_sql->tgt_ssl_capath_length + 1),
++ &tmp_ssl_cert, (uint) (direct_sql->tgt_ssl_cert_length + 1),
++ &tmp_ssl_cipher, (uint) (direct_sql->tgt_ssl_cipher_length + 1),
++ &tmp_ssl_key, (uint) (direct_sql->tgt_ssl_key_length + 1),
+ &tmp_default_file,
+- direct_sql->tgt_default_file_length + 1,
++ (uint) (direct_sql->tgt_default_file_length + 1),
+ &tmp_default_group,
+- direct_sql->tgt_default_group_length + 1,
+- &need_mon, sizeof(int),
++ (uint) (direct_sql->tgt_default_group_length + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -439,12 +441,12 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
+ } else {
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 33, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, direct_sql->conn_key_length + 1,
+- &tmp_host, direct_sql->tgt_host_length + 1,
+- &tmp_socket, direct_sql->tgt_socket_length + 1,
+- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1,
+- &need_mon, sizeof(int),
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (direct_sql->conn_key_length + 1),
++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1),
++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1),
++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -1602,8 +1604,8 @@ long long spider_direct_sql_body(
+ SPIDER_BACKUP_DASTATUS;
+ if (!(direct_sql = (SPIDER_DIRECT_SQL *)
+ spider_bulk_malloc(spider_current_trx, 34, MYF(MY_WME | MY_ZEROFILL),
+- &direct_sql, sizeof(SPIDER_DIRECT_SQL),
+- &sql, sizeof(char) * args->lengths[0],
++ &direct_sql, (uint) (sizeof(SPIDER_DIRECT_SQL)),
++ &sql, (uint) (sizeof(char) * args->lengths[0]),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+diff --git a/storage/spider/spd_group_by_handler.cc
b/storage/spider/spd_group_by_handler.cc
+index 3b57092c4ce..51cfca23106 100644
+--- a/storage/spider/spd_group_by_handler.cc
++++ b/storage/spider/spd_group_by_handler.cc
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 2008-2018 Kentoku Shiba
++/* Copyright (C) 2008-2019 Kentoku Shiba
++ Copyright (C) 2019 MariaDB corp
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -637,9 +638,9 @@ SPIDER_CONN_HOLDER *spider_fields::create_conn_holder(
+ DBUG_PRINT("info",("spider this=%p", this));
+ return_conn_holder = (SPIDER_CONN_HOLDER *)
+ spider_bulk_malloc(spider_current_trx, 252, MYF(MY_WME | MY_ZEROFILL),
+- &return_conn_holder, sizeof(SPIDER_CONN_HOLDER),
++ &return_conn_holder, (uint) (sizeof(SPIDER_CONN_HOLDER)),
+ &table_link_idx_holder,
+- table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER),
++ (uint) (table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER)),
+ NullS
+ );
+ if (!return_conn_holder)
+diff --git a/storage/spider/spd_ping_table.cc b/storage/spider/spd_ping_table.cc
+index 431d46063c3..60e36fc24fb 100644
+--- a/storage/spider/spd_ping_table.cc
++++ b/storage/spider/spd_ping_table.cc
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 2009-2018 Kentoku Shiba
++/* Copyright (C) 2009-2019 Kentoku Shiba
++ Copyright (C) 2019 MariaDB corp
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -367,12 +368,15 @@ int spider_get_ping_table_mon(
+ do {
+ if (!(table_mon = (SPIDER_TABLE_MON *)
+ spider_bulk_malloc(spider_current_trx, 35, MYF(MY_WME | MY_ZEROFILL),
+- &table_mon, sizeof(SPIDER_TABLE_MON),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
++ &table_mon, (uint) (sizeof(SPIDER_TABLE_MON)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &tmp_connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &tmp_connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &tmp_longlong,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
+ NullS))
+ ) {
+ spider_sys_index_end(table_link_mon);
+@@ -491,13 +495,17 @@ SPIDER_TABLE_MON_LIST *spider_get_ping_table_tgt(
+ SPD_INIT_ALLOC_ROOT(&mem_root, 4096, 0, MYF(MY_WME));
+ if (!(table_mon_list = (SPIDER_TABLE_MON_LIST *)
+ spider_bulk_malloc(spider_current_trx, 36, MYF(MY_WME | MY_ZEROFILL),
+- &table_mon_list, sizeof(SPIDER_TABLE_MON_LIST),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
+- &key_str, str->length() + 1,
++ &table_mon_list, (uint) (sizeof(SPIDER_TABLE_MON_LIST)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &tmp_connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &tmp_connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &tmp_long,
++ (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &tmp_longlong,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
++ &key_str, (uint) (str->length() + 1),
+ NullS))
+ ) {
+ my_error(HA_ERR_OUT_OF_MEM, MYF(0));
+diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc
+index 723beb0775e..fe628f55d16 100644
+--- a/storage/spider/spd_table.cc
++++ b/storage/spider/spd_table.cc
+@@ -1211,8 +1211,8 @@ int spider_create_string_list(
+
+ if (!(*string_list = (char**)
+ spider_bulk_malloc(spider_current_trx, 37, MYF(MY_WME | MY_ZEROFILL),
+- string_list, sizeof(char*) * (*list_length),
+- string_length_list, sizeof(int) * (*list_length),
++ string_list, (uint) (sizeof(char*) * (*list_length)),
++ string_length_list, (uint) (sizeof(int) * (*list_length)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1330,7 +1330,7 @@ int spider_create_long_list(
+
+ if (!(*long_list = (long*)
+ spider_bulk_malloc(spider_current_trx, 38, MYF(MY_WME | MY_ZEROFILL),
+- long_list, sizeof(long) * (*list_length),
++ long_list, (uint) (sizeof(long) * (*list_length)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1414,7 +1414,7 @@ int spider_create_longlong_list(
+
+ if (!(*longlong_list = (longlong *)
+ spider_bulk_malloc(spider_current_trx, 39, MYF(MY_WME | MY_ZEROFILL),
+- longlong_list, sizeof(longlong) * (*list_length),
++ longlong_list, (uint) (sizeof(longlong) * (*list_length)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1485,8 +1485,8 @@ int spider_increase_string_list(
+
+ if (!(tmp_str_list = (char**)
+ spider_bulk_malloc(spider_current_trx, 40, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_str_list, sizeof(char*) * link_count,
+- &tmp_length_list, sizeof(uint) * link_count,
++ &tmp_str_list, (uint) (sizeof(char*) * link_count),
++ &tmp_length_list, (uint) (sizeof(uint) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1548,8 +1548,8 @@ int spider_increase_null_string_list(
+
+ if (!(tmp_str_list = (char**)
+ spider_bulk_malloc(spider_current_trx, 247, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_str_list, sizeof(char*) * link_count,
+- &tmp_length_list, sizeof(uint) * link_count,
++ &tmp_str_list, (uint) (sizeof(char*) * link_count),
++ &tmp_length_list, (uint) (sizeof(uint) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1606,7 +1606,7 @@ int spider_increase_long_list(
+
+ if (!(tmp_long_list = (long*)
+ spider_bulk_malloc(spider_current_trx, 41, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_long_list, sizeof(long) * link_count,
++ &tmp_long_list, (uint) (sizeof(long) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1651,7 +1651,7 @@ int spider_increase_longlong_list(
+
+ if (!(tmp_longlong_list = (longlong*)
+ spider_bulk_malloc(spider_current_trx, 42, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_longlong_list, sizeof(longlong) * link_count,
++ &tmp_longlong_list, (uint) (sizeof(longlong) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -2974,17 +2974,17 @@ int spider_parse_connect_info(
+ if (!(share_alter->tmp_server_names = (char **)
+ spider_bulk_malloc(spider_current_trx, 43, MYF(MY_WME | MY_ZEROFILL),
+ &share_alter->tmp_server_names,
+- sizeof(char *) * 16 * share->all_link_count,
++ (uint) (sizeof(char *) * 16 * share->all_link_count),
+ &share_alter->tmp_server_names_lengths,
+- sizeof(uint *) * 16 * share->all_link_count,
++ (uint) (sizeof(uint *) * 16 * share->all_link_count),
+ &share_alter->tmp_tgt_ports,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ &share_alter->tmp_tgt_ssl_vscs,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ &share_alter->tmp_monitoring_binlog_pos_at_failing,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ &share_alter->tmp_link_statuses,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -4388,13 +4388,17 @@ SPIDER_SHARE *spider_create_share(
+ bitmap_size = spider_bitmap_size(table_share->fields);
+ if (!(share = (SPIDER_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 46, MYF(MY_WME | MY_ZEROFILL),
+- &share, sizeof(*share),
+- &tmp_name, length + 1,
+- &tmp_static_key_cardinality, sizeof(*tmp_static_key_cardinality) *
table_share->keys,
+- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields,
+- &tmp_cardinality_upd, sizeof(*tmp_cardinality_upd) * bitmap_size,
+- &tmp_table_mon_mutex_bitmap, sizeof(*tmp_table_mon_mutex_bitmap) *
+- ((spider_param_udf_table_mon_mutex_count() + 7) / 8),
++ &share, (uint) (sizeof(*share)),
++ &tmp_name, (uint) (length + 1),
++ &tmp_static_key_cardinality,
++ (uint) (sizeof(*tmp_static_key_cardinality) * table_share->keys),
++ &tmp_cardinality,
++ (uint) (sizeof(*tmp_cardinality) * table_share->fields),
++ &tmp_cardinality_upd,
++ (uint) (sizeof(*tmp_cardinality_upd) * bitmap_size),
++ &tmp_table_mon_mutex_bitmap,
++ (uint) (sizeof(*tmp_table_mon_mutex_bitmap) *
++ ((spider_param_udf_table_mon_mutex_count() + 7) / 8)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -5921,8 +5925,8 @@ SPIDER_LGTM_TBLHND_SHARE *spider_get_lgtm_tblhnd_share(
+ DBUG_PRINT("info",("spider create new lgtm tblhnd share"));
+ if (!(lgtm_tblhnd_share = (SPIDER_LGTM_TBLHND_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 244, MYF(MY_WME | MY_ZEROFILL),
+- &lgtm_tblhnd_share, sizeof(*lgtm_tblhnd_share),
+- &tmp_name, table_name_length + 1,
++ &lgtm_tblhnd_share, (uint) (sizeof(*lgtm_tblhnd_share)),
++ &tmp_name, (uint) (table_name_length + 1),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -6031,9 +6035,10 @@ SPIDER_PARTITION_SHARE *spider_get_pt_share(
+ DBUG_PRINT("info",("spider create new pt share"));
+ if (!(partition_share = (SPIDER_PARTITION_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 51, MYF(MY_WME | MY_ZEROFILL),
+- &partition_share, sizeof(*partition_share),
+- &tmp_name, table_share->path.length + 1,
+- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields,
++ &partition_share, (uint) (sizeof(*partition_share)),
++ &tmp_name, (uint) (table_share->path.length + 1),
++ &tmp_cardinality,
++ (uint) (sizeof(*tmp_cardinality) * table_share->fields),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -6379,15 +6384,18 @@ int spider_open_all_tables(
+
+ if (!(share = (SPIDER_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 52, MYF(MY_WME | MY_ZEROFILL),
+- &share, sizeof(*share),
+- &connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &long_info, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &longlong_info, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
+- &conns, sizeof(SPIDER_CONN *),
+- &need_mon, sizeof(int),
+- &spider->conn_link_idx, sizeof(uint),
+- &spider->conn_can_fo, sizeof(uchar),
++ &share, (uint) (sizeof(*share)),
++ &connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &long_info, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &longlong_info,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
++ &conns, (uint) (sizeof(SPIDER_CONN *)),
++ &need_mon, (uint) (sizeof(int)),
++ &spider->conn_link_idx, (uint) (sizeof(uint)),
++ &spider->conn_can_fo, (uint) (sizeof(uchar)),
+ NullS))
+ ) {
+ delete spider;
+@@ -7194,12 +7202,12 @@ int spider_db_init(
+
+ if (!(spider_udf_table_mon_mutexes = (pthread_mutex_t *)
+ spider_bulk_malloc(NULL, 53, MYF(MY_WME | MY_ZEROFILL),
+- &spider_udf_table_mon_mutexes, sizeof(pthread_mutex_t) *
+- spider_param_udf_table_mon_mutex_count(),
+- &spider_udf_table_mon_conds, sizeof(pthread_cond_t) *
+- spider_param_udf_table_mon_mutex_count(),
+- &spider_udf_table_mon_list_hash, sizeof(HASH) *
+- spider_param_udf_table_mon_mutex_count(),
++ &spider_udf_table_mon_mutexes, (uint) (sizeof(pthread_mutex_t) *
++ spider_param_udf_table_mon_mutex_count()),
++ &spider_udf_table_mon_conds, (uint) (sizeof(pthread_cond_t) *
++ spider_param_udf_table_mon_mutex_count()),
++ &spider_udf_table_mon_list_hash, (uint) (sizeof(HASH) *
++ spider_param_udf_table_mon_mutex_count()),
+ NullS))
+ )
+ goto error_alloc_mon_mutxes;
+@@ -7248,10 +7256,10 @@ int spider_db_init(
+ #ifndef WITHOUT_SPIDER_BG_SEARCH
+ if (!(spider_table_sts_threads = (SPIDER_THREAD *)
+ spider_bulk_malloc(NULL, 256, MYF(MY_WME | MY_ZEROFILL),
+- &spider_table_sts_threads, sizeof(SPIDER_THREAD) *
+- spider_param_table_sts_thread_count(),
+- &spider_table_crd_threads, sizeof(SPIDER_THREAD) *
+- spider_param_table_crd_thread_count(),
++ &spider_table_sts_threads, (uint) (sizeof(SPIDER_THREAD) *
++ spider_param_table_sts_thread_count()),
++ &spider_table_crd_threads, (uint) (sizeof(SPIDER_THREAD) *
++ spider_param_table_crd_thread_count()),
+ NullS))
+ )
+ goto error_alloc_mon_mutxes;
+@@ -7947,8 +7955,8 @@ SPIDER_INIT_ERROR_TABLE *spider_get_init_error_table(
+ }
+ if (!(spider_init_error_table = (SPIDER_INIT_ERROR_TABLE *)
+ spider_bulk_malloc(spider_current_trx, 54, MYF(MY_WME | MY_ZEROFILL),
+- &spider_init_error_table, sizeof(*spider_init_error_table),
+- &tmp_name, share->table_name_length + 1,
++ &spider_init_error_table, (uint) (sizeof(*spider_init_error_table)),
++ &tmp_name, (uint) (share->table_name_length + 1),
+ NullS))
+ ) {
+ pthread_mutex_unlock(&spider_init_error_tbl_mutex);
+@@ -9624,25 +9632,25 @@ int spider_create_spider_object_for_share(
+ #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
+ if (!(need_mons = (int *)
+ spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL),
+- &need_mons, (sizeof(int) * share->link_count),
+- &conns, (sizeof(SPIDER_CONN *) * share->link_count),
+- &conn_link_idx, (sizeof(uint) * share->link_count),
+- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size),
+- &conn_keys, (sizeof(char *) * share->link_count),
+- &hs_r_conn_keys, (sizeof(char *) * share->link_count),
+- &hs_w_conn_keys, (sizeof(char *) * share->link_count),
+- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
++ &need_mons, (uint) (sizeof(int) * share->link_count),
++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count),
++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count),
++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size),
++ &conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &hs_r_conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &hs_w_conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
+ NullS))
+ )
+ #else
+ if (!(need_mons = (int *)
+ spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL),
+- &need_mons, (sizeof(int) * share->link_count),
+- &conns, (sizeof(SPIDER_CONN *) * share->link_count),
+- &conn_link_idx, (sizeof(uint) * share->link_count),
+- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size),
+- &conn_keys, (sizeof(char *) * share->link_count),
+- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
++ &need_mons, (uint) (sizeof(int) * share->link_count),
++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count),
++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count),
++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size),
++ &conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
+ NullS))
+ )
+ #endif
+diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc
+index 485c61fc60b..b1b31a6db2e 100644
+--- a/storage/spider/spd_trx.cc
++++ b/storage/spider/spd_trx.cc
+@@ -549,81 +549,90 @@ int spider_create_trx_alter_table(
+
+ if (!(alter_table = (SPIDER_ALTER_TABLE *)
+ spider_bulk_malloc(spider_current_trx, 55, MYF(MY_WME | MY_ZEROFILL),
+- &alter_table, sizeof(*alter_table),
+- &tmp_name, sizeof(char) * (share->table_name_length + 1),
+-
+- &tmp_server_names, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_table_names, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_dbs, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_hosts, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_usernames, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_passwords, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_sockets, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_wrappers, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_cas, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_capaths, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_certs, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_ciphers, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_keys, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_default_files, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_default_groups, sizeof(char *) * share->all_link_count,
+- &tmp_static_link_ids, sizeof(char *) * share->all_link_count,
+-
+- &tmp_server_names_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_table_names_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_dbs_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_hosts_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_usernames_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_passwords_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_sockets_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_wrappers_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_cas_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_capaths_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_certs_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_ciphers_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_keys_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_default_files_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_default_groups_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_static_link_ids_lengths, sizeof(uint) * share->all_link_count,
+-
+- &tmp_tgt_ports, sizeof(long) * share->all_link_count,
+- &tmp_tgt_ssl_vscs, sizeof(long) * share->all_link_count,
++ &alter_table, (uint) (sizeof(*alter_table)),
++ &tmp_name, (uint) (sizeof(char) * (share->table_name_length + 1)),
++
++ &tmp_server_names, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_table_names, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_dbs, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_hosts, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_usernames, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_passwords, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_sockets, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_wrappers, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_cas, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_capaths, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_certs, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_ciphers, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_keys, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_default_files, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_default_groups, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_static_link_ids, (uint) (sizeof(char *) * share->all_link_count),
++
++ &tmp_server_names_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_table_names_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_dbs_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_hosts_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_usernames_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_passwords_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_sockets_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_wrappers_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_cas_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_capaths_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_certs_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_ciphers_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_keys_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_default_files_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_default_groups_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_static_link_ids_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++
++ &tmp_tgt_ports, (uint) (sizeof(long) * share->all_link_count),
++ &tmp_tgt_ssl_vscs, (uint) (sizeof(long) * share->all_link_count),
+ &tmp_monitoring_binlog_pos_at_failing,
+- sizeof(long) * share->all_link_count,
+- &tmp_link_statuses, sizeof(long) * share->all_link_count,
+-
+- &tmp_server_names_char, sizeof(char) *
+- (share_alter->tmp_server_names_charlen + 1),
+- &tmp_tgt_table_names_char, sizeof(char) *
+- (share_alter->tmp_tgt_table_names_charlen + 1),
+- &tmp_tgt_dbs_char, sizeof(char) *
+- (share_alter->tmp_tgt_dbs_charlen + 1),
+- &tmp_tgt_hosts_char, sizeof(char) *
+- (share_alter->tmp_tgt_hosts_charlen + 1),
+- &tmp_tgt_usernames_char, sizeof(char) *
+- (share_alter->tmp_tgt_usernames_charlen + 1),
+- &tmp_tgt_passwords_char, sizeof(char) *
+- (share_alter->tmp_tgt_passwords_charlen + 1),
+- &tmp_tgt_sockets_char, sizeof(char) *
+- (share_alter->tmp_tgt_sockets_charlen + 1),
+- &tmp_tgt_wrappers_char, sizeof(char) *
+- (share_alter->tmp_tgt_wrappers_charlen + 1),
+- &tmp_tgt_ssl_cas_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_cas_charlen + 1),
+- &tmp_tgt_ssl_capaths_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_capaths_charlen + 1),
+- &tmp_tgt_ssl_certs_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_certs_charlen + 1),
+- &tmp_tgt_ssl_ciphers_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_ciphers_charlen + 1),
+- &tmp_tgt_ssl_keys_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_keys_charlen + 1),
+- &tmp_tgt_default_files_char, sizeof(char) *
+- (share_alter->tmp_tgt_default_files_charlen + 1),
+- &tmp_tgt_default_groups_char, sizeof(char) *
+- (share_alter->tmp_tgt_default_groups_charlen + 1),
+- &tmp_static_link_ids_char, sizeof(char) *
+- (share_alter->tmp_static_link_ids_charlen + 1),
++ (uint) (sizeof(long) * share->all_link_count),
++ &tmp_link_statuses, (uint) (sizeof(long) * share->all_link_count),
++
++ &tmp_server_names_char, (uint) (sizeof(char) *
++ (share_alter->tmp_server_names_charlen + 1)),
++ &tmp_tgt_table_names_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_table_names_charlen + 1)),
++ &tmp_tgt_dbs_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_dbs_charlen + 1)),
++ &tmp_tgt_hosts_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_hosts_charlen + 1)),
++ &tmp_tgt_usernames_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_usernames_charlen + 1)),
++ &tmp_tgt_passwords_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_passwords_charlen + 1)),
++ &tmp_tgt_sockets_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_sockets_charlen + 1)),
++ &tmp_tgt_wrappers_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_wrappers_charlen + 1)),
++ &tmp_tgt_ssl_cas_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_cas_charlen + 1)),
++ &tmp_tgt_ssl_capaths_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_capaths_charlen + 1)),
++ &tmp_tgt_ssl_certs_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_certs_charlen + 1)),
++ &tmp_tgt_ssl_ciphers_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_ciphers_charlen + 1)),
++ &tmp_tgt_ssl_keys_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_keys_charlen + 1)),
++ &tmp_tgt_default_files_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_default_files_charlen + 1)),
++ &tmp_tgt_default_groups_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_default_groups_charlen + 1)),
++ &tmp_static_link_ids_char, (uint) (sizeof(char) *
++ (share_alter->tmp_static_link_ids_charlen + 1)),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -1201,10 +1210,10 @@ SPIDER_TRX *spider_get_trx(
+ DBUG_PRINT("info",("spider create new trx"));
+ if (!(trx = (SPIDER_TRX *)
+ spider_bulk_malloc(NULL, 56, MYF(MY_WME | MY_ZEROFILL),
+- &trx, sizeof(*trx),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &udf_table_mutexes, sizeof(pthread_mutex_t) *
+- spider_param_udf_table_lock_mutex_count(),
++ &trx, (uint) (sizeof(*trx)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &udf_table_mutexes, (uint) (sizeof(pthread_mutex_t) *
++ spider_param_udf_table_lock_mutex_count()),
+ NullS))
+ )
+ goto error_alloc_trx;
+@@ -4203,10 +4212,10 @@ int spider_create_trx_ha(
+ {
+ if (!(trx_ha = (SPIDER_TRX_HA *)
+ spider_bulk_malloc(spider_current_trx, 58, MYF(MY_WME),
+- &trx_ha, sizeof(SPIDER_TRX_HA),
+- &tmp_name, sizeof(char *) * (share->table_name_length + 1),
+- &conn_link_idx, sizeof(uint) * share->link_count,
+- &conn_can_fo, sizeof(uchar) * share->link_bitmap_size,
++ &trx_ha, (uint) (sizeof(SPIDER_TRX_HA)),
++ &tmp_name, (uint) (sizeof(char *) * (share->table_name_length + 1)),
++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count),
++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size),
+ NullS))
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+--
+2.17.2
+
diff --git a/mariadb.spec b/mariadb.spec
index 916ddbc..4276aeb 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -3,10 +3,10 @@
%global pkgnamepatch mariadb
# Regression tests may take a long time (many cores recommended), skip them by
-%{!?runselftest:%global runselftest 0}
+%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 0
+%global ignore_testsuite_result 1
# 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
@@ -158,7 +158,7 @@
Name: mariadb
Version: 10.4.6
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -204,6 +204,8 @@ Patch9: %{pkgnamepatch}-ownsetup.patch
Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
# Patch11: Workaround for "chown 0" with priviledges dropped to
"mysql" user
Patch11: %{pkgnamepatch}-auth_pam_tool_dir.patch
+# Patch13: Fix Spider code on armv7hl;
https://jira.mariadb.org/browse/MDEV-18737
+Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
@@ -712,6 +714,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
%patch9 -p1
#%patch10 -p1
%patch11 -p1
+%patch13 -p1
# workaround for upstream bug #56342
#rm mysql-test/t/ssl_8k_key-master.opt
@@ -1595,6 +1598,9 @@ fi
%endif
%changelog
+* Fri Jun 21 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-2
+- Apply critical patch for Spider SE on Armv7hl architecture
+
* Thu Jun 20 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-1
- Rebase to 10.4.6
commit dbc826fd1b0765d1451bd36dc569016441132c4e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Jun 20 18:09:56 2019 +0200
Rebase to 10.4.6 GA
diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch
new file mode 100644
index 0000000..9c5692f
--- /dev/null
+++ b/mariadb-auth_pam_tool_dir.patch
@@ -0,0 +1,30 @@
+This scirpt is ran by the systemd service.
+In Fedora the service has priviledges dropped to the mysql user.
+Thus "chown 0" will always fail
+
+Never parse 'ls' output!
+http://mywiki.wooledge.org/BashFAQ/087
+
+--- mariadb-10.4.6/scripts/mysql_install_db.sh 2019-06-18 00:00:32.000000000 +0200
++++ mariadb-10.4.6/scripts/mysql_install_db.sh_patched 2019-06-20 01:41:43.250208187
+0200
+@@ -476,12 +476,15 @@ then
+ fi
+ if test -z "$srcdir"
+ then
+- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+- if test $? -ne 0
++ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ]
+ then
+- echo "Couldn't set an owner to
'$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
+- echo " It must be root, the PAM authentication plugin doesn't work
otherwise.."
+- echo
++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
++ if test $? -ne 0
++ then
++ echo "Couldn't set an owner to
'$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
++ echo " It must be root, the PAM authentication plugin doesn't work
otherwise.."
++ echo
++ fi
+ fi
+ fi
+ args="$args --user=$user"
diff --git a/mariadb.spec b/mariadb.spec
index 40058c3..916ddbc 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -11,7 +11,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.4.5
+%global last_tested_version 10.4.6
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.5
-Release: 1.rc%{?with_debug:.debug}%{?dist}
+Version: 10.4.6
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -202,6 +202,8 @@ Patch7: %{pkgnamepatch}-scripts.patch
Patch9: %{pkgnamepatch}-ownsetup.patch
# Patch10: Fix cipher name in the SSL Cipher name test
Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
+# Patch11: Workaround for "chown 0" with priviledges dropped to
"mysql" user
+Patch11: %{pkgnamepatch}-auth_pam_tool_dir.patch
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
@@ -709,6 +711,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
%patch7 -p1
%patch9 -p1
#%patch10 -p1
+%patch11 -p1
# workaround for upstream bug #56342
#rm mysql-test/t/ssl_8k_key-master.opt
@@ -968,7 +971,8 @@ ln -s unstable-tests
%{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
# Client that uses libmysqld embedded server.
# Pretty much like normal mysql command line client, but it doesn't require a running
mariadb server.
%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded}
-rm %{buildroot}%{_mandir}/man1/mysql_embedded.1*
+%{?with_embedded:rm %{buildroot}%{_bindir}/mariadb-embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}embedded.1*
# Static libraries
rm %{buildroot}%{_libdir}/*.a
# This script creates the MySQL system tables and starts the server.
@@ -1029,6 +1033,7 @@ sed -i 's/^plugin-load-add/#plugin-load-add/'
%{buildroot}%{_sysconfdir}/my.cnf.
%if %{without embedded}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif
@@ -1073,12 +1078,16 @@ unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
%endif # devel
%if %{without client}
-rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\
-mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\
-mysqldump,mysqlimport,mysqlshow,mysqlslap}
-rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\
-mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\
-mysqldump,mysqlimport,mysqlshow,mysqlslap}.1*
+rm %{buildroot}%{_bindir}/msql2mysql
+rm %{buildroot}%{_bindir}/{mysql,mariadb}
+rm
%{buildroot}%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}
+rm
%{buildroot}%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}
+
+rm %{buildroot}%{_mandir}/man1/msql2mysql.1*
+rm %{buildroot}%{_mandir}/man1/{mysql,mariadb}.1*
+rm
%{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1*
+rm
%{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1*
+
rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf
%endif
@@ -1119,12 +1128,16 @@ rm -r %{buildroot}%{_datadir}/sql-bench
%if %{without test}
%if %{with embedded}
-rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
-rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
+rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
+rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif # embedded
rm %{buildroot}%{_bindir}/test-connect-t
rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest}
-rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
+rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1*
+rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1*
rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
%endif # test
@@ -1137,7 +1150,7 @@ rm
%{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf
%endif
%if %{without rocksdb}
-rm %{buildroot}%{_mandir}/man1/mysql_ldb.1*
+rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1*
%endif
%check
@@ -1238,32 +1251,15 @@ fi
%if %{with client}
%files
%{_bindir}/msql2mysql
-%{_bindir}/mysql
-%{_bindir}/mysql_find_rows
-%{_bindir}/mysql_plugin
-%{_bindir}/mysql_waitpid
-%{_bindir}/mysqlaccess
-%{_bindir}/mysqladmin
-%{_bindir}/mysqlbinlog
-%{_bindir}/mysqlcheck
-%{_bindir}/mysqldump
-%{_bindir}/mysqlimport
-%{_bindir}/mysqlshow
-%{_bindir}/mysqlslap
+%{_bindir}/{mysql,mariadb}
+%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}
+%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}
%{_mandir}/man1/msql2mysql.1*
-%{_mandir}/man1/mysql.1*
-%{_mandir}/man1/mysql_find_rows.1*
-%{_mandir}/man1/mysql_plugin.1*
-%{_mandir}/man1/mysql_waitpid.1*
-%{_mandir}/man1/mysqlaccess.1*
-%{_mandir}/man1/mysqladmin.1*
-%{_mandir}/man1/mysqlbinlog.1*
-%{_mandir}/man1/mysqlcheck.1*
-%{_mandir}/man1/mysqldump.1*
-%{_mandir}/man1/mysqlimport.1*
-%{_mandir}/man1/mysqlshow.1*
-%{_mandir}/man1/mysqlslap.1*
+%{_mandir}/man1/{mysql,mariadb}.1*
+%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1*
+%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1*
+
%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
%endif
@@ -1344,21 +1340,18 @@ fi
%files server
%doc README.mysql-cnf
-%{_bindir}/aria_chk
-%{_bindir}/aria_dump_log
-%{_bindir}/aria_ftdump
-%{_bindir}/aria_pack
-%{_bindir}/aria_read_log
+%{_bindir}/aria_{chk,dump_log,ftdump,pack,read_log}
%{_bindir}/mariadb-service-convert
%{_bindir}/myisamchk
%{_bindir}/myisam_ftdump
%{_bindir}/myisamlog
%{_bindir}/myisampack
%{_bindir}/my_print_defaults
-%{_bindir}/mysql_install_db
-%{_bindir}/mysql_secure_installation
-%{_bindir}/mysql_tzinfo_to_sql
-%{_bindir}/mysqld_safe
+
+%{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql}
+%{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql}
+%{_bindir}/{mysqld_,mariadbd-}safe
+
%{_bindir}/innochecksum
%{_bindir}/replace
%{_bindir}/resolve_stack_dump
@@ -1369,7 +1362,7 @@ fi
%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
%config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset
-%{_libexecdir}/mysqld
+%{_libexecdir}/{mysqld,mariadbd}
%{_libdir}/%{pkg_name}/INFO_SRC
%{_libdir}/%{pkg_name}/INFO_BIN
@@ -1379,6 +1372,8 @@ fi
%dir %{_libdir}/%{pkg_name}
%dir %{_libdir}/%{pkg_name}/plugin
+# Change from root:root to mysql:mysql, so it can be accessed by the server
+%attr(0755,mysql,mysql) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir
%{_libdir}/%{pkg_name}/plugin/*
%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
@@ -1393,11 +1388,7 @@ fi
%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%endif
-%{_mandir}/man1/aria_chk.1*
-%{_mandir}/man1/aria_dump_log.1*
-%{_mandir}/man1/aria_ftdump.1*
-%{_mandir}/man1/aria_pack.1*
-%{_mandir}/man1/aria_read_log.1*
+%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1*
%{_mandir}/man1/galera_new_cluster.1*
%{_mandir}/man1/galera_recovery.1*
%{_mandir}/man1/mariadb-service-convert.1*
@@ -1407,15 +1398,14 @@ fi
%{_mandir}/man1/myisam_ftdump.1*
%{_mandir}/man1/my_print_defaults.1*
%{_mandir}/man1/mysql.server.1*
-%{_mandir}/man1/mysql_install_db.1*
-%{_mandir}/man1/mysql_secure_installation.1*
-%{_mandir}/man1/mysql_tzinfo_to_sql.1*
-%{_mandir}/man1/mysqld_safe.1*
+%{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1*
+%{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1*
+%{_mandir}/man1/{mysqld_,mariadbd-}safe.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
%{_mandir}/man1/resolve_stack_dump.1*
-%{_mandir}/man8/mysqld.8*
+%{_mandir}/man8/{mysqld,mariadbd}.8*
%{_mandir}/man1/wsrep_*.1*
%{_datadir}/%{pkg_name}/fill_help_tables.sql
@@ -1480,9 +1470,9 @@ fi
%if %{with backup}
%files backup
-%{_bindir}/mariabackup
+%{_bindir}/maria{,db-}backup
%{_bindir}/mbstream
-%{_mandir}/man1/mariabackup.1*
+%{_mandir}/man1/maria{,db-}backup.1*
%{_mandir}/man1/mbstream.1*
%endif
@@ -1490,10 +1480,10 @@ fi
%files rocksdb-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
%{_bindir}/myrocks_hotbackup
-%{_bindir}/mysql_ldb
+%{_bindir}/{mysql_,mariadb-}ldb
%{_bindir}/sst_dump
%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so
-%{_mandir}/man1/mysql_ldb.1*
+%{_mandir}/man1/{mysql_,mariadb-}ldb.1*
%endif
%if %{with tokudb}
@@ -1538,26 +1528,21 @@ fi
%files server-utils
# Perl utilities
-%{_bindir}/mysql_convert_table_format
-%{_bindir}/mysql_fix_extensions
-%{_bindir}/mysql_setpermission
-%{_bindir}/mysqldumpslow
-%{_bindir}/mysqld_multi
-%{_bindir}/mysqlhotcopy
-%{_mandir}/man1/mysql_convert_table_format.1*
-%{_mandir}/man1/mysql_fix_extensions.1*
-%{_mandir}/man1/mysqldumpslow.1*
-%{_mandir}/man1/mysqld_multi.1*
-%{_mandir}/man1/mysqlhotcopy.1*
-%{_mandir}/man1/mysql_setpermission.1*
+%{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}
+%{_bindir}/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}
+%{_bindir}/{mysqld_,mariadbd-}multi
+
+%{_mandir}/man1/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}.1*
+%{_mandir}/man1/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}.1*
+%{_mandir}/man1/{mysqld_,mariadbd-}multi.1*
# Utilities that can be used remotely
-%{_bindir}/mysql_upgrade
+%{_bindir}/{mysql_,mariadb-}upgrade
%{_bindir}/perror
-%{_mandir}/man1/mysql_upgrade.1*
+%{_mandir}/man1/{mysql_,mariadb-}upgrade.1*
%{_mandir}/man1/perror.1*
# Other utilities
-%{_bindir}/mysqld_safe_helper
-%{_mandir}/man1/mysqld_safe_helper.1*
+%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper}
+%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1*
%if %{with devel}
%files devel
@@ -1595,23 +1580,24 @@ fi
%files test
%if %{with embedded}
%{_bindir}/test-connect-t
-%{_bindir}/mysql_client_test_embedded
-%{_bindir}/mysqltest_embedded
-%{_mandir}/man1/mysql_client_test_embedded.1*
-%{_mandir}/man1/mysqltest_embedded.1*
+%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
+%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded}
+%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif
-%{_bindir}/mysql_client_test
+%{_bindir}/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}
%{_bindir}/my_safe_process
-%{_bindir}/mysqltest
%attr(-,mysql,mysql) %{_datadir}/mysql-test
-%{_mandir}/man1/mysql_client_test.1*
+%{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1*
%{_mandir}/man1/my_safe_process.1*
-%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/mysql-stress-test.pl.1*
%{_mandir}/man1/mysql-test-run.pl.1*
%endif
%changelog
+* Thu Jun 20 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-1
+- Rebase to 10.4.6
+
* Fri Jun 07 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.5-1
- Rebase to 10.4.5
- This is a RC release! use with caution
diff --git a/sources b/sources
index 3e1ab3b..952d959 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.5.tar.gz) =
080df03aff04375f6f424d94f988156cb09cb891e14d67dcea453c3f831737898ac1913b48735628034c6a7f215a06ad22b4d350a8762351ac572a60d492a07b
+SHA512 (mariadb-10.4.6.tar.gz) =
b04c47f72de2473d7b5edd04b4785a1d7179bb1f429f30ba53ae6cfbbb413200d9803eff1072949b2e81fd7d2164ea34c68620d621d4181b913daa2293ae140c
commit 164d5419b12fbe6386f13d3fd284c85fcd0efba0
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Tue Jun 11 17:00:53 2019 +0200
Rebase to 10.4.5
diff --git a/mariadb.spec b/mariadb.spec
index 70d36e0..40058c3 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -3,20 +3,20 @@
%global pkgnamepatch mariadb
# Regression tests may take a long time (many cores recommended), skip them by
-%{!?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 1
+%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 10.4.2
+%global last_tested_version 10.4.5
# 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
-%global require_mysql_selinux 0
+%global require_mysql_selinux 1
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
@@ -72,7 +72,7 @@
%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
+%if 0%{?fedora} || 0%{?rhel} > 7
%bcond_with clibrary
%else
%bcond_without clibrary
@@ -85,6 +85,7 @@
%bcond_without test
%bcond_without galera
%bcond_without backup
+# Upstream no longer maintain and pack the bench subpackage
%if 0%{?fedora}
%bcond_without bench
%else
@@ -104,8 +105,6 @@
%bcond_with debug
# Page compression algorithms for InnoDB & XtraDB
-# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in
the buildroot
-#
https://jira.mariadb.org/browse/MDEV-15932
%bcond_without lz4
@@ -158,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.2
-Release: 1.beta%{?with_debug:.debug}%{?dist}
+Version: 10.4.5
+Release: 1.rc%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -192,7 +191,7 @@ Source71: LICENSE.clustercheck
#
https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch2: Make the python interpretter be configurable
+# Patch2: Make the python interpretter be configurable
Patch2: %{pkgnamepatch}-pythonver.patch
# Patch4: Red Hat distributions specific logrotate fix
# it would be big unexpected change, if we start shipping it now. Better wait for
MariaDB 10.2
@@ -259,7 +258,7 @@ Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
-%if %{with clibrary}
+%if %{with clibrary} || %{with galera}
# Explicit EVR requirement for -libs is needed for RHBZ#1406320
Requires: %{name}-libs%{?_isa} = %{sameevr}
%else
@@ -297,7 +296,7 @@ The base package contains the standard MariaDB/MySQL client programs
and
generic MySQL files.
-%if %{with clibrary}
+%if %{with clibrary} || %{with galera}
%package libs
Summary: The shared libraries required for MariaDB/MySQL clients
Requires: %{name}-common%{?_isa} = %{sameevr}
@@ -343,7 +342,7 @@ Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common
Provides: mariadb-galera-common = %{sameevr}
-%if %{without clibrary}
+%if %{without clibrary} && %{without galera}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -587,9 +586,10 @@ the only MariaDB sub-package, except test subpackage, that depends on
Perl.
%if %{with devel}
%package devel
Summary: Files for development of MariaDB/MySQL applications
-%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}}
Requires: openssl-devel
-%if %{without clibrary}
+%if %{with clibrary} || %{with galera}
+Requires: %{name}-libs%{?_isa} = %{sameevr}
+%else
Requires: mariadb-connector-c-devel >= 3.0
%endif
%if %{with mysql_names}
@@ -834,9 +834,11 @@ export CFLAGS CXXFLAGS
-DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
- -DWITH_JEMALLOC=%{?with_tokudb:YES}%{!?with_tokudb:NO} \
+ -DWITH_JEMALLOC=%{?with_tokudb:yes}%{!?with_tokudb:no} \
-DLZ4_LIBS=%{_libdir}/liblz4.so \
+ -DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \
-DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \
+ -DWITH_ROCKSDB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \
-DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \
-DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO}
\
@@ -868,6 +870,12 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp
%install
make DESTDIR=%{buildroot} install
+%if %{with galera}
+# Install the wsrep library
+install -D -p -m 0755 wsrep-lib/wsrep-API/libwsrep_api_v*.so %{buildroot}%{_libdir}
+install -D -p -m 0755 wsrep-lib/src/libwsrep-lib.so %{buildroot}%{_libdir}
+%endif
+
# multilib header support #1625157
for header in mysql/server/my_config.h mysql/server/private/config.h; do
%multilib_fix_c_header --file %{_includedir}/$header
@@ -890,8 +898,10 @@ fi
# TODO: check, if it changes location inside that file depending on values passed to
Cmake
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
+%if %{without clibrary}
# Client part should be included in package 'mariadb-connector-c'
rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
+%endif
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
@@ -923,7 +933,6 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf
%{buildroot}%{_sysconfdir}/my.
mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf
# remove SysV init script and a symlink to that, we pack our very own
-rm %{buildroot}%{_sysconfdir}/init.d/mysql
rm %{buildroot}%{_libexecdir}/rcmysql
# install systemd unit files and scripts for handling server startup
install -D -p -m 644 scripts/mysql.service
%{buildroot}%{_unitdir}/%{daemon_name}.service
@@ -993,15 +1002,17 @@ install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}}
install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}}
# install galera config file
+%if %{with galera}
sed -i -r
's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|'
support-files/wsrep.cnf
install -p -m 0644 support-files/wsrep.cnf
%{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
+%endif
# install the clustercheck script
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck
# remove duplicate logrotate script
-rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
+rm %{buildroot}%{logrotateddir}/mysql
# Remove AppArmor files
rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
@@ -1029,7 +1040,10 @@ unlink %{buildroot}%{_libdir}/libmysqlclient.so
unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
unlink %{buildroot}%{_libdir}/libmariadb.so
# Client plugins
-rm
%{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so}
+rm
%{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so}
+%if %{with gssapi}
+rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so
+%endif
%endif
%if %{without clibrary} || %{without devel}
@@ -1073,7 +1087,8 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf
rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1*
%else
-%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
+%if 0%{?fedora} || 0%{?rhel} > 7
+rm -f %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf
mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d
echo -e
'[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"'
>> %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf
%endif
@@ -1088,7 +1103,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets
%endif
%if %{without gssapi}
-rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
+#rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
%endif
%if %{without errmsg}
@@ -1114,7 +1129,7 @@ rm
%{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
%endif # test
%if %{without galera}
-rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
+#rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster}
rm %{buildroot}%{_bindir}/galera_recovery
@@ -1192,16 +1207,6 @@ export MTR_BUILD_THREAD=%{__isa_bits}
/usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
-%if %{with clibrary}
-# Can be dropped on F27 EOL
-%ldconfig_scriptlets libs
-%endif
-
-%if %{with embedded}
-# Can be dropped on F27 EOL
-%ldconfig_scriptlets embedded
-%endif
-
%if %{with galera}
%post server-galera
# Do what README at support-files/policy/selinux/README and upstream page
@@ -1260,13 +1265,20 @@ fi
%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlslap.1*
%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
+
%endif
-%if %{with clibrary}
+%if %{with clibrary} || %{with galera}
%files libs
-%{_libdir}/libmariadb.so.*
+%if %{with galera}
+%{_libdir}/libwsrep*.so*
+%endif
+%if %{with clibrary}
+%exclude
%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
+%{_libdir}/libmariadb.so*
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
%endif
+%endif
%if %{with config}
%files config
@@ -1399,7 +1411,6 @@ fi
%{_mandir}/man1/mysql_secure_installation.1*
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
%{_mandir}/man1/mysqld_safe.1*
-%{_mandir}/man1/mysqld_safe_helper.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
@@ -1427,7 +1438,9 @@ fi
%doc %{_datadir}/groonga-normalizer-mysql/README.md
%doc %{_datadir}/groonga/README.md
%endif
+%if %{with galera}
%{_datadir}/%{pkg_name}/wsrep.cnf
+%endif
%{_datadir}/%{pkg_name}/wsrep_notify
%dir %{_datadir}/%{pkg_name}/policy
%dir %{_datadir}/%{pkg_name}/policy/selinux
@@ -1544,12 +1557,13 @@ fi
%{_mandir}/man1/perror.1*
# Other utilities
%{_bindir}/mysqld_safe_helper
+%{_mandir}/man1/mysqld_safe_helper.1*
%if %{with devel}
%files devel
%{_includedir}/*
%{_datadir}/aclocal/mysql.m4
-%{_libdir}/pkgconfig/mariadb.pc
+%{_libdir}/pkgconfig/*mariadb.pc
%if %{with clibrary}
%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
%{_bindir}/mysql_config*
@@ -1598,9 +1612,29 @@ fi
%endif
%changelog
-* Mon Feb 18 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.2-1
-- Rebase to 10.4.2
-- This is BETA release! use at your own risk.
+* Fri Jun 07 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.5-1
+- Rebase to 10.4.5
+- This is a RC release! use with caution
+
+* Tue Jun 04 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.15-1
+- Rebase to 10.3.15
+- CVEs fixed:
+ CVE-2019-2510 CVE-2019-2537
+- CVEs fixed:
+ CVE-2019-2614 CVE-2019-2627 CVE-2019-2628
+
+* Thu Mar 21 2019 Michal Schorm <mschorm(a)redhat.com> - 10.3.12-14
+- Fix building of TokuDB with Jemalloc 5
+- Fix building with / without lz4
+
+* Thu Mar 21 2019 Michal Schorm <mschorm(a)redhat.com> - 10.3.12-13
+- Add patch for mysqld_safe --dry-run
+
+* Wed Mar 20 2019 Michal Schorm <mschorm(a)redhat.com> - 10.3.12-12
+- Add patch for server pkgconfig file location
+
+* Sat Feb 23 2019 Pavel Raiskup <praiskup(a)redhat.com> - 10.3.12-11
+- conditionally depend on selinux-policy-targeted again (rhbz#1665643)
* Mon Feb 11 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-10
- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643
@@ -1641,10 +1675,6 @@ fi
by 'mariadb-connector-c'
- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c'
-* Sun Jan 06 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.1-1
-- Rebase to 10.4.1
-- This is BETA release! use at your own risk.
-
* Mon Dec 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.11-1
- Rebase to 10.3.11
- CVEs fixed:
@@ -1652,10 +1682,6 @@ fi
CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173
CVE-2018-3200, CVE-2018-3284
-* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
-- Rebase to 10.4.0
-- This is ALPHA release! use at your own risk.
-
* Fri Oct 05 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.10-1
- Rebase to 10.3.10
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index a35653e..e41440b 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -1,7 +1,6 @@
# The SSL test are failing correctly. Fro more explanation, see:
#
https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page...
main.ssl_7937 : #1399847
-main.ssl_crl :
main.ssl_crl_clients : #1399847
main.ssl_8k_key :
@@ -52,7 +51,3 @@ parts.partition_alter4_innodb :
# Fails from 10.3.9
encryption.innodb-redo-badkey :
-
-# Fails on 10.4.2
-sys_vars.tcp_nodelay :
-main.func_math :
diff --git a/sources b/sources
index 2d14188..3e1ab3b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.2.tar.gz) =
31fffbc3223e0e52dcce08511904bef6a9d03b734773f46e864d5e8de8ceef352b2d8821614c6cc0ed12cdd0a3c60805c6815dbe7d07b8efec708df68eb05bd3
+SHA512 (mariadb-10.4.5.tar.gz) =
080df03aff04375f6f424d94f988156cb09cb891e14d67dcea453c3f831737898ac1913b48735628034c6a7f215a06ad22b4d350a8762351ac572a60d492a07b
commit ff6cb12c8c560d09cf69b02b89008d3de3a39edf
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Feb 18 11:05:10 2019 +0100
Rebase to 10.4.2
Sync-up with 10.3 in Rawhide
diff --git a/mariadb-myrocks-hotbackup.patch b/mariadb-myrocks-hotbackup.patch
new file mode 100644
index 0000000..ff2a1b1
--- /dev/null
+++ b/mariadb-myrocks-hotbackup.patch
@@ -0,0 +1,32 @@
+Do not import commands library as it is not used
+
+It also makes the script not work on python3, but since the script already uses
+subprocess in practice, removing commands import is effectively no change and
+fixes the python3 compatibility.
+
+Upstream PR:
https://github.com/MariaDB/server/pull/1080
+
+From 9c89fd49a757a87ba5899b3548b0fb1d172c0ec3 Mon Sep 17 00:00:00 2001
+From: Honza Horak <hhorak(a)redhat.com>
+Date: Wed, 9 Jan 2019 15:05:02 +0100
+Subject: [PATCH] Do not import commands library as it is not used
+
+---
+ storage/rocksdb/myrocks_hotbackup.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/storage/rocksdb/myrocks_hotbackup.py b/storage/rocksdb/myrocks_hotbackup.py
+index 69c75b7cbfd..906ba814776 100755
+--- a/storage/rocksdb/myrocks_hotbackup.py
++++ b/storage/rocksdb/myrocks_hotbackup.py
+@@ -8,7 +8,6 @@ import os
+ import stat
+ import sys
+ import re
+-import commands
+ import subprocess
+ import logging
+ import logging.handlers
+--
+2.17.2
+
diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch
new file mode 100644
index 0000000..eb8a1e7
--- /dev/null
+++ b/mariadb-pythonver.patch
@@ -0,0 +1,27 @@
+Upstream PR:
https://github.com/MariaDB/server/pull/1081
+
+From d2cbf56d36e422802aa7e53ec0f4e6be8fd53cf5 Mon Sep 17 00:00:00 2001
+From: Honza Horak <hhorak(a)redhat.com>
+Date: Wed, 9 Jan 2019 20:17:29 +0100
+Subject: [PATCH] Make the PYTHON_SHEBANG value configurable
+
+In Fedora 30 it is required to specify either /usr/bin/python2 or /usr/bin/python3 in the
shebang, so we need a way to say explicit shebang, ideally in the cmake call.
+---
+ CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a139c9e5fa4..ccccb08bef1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -342,7 +342,9 @@ MYSQL_CHECK_SSL()
+ MYSQL_CHECK_READLINE()
+
+ SET(MALLOC_LIBRARY "system")
+-SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python
shebang")
++IF(NOT DEFINED PYTHON_SHEBANG)
++ SET(PYTHON_SHEBANG "/usr/bin/env python")
++ENDIF()
+ MARK_AS_ADVANCED(PYTHON_SHEBANG)
+
+ CHECK_PCRE()
diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch
index 9a3d3f3..4f0a267 100644
--- a/mariadb-shebang.patch
+++ b/mariadb-shebang.patch
@@ -4,11 +4,11 @@ Maintainer's note:
This script is not python3 compatible:
ModuleNotFoundError: No module named 'commands'
-diff -Naurp mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup
mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched
---- mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup 2018-10-02 11:45:43.000000000
+0200
-+++ mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched 2018-10-05
14:27:02.960060700 +0200
+diff -Naurp mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py
mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched
+--- mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py 2019-01-04 16:28:50.000000000
+0100
++++ mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched 2019-01-08
12:00:54.468750863 +0100
@@ -1,4 +1,4 @@
--#!/usr/bin/env python
+-#!@PYTHON_SHEBANG@
+#!/usr/bin/python2
from __future__ import division
diff --git a/mariadb-ssl-cipher-tests.patch b/mariadb-ssl-cipher-tests.patch
new file mode 100644
index 0000000..3d04c4c
--- /dev/null
+++ b/mariadb-ssl-cipher-tests.patch
@@ -0,0 +1,52 @@
+diff -up mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest
mariadb-10.3.9/mysql-test/main/ssl_cipher.test
+--- mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest 2019-01-27 19:39:19.610027153
+0100
++++ mariadb-10.3.9/mysql-test/main/ssl_cipher.test 2019-01-27 19:42:10.045430776 +0100
+@@ -13,7 +13,9 @@
+ connect (ssl_con,localhost,root,,,,,SSL);
+
+ # Check Cipher Name and Cipher List
++--replace_regex /TLS_AES_.*/AES128-SHA/
+ SHOW STATUS LIKE 'Ssl_cipher';
++--replace_regex /TLS_AES_.*/AES128-SHA/
+ SHOW STATUS LIKE 'Ssl_cipher_list';
+
+ connection default;
+diff -up mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl
mariadb-10.3.9/mysql-test/main/ssl.result
+--- mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl 2019-01-27 20:41:52.605213547
+0100
++++ mariadb-10.3.9/mysql-test/main/ssl.result 2019-01-27 20:42:03.977320005 +0100
+@@ -2176,7 +2176,7 @@ still connected?
+ connection default;
+ disconnect ssl_con;
+ create user mysqltest_1@localhost;
+-grant usage on mysqltest.* to mysqltest_1@localhost require cipher
"AES256-SHA";
++grant usage on mysqltest.* to mysqltest_1@localhost require cipher
"TLS_AES_256_GCM_SHA384";
+ Variable_name Value
+-Ssl_cipher AES256-SHA
++Ssl_cipher TLS_AES_256_GCM_SHA384
+ drop user mysqltest_1@localhost;
+diff -up mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl
mariadb-10.3.9/mysql-test/main/ssl.test
+--- mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl 2019-01-27 20:40:39.756531579
+0100
++++ mariadb-10.3.9/mysql-test/main/ssl.test 2019-01-27 20:41:02.631745724 +0100
+@@ -33,8 +33,8 @@ connection default;
+ disconnect ssl_con;
+
+ create user mysqltest_1@localhost;
+-grant usage on mysqltest.* to mysqltest_1@localhost require cipher
"AES256-SHA";
+---exec $MYSQL -umysqltest_1 --ssl-cipher=AES256-SHA -e "show status like
'ssl_cipher'" 2>&1
++grant usage on mysqltest.* to mysqltest_1@localhost require cipher
"TLS_AES_256_GCM_SHA384";
++--exec $MYSQL -umysqltest_1 --ssl-cipher=TLS_AES_256_GCM_SHA384 -e "show status
like 'ssl_cipher'" 2>&1
+ drop user mysqltest_1@localhost;
+
+ # Wait till all disconnects are completed
+diff -up mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest
mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test
+--- mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest 2019-01-27
21:11:12.280726041 +0100
++++ mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test 2019-01-27 21:10:01.034041434
+0100
+@@ -30,7 +30,7 @@ let $ssl_verify_pass_path = --ssl --ssl-
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+
+---replace_result TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION
++--replace_result TLSv1.3 TLS_VERSION TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1
TLS_VERSION
+ --exec $MYSQL --protocol=tcp --ssl-ca=$MYSQL_TEST_DIR/std_data/ca-cert-verify.pem
--ssl-verify-server-cert -e "SHOW STATUS like 'Ssl_version'"
+
+ --echo # restart server using restart
diff --git a/mariadb.spec b/mariadb.spec
index 5f2a6e0..70d36e0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -8,6 +8,16 @@
# Set this to 1 to see which tests fail, but 0 on production ready build
%global ignore_testsuite_result 1
+# 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.4.2
+# 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
+%global require_mysql_selinux 0
+
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
@@ -109,9 +119,15 @@
%global pcre_bundled_version 8.42
%endif
+# Use main python interpretter version
+%if 0%{?fedora} || 0%{?rhel} > 7
+%global python_path /usr/bin/python3
+%else
+%global python_path /usr/bin/python2
+%endif
+
# Include systemd files
%global daemon_name %{name}
-%global daemondir %{_unitdir}
%global daemon_no_prefix %{pkg_name}
%global mysqld_pid_dir mariadb
@@ -142,7 +158,7 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.1
+Version: 10.4.2
Release: 1.beta%{?with_debug:.debug}%{?dist}
Epoch: 3
@@ -176,8 +192,8 @@ Source71: LICENSE.clustercheck
#
https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch1: Fix python shebang to specificaly say the python version
-Patch1: %{pkgnamepatch}-shebang.patch
+# Patch2: Make the python interpretter be configurable
+Patch2: %{pkgnamepatch}-pythonver.patch
# Patch4: Red Hat distributions specific logrotate fix
# it would be big unexpected change, if we start shipping it now. Better wait for
MariaDB 10.2
Patch4: %{pkgnamepatch}-logrotate.patch
@@ -185,6 +201,8 @@ Patch4: %{pkgnamepatch}-logrotate.patch
Patch7: %{pkgnamepatch}-scripts.patch
# Patch9: pre-configure to comply with guidelines
Patch9: %{pkgnamepatch}-ownsetup.patch
+# Patch10: Fix cipher name in the SSL Cipher name test
+Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
@@ -387,10 +405,14 @@ 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:Suggests: %{name}-rocksdb-engine%{?_isa} = %{sameevr}}
+%{?with_tokudb:Suggests: %{name}-tokudb-engine%{?_isa} = %{sameevr}}
+%{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}}
+%{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}}
+%{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}}
+%{?with_cassandra:Suggests: %{name}-cassandra-engine%{?_isa} = %{sameevr}}
Suggests: mytop
Suggests: logrotate
@@ -398,6 +420,12 @@ Suggests: logrotate
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
+# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package
+# For cases, where we want to fix a SELinux issues in MariaDB sooner than patched
selinux-policy-targeted package is released
+%if %require_mysql_selinux
+Requires: (mysql-selinux if selinux-policy-targeted)
+%endif
+
# for fuser in mysql-check-socket
Requires: psmisc
@@ -676,10 +704,11 @@ sources.
# Remove JAR files that upstream puts into tarball
find . -name "*.jar" -type f -exec rm --verbose -f {} \;
-%patch1 -p1
+%patch2 -p1
%patch4 -p1
%patch7 -p1
%patch9 -p1
+#%patch10 -p1
# workaround for upstream bug #56342
#rm mysql-test/t/ssl_8k_key-master.opt
@@ -755,10 +784,6 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py
CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
# force PIC mode so that we can build libmysqld.so
CFLAGS="$CFLAGS -fPIC"
-# significant performance gains can be achieved by compiling with -O3 optimization;
rhbz#1051069
-%ifarch ppc64
-CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
-%endif
# Override all optimization flags when making a debug build
%{?with_debug: CFLAGS="$CFLAGS -O0 -g"}
@@ -820,15 +845,16 @@ export CFLAGS CXXFLAGS
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
+ -DPYTHON_SHEBANG=%{python_path} \
-DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF}
\
+ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
-DCONNECT_WITH_MONGO=OFF \
-DCONNECT_WITH_JDBC=OFF \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON
-DWITH_VALGRIND=ON}
# Print all Cmake options values
-# cmake -LAH for List Advanced Help
-cmake -L
+# cmake ./ -LAH for List Advanced Help
+cmake ./ -L
make %{?_smp_mflags} VERBOSE=1
@@ -864,7 +890,8 @@ fi
# TODO: check, if it changes location inside that file depending on values passed to
Cmake
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
-rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc
+# Client part should be included in package 'mariadb-connector-c'
+rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
@@ -982,7 +1009,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
# Disable plugins
-%if %{with ggsapi}
+%if %{with gssapi}
sed -i 's/^plugin-load-add/#plugin-load-add/'
%{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
%endif
%if %{with cracklib}
@@ -1047,10 +1074,9 @@ rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
rm %{buildroot}%{_mandir}/man1/tokuft_logprint.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
+mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d
+echo -e
'[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"'
>> %{buildroot}%{_unitdir}/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}
@@ -1125,28 +1151,35 @@ export MTR_BUILD_THREAD=%{__isa_bits}
(
set -ex
-
cd mysql-test
- perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \
- --suite-timeout=900 --testcase-timeout=30 \
- --mysqld=--binlog-format=mixed --force-restart \
- --shutdown-timeout=60 --max-test-fail=5 --big-test \
- --skip-test=spider \
-%if %{ignore_testsuite_result}
- --max-test-fail=9999 || :
-%else
- --skip-test-list=unstable-tests
-%endif
-# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate)
- perl ./mysql-test-run.pl --parallel=auto --force --retry=1 \
- --suite-timeout=60 --testcase-timeout=10 \
- --mysqld=--binlog-format=mixed --force-restart \
- --shutdown-timeout=60 --max-test-fail=0 --big-test \
- --skip-ssl --suite=spider,spider/bg \
-%if %{ignore_testsuite_result}
- --max-test-fail=999 || :
-%endif
+ export common_testsuite_arguments=" --parallel=auto --force --retry=1
--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 ]]
+ 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 --ssl --suite=main --mem
--skip-test-list=unstable-tests
+ 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 --ssl --big-test
--skip-test=spider \
+ %if %{ignore_testsuite_result}
+ --max-test-fail=9999 || :
+ %else
+ --skip-test-list=unstable-tests
+ %endif
+ # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate)
+ perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --mem
--suite=spider,spider/bg \
+ %if %{ignore_testsuite_result}
+ --max-test-fail=999 || :
+ %endif
+ # blank line
+ fi
)
%endif # if dry run
@@ -1340,7 +1373,7 @@ fi
%{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so}
%{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so}
%{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so}
-%{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so}
+%{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so}
%{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so}
%{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so}
%if %{with clibrary}
@@ -1407,7 +1440,9 @@ fi
%{_datadir}/%{pkg_name}/systemd/mariadb@.service
%endif
-%{daemondir}/%{daemon_name}*
+%{_unitdir}/%{daemon_name}*
+%{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf}
+
%{_libexecdir}/mysql-prepare-db-dir
%{_libexecdir}/mysql-check-socket
%{_libexecdir}/mysql-check-upgrade
@@ -1456,7 +1491,7 @@ fi
%{_mandir}/man1/tokuft_logprint.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
+%{_unitdir}/mariadb.service.d/tokudb.conf
%endif
%if %{with gssapi}
@@ -1563,10 +1598,60 @@ fi
%endif
%changelog
+* Mon Feb 18 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.2-1
+- Rebase to 10.4.2
+- This is BETA release! use at your own risk.
+
+* Mon Feb 11 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-10
+- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> -
3:10.3.12-9
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Jan 30 2019 Honza Horak <hhorak(a)redhat.com> - 3:10.3.12-8
+- Fix several SSL tests that failed because of different SSL cipher expectation
+
+* Wed Jan 23 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-7
+- Fix TokuDB Jemalloc ld_preload
+ Resolves: #1668375
+- Tweak macros usage
+
+* Sat Jan 19 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-6
+- Enable mysql-selinux requirement
+- Tweak the testsuite execution, speed up the testsuite on rebuilds
+- Change weak dependency of RocksDB and TokuDB storage engines
+ from Recommends to Suggests
+- Add "Suggests" weak dependencies to more storage engines
+
+* Wed Jan 16 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-5
+- Tweak handling of the mysql-selinux requirement, leave disabled due to #1665643
+
+* Mon Jan 14 2019 Bjrn Esser <besser82(a)fedoraproject.org> - 3:10.3.12-4
+- Rebuilt for libcrypt.so.2 (#1666033)
+
+* Fri Jan 11 2019 Kevin Fenzi <kevin(a)scrye.com> - 3:10.3.12-3
+- Drop mysql-selinux recommends for now due to bug #1665643
+
+* Wed Jan 09 2019 Honza Horak <hhorak(a)redhat.com> - 3:10.3.12-2
+- Use specific python shebang
+
+* Tue Jan 08 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-1
+- Rebase to 10.3.12
+- Disable building of the caching_sha2_password plugin, it is shipped
+ by 'mariadb-connector-c'
+- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c'
+
* Sun Jan 06 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.1-1
- Rebase to 10.4.1
- This is BETA release! use at your own risk.
+* Mon Dec 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.11-1
+- Rebase to 10.3.11
+- CVEs fixed:
+ CVE-2018-3282, CVE-2016-9843, CVE-2018-3174, CVE-2018-3143, CVE-2018-3156
+ CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173
+ CVE-2018-3200, CVE-2018-3284
+
* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
- Rebase to 10.4.0
- This is ALPHA release! use at your own risk.
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 1123444..a35653e 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -1,17 +1,10 @@
# The SSL test are failing correctly. Fro more explanation, see:
#
https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page...
main.ssl_7937 : #1399847
+main.ssl_crl :
main.ssl_crl_clients : #1399847
-main.ssl_cert_verify :
-
main.ssl_8k_key :
-# From 10.3.9
-main.openssl_1 :
-main.openssl_6975 :
-main.ssl :
-main.ssl_cipher :
-
#
perfschema.nesting : #1399847
perfschema.socket_summary_by_instance_func : #1399847
@@ -60,5 +53,6 @@ parts.partition_alter4_innodb :
# Fails from 10.3.9
encryption.innodb-redo-badkey :
-# 10.4.0
+# Fails on 10.4.2
sys_vars.tcp_nodelay :
+main.func_math :
diff --git a/sources b/sources
index 2d3457c..2d14188 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.1.tar.gz) =
0422bbc4b3a38ff70bfc1cb61f8cb6582c7410a834a15bc593070aa206ca0103c0e4da04a36d02fcb6c21e3646d7920f6de7095b51a27136a7684d9ed54b5f8d
+SHA512 (mariadb-10.4.2.tar.gz) =
31fffbc3223e0e52dcce08511904bef6a9d03b734773f46e864d5e8de8ceef352b2d8821614c6cc0ed12cdd0a3c60805c6815dbe7d07b8efec708df68eb05bd3
commit 14c5e16b6f6d28a3e63ae8b266e9f2e4821ea59b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Jan 6 16:18:32 2019 +0100
Rebase to 10.4.1
This is BETA release, use with caution!
diff --git a/mariadb.spec b/mariadb.spec
index c82c55a..5f2a6e0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -142,8 +142,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.0
-Release: 1.alpha%{?with_debug:.debug}%{?dist}
+Version: 10.4.1
+Release: 1.beta%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -794,6 +794,7 @@ export CFLAGS CXXFLAGS
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
-DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
+ -DINSTALL_PCDIR=%{_lib}/pkgconfig \
-DMYSQL_DATADIR="%{dbdatadir}" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
-DTMPDIR=/var/tmp \
@@ -820,6 +821,7 @@ export CFLAGS CXXFLAGS
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
+ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF}
\
-DCONNECT_WITH_MONGO=OFF \
-DCONNECT_WITH_JDBC=OFF \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON
-DWITH_VALGRIND=ON}
@@ -862,6 +864,7 @@ fi
# TODO: check, if it changes location inside that file depending on values passed to
Cmake
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
+rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
@@ -1560,6 +1563,10 @@ fi
%endif
%changelog
+* Sun Jan 06 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.1-1
+- Rebase to 10.4.1
+- This is BETA release! use at your own risk.
+
* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
- Rebase to 10.4.0
- This is ALPHA release! use at your own risk.
diff --git a/sources b/sources
index 23ef7c7..2d3457c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.0.tar.gz) =
c81f56e35dd7aac4776dd2b7d18e40adccaff9f4d492e94395b1aeb5c491c712ce4599d0b1374fa585a4d0bba86dd60c91aea7701b6ded0d38409d1caace2671
+SHA512 (mariadb-10.4.1.tar.gz) =
0422bbc4b3a38ff70bfc1cb61f8cb6582c7410a834a15bc593070aa206ca0103c0e4da04a36d02fcb6c21e3646d7920f6de7095b51a27136a7684d9ed54b5f8d
commit 2413f21e35297865f57c0ca8c7a9a86bb40e1068
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Nov 16 23:03:41 2018 +0100
Rebase to 10.4.0
This is ALPHA release, use with caution!
diff --git a/mariadb.spec b/mariadb.spec
index 18254fb..c82c55a 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -6,7 +6,7 @@
%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 0
+%global ignore_testsuite_result 1
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
@@ -142,8 +142,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.3.10
-Release: 1%{?with_debug:.debug}%{?dist}
+Version: 10.4.0
+Release: 1.alpha%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -1560,6 +1560,10 @@ fi
%endif
%changelog
+* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
+- Rebase to 10.4.0
+- This is ALPHA release! use at your own risk.
+
* Fri Oct 05 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.10-1
- Rebase to 10.3.10
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 62a1726..1123444 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -59,3 +59,6 @@ parts.partition_alter4_innodb :
# Fails from 10.3.9
encryption.innodb-redo-badkey :
+
+# 10.4.0
+sys_vars.tcp_nodelay :
diff --git a/sources b/sources
index 3cf2c1c..23ef7c7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.3.10.tar.gz) =
dee7789dff359a6352ceacb2db6bcb4730940e9458adda4e23894f9bfa0a7ff8c238060bffca58a60b662275e52a31ea1784d51fae114312b003c024e9412b31
+SHA512 (mariadb-10.4.0.tar.gz) =
c81f56e35dd7aac4776dd2b7d18e40adccaff9f4d492e94395b1aeb5c491c712ce4599d0b1374fa585a4d0bba86dd60c91aea7701b6ded0d38409d1caace2671