From dd5e442893bf28af917655ea1dd28509c56d6740 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 28 May 2021 17:53:27 +0200 Subject: [PATCH] mariadb: update to 10.5.10. closes #30932 --- srcpkgs/mariadb/INSTALL | 12 +- srcpkgs/mariadb/patches/cmake.patch | 15 --- srcpkgs/mariadb/patches/fix-cross.patch | 126 ------------------ .../revert-isb-assembly-instruction.patch | 20 +++ srcpkgs/mariadb/template | 7 +- 5 files changed, 30 insertions(+), 150 deletions(-) delete mode 100644 srcpkgs/mariadb/patches/cmake.patch delete mode 100644 srcpkgs/mariadb/patches/fix-cross.patch create mode 100644 srcpkgs/mariadb/patches/revert-isb-assembly-instruction.patch diff --git a/srcpkgs/mariadb/INSTALL b/srcpkgs/mariadb/INSTALL index 88334bbe1406..f66078207ff7 100644 --- a/srcpkgs/mariadb/INSTALL +++ b/srcpkgs/mariadb/INSTALL @@ -2,12 +2,12 @@ # case ${ACTION} in post) - if [ "$UPDATE" = "yes" ]; then - : - elif [ -f var/lib/mysql/mysql-bin.index ]; then - : - else - chpst -u mysql:mysql usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql + # Set permissions for auth_pam_tool_dir which contains a suid binary + chmod 700 usr/lib/mysql/plugin/auth_pam_tool_dir + chown mysql usr/lib/mysql/plugin/auth_pam_tool_dir + if [ "$UPDATE" = "no" ] && [ ! -f var/lib/mysql/mysql-bin.index ]; then + chpst -u mysql:mysql usr/bin/mysql_install_db --user=mysql --basedir=/usr \ + --datadir=/var/lib/mysql --rpm --cross-bootstrap fi ;; esac diff --git a/srcpkgs/mariadb/patches/cmake.patch b/srcpkgs/mariadb/patches/cmake.patch deleted file mode 100644 index 27b4a507e23c..000000000000 --- a/srcpkgs/mariadb/patches/cmake.patch +++ /dev/null @@ -1,15 +0,0 @@ -caused configure error after update to cmake 3.20.1 - -diff --git libmariadb/cmake/ConnectorName.cmake libmariadb/cmake/ConnectorName.cmake -index b7bbbad..357b8ac 100644 ---- libmariadb/cmake/ConnectorName.cmake -+++ libmariadb/cmake/ConnectorName.cmake -@@ -22,7 +22,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Windows") - SET(MACHINE_NAME "x64") - ELSE() - SET(MACHINE_NAME "32") -- END() -+ ENDIF() - ENDIF() - - SET(product_name "mysql-connector-c-${CPACK_PACKAGE_VERSION}-${PLATFORM_NAME}${CONCAT_SIGN}${MACHINE_NAME}") diff --git a/srcpkgs/mariadb/patches/fix-cross.patch b/srcpkgs/mariadb/patches/fix-cross.patch deleted file mode 100644 index df46a2f2670a..000000000000 --- a/srcpkgs/mariadb/patches/fix-cross.patch +++ /dev/null @@ -1,126 +0,0 @@ -Author: Justin Jagieniak , John Zimmermann -Date: Fri Apr 11 14:19:00 2021 +0200 - - Fix cross-compile patch to consider CMAKE_CROSSCOMPILING_EMULATOR aswell. - ---- CMakeLists.txt.orig 2021-04-11 12:37:42.766483860 +0200 -+++ CMakeLists.txt 2021-04-11 13:05:49.491976374 +0200 -@@ -397,7 +397,7 @@ - - CHECK_SYSTEMD() - --IF(CMAKE_CROSSCOMPILING) -+IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR) - SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build") - INCLUDE(${IMPORT_EXECUTABLES}) - ENDIF() -@@ -479,7 +479,7 @@ - ADD_SUBDIRECTORY(support-files) - ADD_SUBDIRECTORY(extra/aws_sdk) - --IF(NOT CMAKE_CROSSCOMPILING) -+IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) - SET(EXPORTED comp_err comp_sql factorial) - IF(NOT WITHOUT_SERVER) - SET(EXPORTED ${EXPORTED} gen_lex_hash gen_lex_token) - ---- configure.cmake.orig 2021-04-11 13:45:39.143733089 +0200 -+++ configure.cmake 2021-04-11 13:46:06.378730316 +0200 -@@ -668,7 +668,7 @@ - " HAVE_PTHREAD_YIELD_ZERO_ARG) - - IF(NOT STACK_DIRECTION) -- IF(CMAKE_CROSSCOMPILING) -+ IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR) - MESSAGE(FATAL_ERROR - "STACK_DIRECTION is not defined. Please specify -DSTACK_DIRECTION=1 " - "or -DSTACK_DIRECTION=-1 when calling cmake.") - ---- storage/mroonga/vendor/groonga/CMakeLists.txt.orig 2021-04-11 13:48:22.249716484 +0200 -+++ storage/mroonga/vendor/groonga/CMakeLists.txt 2021-04-11 13:49:44.050708156 +0200 -@@ -405,7 +405,7 @@ - set(MECAB_LIBRARIES libmecab) - else() - set(GRN_MECAB_CONFIG "mecab-config" CACHE FILEPATH "mecab-config path") -- if(NOT CMAKE_CROSSCOMPILING) -+ if(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) - find_program(GRN_MECAB_CONFIG_ABSOLUTE_PATH "${GRN_MECAB_CONFIG}") - endif() - if(EXISTS "${GRN_MECAB_CONFIG_ABSOLUTE_PATH}") - ---- storage/innobase/innodb.cmake.orig 2021-04-11 13:52:39.129690331 +0200 -+++ storage/innobase/innodb.cmake 2021-04-11 13:53:03.656687834 +0200 -@@ -36,7 +36,7 @@ - - INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) - --IF(CMAKE_CROSSCOMPILING) -+IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR) - # Use CHECK_C_SOURCE_COMPILES instead of CHECK_C_SOURCE_RUNS when - # cross-compiling. Not as precise, but usually good enough. - # This only make sense for atomic tests in this file, this trick doesn't - ---- sql/CMakeLists.txt.orig 2021-04-11 13:54:43.469677673 +0200 -+++ sql/CMakeLists.txt 2021-04-11 13:55:46.337671272 +0200 -@@ -356,7 +356,7 @@ - COMPILE_FLAGS "-p ORA") - ENDIF() - --IF(NOT CMAKE_CROSSCOMPILING) -+IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) - ADD_EXECUTABLE(gen_lex_token gen_lex_token.cc - ${CMAKE_CURRENT_BINARY_DIR}/sql_yacc.hh) - ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc) -@@ -406,7 +406,7 @@ - ) - - # Install initial database (default on windows, optional target elsewhere) --IF(TARGET mariadbd AND NOT CMAKE_CROSSCOMPILING) -+IF(TARGET mariadbd AND (NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)) - IF(GENERATOR_IS_MULTI_CONFIG) - SET (CONFIG_PARAM -DCONFIG=${CMAKE_CFG_INTDIR}) - ENDIF() - ---- scripts/CMakeLists.txt.orig 2021-04-11 13:57:30.088660710 +0200 -+++ scripts/CMakeLists.txt 2021-04-11 13:58:12.486656393 +0200 -@@ -28,14 +28,14 @@ - ) - ENDMACRO() - --IF(NOT CMAKE_CROSSCOMPILING) -+IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) - INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) - ADD_EXECUTABLE(comp_sql comp_sql.c) - TARGET_LINK_LIBRARIES(comp_sql) - ENDIF() - - # Build mysql_fix_privilege_tables.sql (concatenate 3 sql scripts) --IF(NOT WIN32 OR CMAKE_CROSSCOMPILING) -+IF(NOT WIN32 OR (CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR)) - FIND_PROGRAM(CAT_EXECUTABLE cat DOC "path to the executable") - MARK_AS_ADVANCED(CAT_EXECUTABLE) - ENDIF() - ---- extra/CMakeLists.txt.orig 2021-04-11 14:02:55.048627626 +0200 -+++ extra/CMakeLists.txt 2021-04-11 14:03:24.136624665 +0200 -@@ -18,7 +18,7 @@ - # Default install component for the files is Server here - SET(MYSQL_INSTALL_COMPONENT Server) - --IF(NOT CMAKE_CROSSCOMPILING) -+IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) - ADD_EXECUTABLE(comp_err comp_err.c) - TARGET_LINK_LIBRARIES(comp_err mysys) - ENDIF() - ---- dbug/CMakeLists.txt.orig 2021-04-11 14:12:39.744568100 +0200 -+++ dbug/CMakeLists.txt 2021-04-11 14:13:02.588565774 +0200 -@@ -25,7 +25,7 @@ - ADD_EXECUTABLE(tests tests.c) - TARGET_LINK_LIBRARIES(tests dbug) - --IF(NOT CMAKE_CROSSCOMPILING) -+IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR) - ADD_EXECUTABLE(factorial my_main.c factorial.c) - TARGET_LINK_LIBRARIES(factorial dbug) - ENDIF() diff --git a/srcpkgs/mariadb/patches/revert-isb-assembly-instruction.patch b/srcpkgs/mariadb/patches/revert-isb-assembly-instruction.patch new file mode 100644 index 000000000000..ce5d809c3d52 --- /dev/null +++ b/srcpkgs/mariadb/patches/revert-isb-assembly-instruction.patch @@ -0,0 +1,20 @@ +Forwarded: No, but should be +Subject: Revert upstream "MDEV-24630: MY_RELAX_CPU assembly instruction upgrade" +Description: + It was noticed that MariaDB 10.5.10 regressed and no longer built on armhf. + For details see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988629 + Reverting the upstream commit + https://github.com/MariaDB/server/commit/76d2846a71a155ee2861fd52e6635e35490a9dd1 + is likely to fix it and make armhf build again. + +--- include/my_cpu.h ++++ include/my_cpu.h +@@ -84,7 +84,7 @@ static inline void MY_RELAX_CPU(void) + __ppc_get_timebase(); + #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__) + /* Mainly, prevent the compiler from optimizing away delay loops */ +- __asm__ __volatile__ ("isb":::"memory"); ++ __asm__ __volatile__ ("":::"memory"); + #else + int32 var, oldval = 0; + my_atomic_cas32_strong_explicit(&var, &oldval, 1, MY_MEMORY_ORDER_RELAXED, diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template index db79671bf9dc..14dcc8f2d097 100644 --- a/srcpkgs/mariadb/template +++ b/srcpkgs/mariadb/template @@ -1,6 +1,6 @@ # Template file for 'mariadb' pkgname=mariadb -version=10.5.9 +version=10.5.10 revision=1 build_style=cmake build_helper=qemu @@ -27,13 +27,14 @@ maintainer="Justin Jagieniak " license="GPL-2.0-only" homepage="https://mariadb.com" distfiles="http://archive.mariadb.org/$pkgname-$version/source/${pkgname}-${version}.tar.gz" -checksum=40ab19aeb8de141fdc188cf2251213c9e7351bee4d0cd29db704fae68d1068cf +checksum=a5ff32f9fcaaf26bf5cba94accc7b246d2d5eb75710d027e40122df6bac0babb lib32disabled=yes provides="mysql-${version}_${revision}" replaces="mysql>=0" system_accounts="mysql" mysql_homedir="/var/lib/mysql" -make_dirs="/var/lib/mysql 0700 mysql mysql" +make_dirs="/var/lib/mysql 0700 mysql mysql + /usr/lib/mysql/plugin/auth_pam_tool_dir 0700 mysql root" post_patch() { case "$XBPS_TARGET_MACHINE" in