mariadb: update to 10.4.12

ARM builds should be now fixed.
This commit is contained in:
Leonid Pliushch 2020-02-17 13:04:44 +02:00
parent 4fc74f052a
commit 9711de335e
4 changed files with 64 additions and 52 deletions

View File

@ -2,12 +2,10 @@ TERMUX_PKG_HOMEPAGE=https://mariadb.org
TERMUX_PKG_DESCRIPTION="A drop-in replacement for mysql server"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="Vishal Biswas @vishalbiswas"
## Newer versions fail with "Illegal instruction" error on ARM.
_VERSION=10.4.6
_VERSION=10.4.12
TERMUX_PKG_VERSION=2:${_VERSION}
TERMUX_PKG_SRCURL=http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-${_VERSION}/source/mariadb-${_VERSION}.tar.gz
TERMUX_PKG_SHA256=a270fe6169a1aaf6f2cbbc945de2c954d818c48e1a0fc02fbed92ecb94678e70
TERMUX_PKG_SHA256=fef1e1d38aa253dd8a51006bd15aad184912fce31c446bb69434fcde735aa208
TERMUX_PKG_DEPENDS="libc++, libiconv, liblzma, ncurses, libedit, openssl, pcre, libcrypt, libandroid-support, libandroid-glob, zlib"
TERMUX_PKG_BREAKS="mariadb-dev"
TERMUX_PKG_REPLACES="mariadb-dev"
@ -30,6 +28,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DMYSQL_DATADIR=$TERMUX_PREFIX/var/lib/mysql
-DPLUGIN_AUTH_GSSAPI_CLIENT=OFF
-DPLUGIN_AUTH_GSSAPI=NO
-DPLUGIN_AUTH_PAM=NO
-DPLUGIN_CONNECT=NO
-DPLUGIN_DAEMON_EXAMPLE=NO
-DPLUGIN_EXAMPLE=NO
@ -60,6 +59,11 @@ TERMUX_PKG_HOSTBUILD=true
TERMUX_PKG_CONFLICTS="mysql"
TERMUX_PKG_RM_AFTER_INSTALL="bin/mysqltest*"
# i686 build fails due to:
# /home/builder/.termux-build/mariadb/src/include/my_pthread.h:822:10: error: use of undeclared identifier 'my_atomic_add32'
# (void) my_atomic_add32_explicit(value, 1, MY_MEMORY_ORDER_RELAXED);
TERMUX_PKG_BLACKLISTED_ARCHES="i686"
termux_step_host_build() {
termux_setup_cmake
cmake -G "Unix Makefiles" \

View File

@ -0,0 +1,12 @@
diff -u -r ../mariadb-10.4.12/cmake/build_configurations/mysql_release.cmake ./cmake/build_configurations/mysql_release.cmake
--- ../mariadb-10.4.12/cmake/build_configurations/mysql_release.cmake 2020-01-26 20:43:49.000000000 +0000
+++ ./cmake/build_configurations/mysql_release.cmake 2020-02-15 23:22:03.546831000 +0000
@@ -124,7 +124,7 @@
IF(UNIX)
SET(WITH_EXTRA_CHARSETS all CACHE STRING "")
- SET(PLUGIN_AUTH_PAM YES)
+ SET(PLUGIN_AUTH_PAM NO)
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
IF(NOT IGNORE_AIO_CHECK)

View File

@ -0,0 +1,20 @@
--- include/my_rdtsc.h.orig 2020-02-17 00:55:47.642830626 +0000
+++ ./include/my_rdtsc.h 2020-02-17 00:56:16.083322798 +0000
@@ -26,7 +26,7 @@
# ifndef __has_builtin
# define __has_builtin(x) 0 /* Compatibility with non-clang compilers */
# endif
-# if __has_builtin(__builtin_readcyclecounter)
+# if __has_builtin(__builtin_readcyclecounter) && !defined(__arm__)
# elif defined _WIN32
# include <intrin.h>
# elif defined __i386__ || defined __x86_64__
@@ -125,7 +125,7 @@
*/
static inline ulonglong my_timer_cycles(void)
{
-# if __has_builtin(__builtin_readcyclecounter)
+# if __has_builtin(__builtin_readcyclecounter) && !defined(__arm__)
return __builtin_readcyclecounter();
# elif defined _WIN32 || defined __i386__ || defined __x86_64__
return __rdtsc();

View File

@ -1,36 +1,7 @@
diff -uNr mariadb-10.4.6/scripts/mysql_install_db.sh mariadb-10.4.6.mod/scripts/mysql_install_db.sh
--- mariadb-10.4.6/scripts/mysql_install_db.sh 2019-06-18 01:00:32.000000000 +0300
+++ mariadb-10.4.6.mod/scripts/mysql_install_db.sh 2019-08-04 21:52:11.299044998 +0300
@@ -1,16 +1,16 @@
#!/bin/sh
# Copyright (c) 2000, 2013, Oracle and/or its affiliates.
# Copyright (c) 2009, 2013, Monty Program Ab
-#
+#
# 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
# the Free Software Foundation; version 2 of the License.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
@@ -76,7 +76,7 @@
--force Causes mysql_install_db to run even if DNS does not
work. In that case, grant table entries that
normally use hostnames will use IP addresses.
- --help Display this help and exit.
+ --help Display this help and exit.
--ldata=path The path to the MariaDB data directory. Same as
--datadir.
--no-defaults Don't read default options from any option file.
@@ -453,37 +453,10 @@
diff -u -r ../mariadb-10.4.12/scripts/mysql_install_db.sh ./scripts/mysql_install_db.sh
--- ../mariadb-10.4.12/scripts/mysql_install_db.sh 2020-01-26 20:43:53.000000000 +0000
+++ ./scripts/mysql_install_db.sh 2020-02-15 23:19:05.141979000 +0000
@@ -466,42 +466,8 @@
fi
chmod 700 "$dir"
fi
@ -46,25 +17,30 @@ diff -uNr mariadb-10.4.6/scripts/mysql_install_db.sh mariadb-10.4.6.mod/scripts/
- fi
done
if test -n "$user"
then
- chown $user "$pamtooldir/auth_pam_tool_dir"
- if test $? -ne 0
-if test -n "$user"
-then
- if test -z "$srcdir" -a "$in_rpm" -eq 0
- then
- echo "Cannot change ownership of the '$pamtooldir/auth_pam_tool_dir' directory"
- echo " to the '$user' user. Check that you have the necessary permissions and try again."
- exit 1
- 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
- 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 "It must be root, the PAM authentication plugin doesn't work otherwise.."
- echo
- fi
- chown $user "$pamtooldir/auth_pam_tool_dir" && \
- chmod 0700 "$pamtooldir/auth_pam_tool_dir"
- if test $? -ne 0
- then
- echo "Cannot change ownership of the '$pamtooldir/auth_pam_tool_dir' directory"
- echo "to the '$user' user. Check that you have the necessary permissions and try again."
- echo
- fi
- fi
args="$args --user=$user"
fi
- args="$args --user=$user"
-fi
-
if test -f "$ldata/mysql/user.frm"
then
echo "mysql.user table already exists!"