Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [WIP] [help needed] mariadb: update to 10.5.6
@ 2020-10-15  5:17 ArmedAviator
  2020-10-16  1:46 ` [PR PATCH] [Updated] " ArmedAviator
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: ArmedAviator @ 2020-10-15  5:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1497 bytes --]

There is a new pull request by ArmedAviator against master on the void-packages repository

https://github.com/ArmedAviator/void-packages mariadb
https://github.com/void-linux/void-packages/pull/25618

[WIP] [help needed] mariadb: update to 10.5.6
Trying to get MariaDB updated to the latest (More than 2 years of advancement since current available version).

It builds on glibc amd64, no patches thus far, but does not complete the post-install due to needing work.

`/usr/bin/install: cannot stat '/destdir//mariadb-10.5.6/usr/share/mysql/my-medium.cnf': No such file or directory
=> ERROR: mariadb-10.5.6_1: post_install: 'install -Dm644 ${DESTDIR}/usr/share/mysql/my-medium.cnf ${DESTDIR}/etc/mysql/my.cnf' exited with 1
=> ERROR:   in post_install() at srcpkgs/mariadb/template:83`

The available .cnf files that I think we want copied are....
`./debian/additions/mariadb.cnf
./debian/additions/mariadb.conf.d/50-server.cnf
./debian/additions/mariadb.conf.d/50-client.cnf
./debian/additions/mariadb.conf.d/50-mysql-clients.cnf
./debian/additions/mariadb.conf.d/50-mysqld_safe.cnf
./debian/additions/mariadb.conf.d/60-galera.cnf`

Can anyone give input, confirm?  How would the install directive change to install/copy the folder instead of a file?

Additionally, I don't know if all of the best build options are set as I'm still a novice with this stuff.  Input requested, please!

A patch file from https://github.com/void-linux/void-packages/pull/25618.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mariadb-25618.patch --]
[-- Type: text/x-diff, Size: 21594 bytes --]

From da958fdaac4147f4364e7e5333f17d820e653c43 Mon Sep 17 00:00:00 2001
From: Rich Gannon <rich@rchgannon.net>
Date: Thu, 15 Oct 2020 01:12:08 -0400
Subject: [PATCH] mariadb: update to 10.5.6

---
 srcpkgs/mariadb/patches/fix-cross.patch       |  17 -
 .../mariadb/patches/fix-pthread-detach.patch  |  34 --
 .../mariadb/patches/force-c11-atomics.patch   | 294 ------------------
 srcpkgs/mariadb/patches/libatomic.patch       | 103 ------
 srcpkgs/mariadb/patches/musl-ppc.patch        |  27 --
 srcpkgs/mariadb/patches/musl_ucontext-h.patch |  11 -
 srcpkgs/mariadb/template                      |   8 +-
 7 files changed, 4 insertions(+), 490 deletions(-)
 delete mode 100644 srcpkgs/mariadb/patches/fix-cross.patch
 delete mode 100644 srcpkgs/mariadb/patches/fix-pthread-detach.patch
 delete mode 100644 srcpkgs/mariadb/patches/force-c11-atomics.patch
 delete mode 100644 srcpkgs/mariadb/patches/libatomic.patch
 delete mode 100644 srcpkgs/mariadb/patches/musl-ppc.patch
 delete mode 100644 srcpkgs/mariadb/patches/musl_ucontext-h.patch

diff --git a/srcpkgs/mariadb/patches/fix-cross.patch b/srcpkgs/mariadb/patches/fix-cross.patch
deleted file mode 100644
index 24605dae885..00000000000
--- a/srcpkgs/mariadb/patches/fix-cross.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- ./CMakeLists.txt.orig	2015-09-17 15:47:59.794784111 -0400
-+++ ./CMakeLists.txt	2015-09-19 19:42:16.751348473 -0400
-@@ -362,10 +376,10 @@
- 
- CHECK_PCRE()
- 
--IF(CMAKE_CROSSCOMPILING)
--  SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
--  INCLUDE(${IMPORT_EXECUTABLES})
--ENDIF()
-+# IF(CMAKE_CROSSCOMPILING)
-+#   SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
-+#   INCLUDE(${IMPORT_EXECUTABLES})
-+# ENDIF()
- 
- #
- # Setup maintainer mode options. Platform checks are
diff --git a/srcpkgs/mariadb/patches/fix-pthread-detach.patch b/srcpkgs/mariadb/patches/fix-pthread-detach.patch
deleted file mode 100644
index a53c05b1320..00000000000
--- a/srcpkgs/mariadb/patches/fix-pthread-detach.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c45b4a774b6d1404a080a1c1759f780fa78f223b Mon Sep 17 00:00:00 2001
-From: Sergey Vojtovich <svoj@mariadb.org>
-Date: Fri, 21 Sep 2018 16:04:16 +0400
-Subject: [PATCH] MDEV-17200 - pthread_detach called for already detached
- threads
-
-pthread_detach_this_thread() was intended to be defined to something
-meaningful only on some ancient unixes, which don't have
-pthread_attr_setdetachstate() defined. Otherwise, on normal unixes,
-threads are created detached in the first place.
-
-This was broken in 0f01bf267680244ec488adaf65a42838756ed48e so that
-we started calling pthread_detach() for already detached threads.
-Intention was to detach aria checkpoint thread.
-
-However in 87007dc2f71634cc460271eb277ad851ec69c04b aria service threads
-were made joinable with appropriate handling, which makes breaking
-revision unneccessary.
-
-Revert remnants of 0f01bf267680244ec488adaf65a42838756ed48e, so that
-pthread_detach_this_thread() is meaningful only on some ancient unixes
-again.
-
---- include/my_pthread.h
-+++ include/my_pthread.h
-@@ -184,7 +184,7 @@ int pthread_cancel(pthread_t thread);
- #define pthread_key(T,V) pthread_key_t V
- #define my_pthread_getspecific_ptr(T,V) my_pthread_getspecific(T,(V))
- #define my_pthread_setspecific_ptr(T,V) pthread_setspecific(T,(void*) (V))
--#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); }
-+#define pthread_detach_this_thread()
- #define pthread_handler_t EXTERNC void *
- typedef void *(* pthread_handler)(void *);
- 
diff --git a/srcpkgs/mariadb/patches/force-c11-atomics.patch b/srcpkgs/mariadb/patches/force-c11-atomics.patch
deleted file mode 100644
index 9546798bf97..00000000000
--- a/srcpkgs/mariadb/patches/force-c11-atomics.patch
+++ /dev/null
@@ -1,294 +0,0 @@
---- include/my_atomic.h
-+++ include/my_atomic.h
-@@ -104,217 +104,6 @@
-   but can be added, if necessary.
- */
- 
--#define intptr         void *
--/**
--  Currently we don't support 8-bit and 16-bit operations.
--  It can be added later if needed.
--*/
--#undef MY_ATOMIC_HAS_8_16
--
--/*
-- * Attempt to do atomic ops without locks
-- */
--#include "atomic/nolock.h"
--
--#ifndef make_atomic_cas_body
--/* nolock.h was not able to generate even a CAS function, fall back */
--#error atomic ops for this platform are not implemented
--#endif
--
--/* define missing functions by using the already generated ones */
--#ifndef make_atomic_add_body
--#define make_atomic_add_body(S)                                 \
--  int ## S tmp=*a;                                              \
--  while (!my_atomic_cas ## S(a, &tmp, tmp+v)) ;                 \
--  v=tmp;
--#endif
--#ifndef make_atomic_fas_body
--#define make_atomic_fas_body(S)                                 \
--  int ## S tmp=*a;                                              \
--  while (!my_atomic_cas ## S(a, &tmp, v)) ;                     \
--  v=tmp;
--#endif
--#ifndef make_atomic_load_body
--#define make_atomic_load_body(S)                                \
--  ret= 0; /* avoid compiler warning */                          \
--  (void)(my_atomic_cas ## S(a, &ret, ret));
--#endif
--#ifndef make_atomic_store_body
--#define make_atomic_store_body(S)                               \
--  (void)(my_atomic_fas ## S (a, v));
--#endif
--
--/*
--  transparent_union doesn't work in g++
--  Bug ?
--
--  Darwin's gcc doesn't want to put pointers in a transparent_union
--  when built with -arch ppc64. Complains:
--  warning: 'transparent_union' attribute ignored
--*/
--#if defined(__GNUC__) && !defined(__cplusplus) && \
--      ! (defined(__APPLE__) && (defined(_ARCH_PPC64) ||defined (_ARCH_PPC)))
--/*
--  we want to be able to use my_atomic_xxx functions with
--  both signed and unsigned integers. But gcc will issue a warning
--  "passing arg N of `my_atomic_XXX' as [un]signed due to prototype"
--  if the signedness of the argument doesn't match the prototype, or
--  "pointer targets in passing argument N of my_atomic_XXX differ in signedness"
--  if int* is used where uint* is expected (or vice versa).
--  Let's shut these warnings up
--*/
--#define make_transparent_unions(S)                              \
--        typedef union {                                         \
--          int  ## S  i;                                         \
--          uint ## S  u;                                         \
--        } U_ ## S   __attribute__ ((transparent_union));        \
--        typedef union {                                         \
--          int  ## S volatile *i;                                \
--          uint ## S volatile *u;                                \
--        } Uv_ ## S   __attribute__ ((transparent_union));
--#define uintptr intptr
--make_transparent_unions(8)
--make_transparent_unions(16)
--make_transparent_unions(32)
--make_transparent_unions(64)
--make_transparent_unions(ptr)
--#undef uintptr
--#undef make_transparent_unions
--#define a       U_a.i
--#define cmp     U_cmp.i
--#define v       U_v.i
--#define set     U_set.i
--#else
--#define U_8    int8
--#define U_16   int16
--#define U_32   int32
--#define U_64   int64
--#define U_ptr  intptr
--#define Uv_8   int8
--#define Uv_16  int16
--#define Uv_32  int32
--#define Uv_64  int64
--#define Uv_ptr intptr
--#define U_a    volatile *a
--#define U_cmp  *cmp
--#define U_v    v
--#define U_set  set
--#endif /* __GCC__ transparent_union magic */
--
--#define make_atomic_cas(S)                                      \
--static inline int my_atomic_cas ## S(Uv_ ## S U_a,              \
--                            Uv_ ## S U_cmp, U_ ## S U_set)      \
--{                                                               \
--  int8 ret;                                                     \
--  make_atomic_cas_body(S);                                      \
--  return ret;                                                   \
--}
--
--#define make_atomic_add(S)                                      \
--static inline int ## S my_atomic_add ## S(                      \
--                        Uv_ ## S U_a, U_ ## S U_v)              \
--{                                                               \
--  make_atomic_add_body(S);                                      \
--  return v;                                                     \
--}
--
--#define make_atomic_fas(S)                                      \
--static inline int ## S my_atomic_fas ## S(                      \
--                         Uv_ ## S U_a, U_ ## S U_v)             \
--{                                                               \
--  make_atomic_fas_body(S);                                      \
--  return v;                                                     \
--}
--
--#define make_atomic_load(S)                                     \
--static inline int ## S my_atomic_load ## S(Uv_ ## S U_a)        \
--{                                                               \
--  int ## S ret;                                                 \
--  make_atomic_load_body(S);                                     \
--  return ret;                                                   \
--}
--
--#define make_atomic_store(S)                                    \
--static inline void my_atomic_store ## S(                        \
--                     Uv_ ## S U_a, U_ ## S U_v)                 \
--{                                                               \
--  make_atomic_store_body(S);                                    \
--}
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_cas(8)
--make_atomic_cas(16)
--#endif
--make_atomic_cas(32)
--make_atomic_cas(64)
--make_atomic_cas(ptr)
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_add(8)
--make_atomic_add(16)
--#endif
--make_atomic_add(32)
--make_atomic_add(64)
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_load(8)
--make_atomic_load(16)
--#endif
--make_atomic_load(32)
--make_atomic_load(64)
--make_atomic_load(ptr)
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_fas(8)
--make_atomic_fas(16)
--#endif
--make_atomic_fas(32)
--make_atomic_fas(64)
--make_atomic_fas(ptr)
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_store(8)
--make_atomic_store(16)
--#endif
--make_atomic_store(32)
--make_atomic_store(64)
--make_atomic_store(ptr)
--
--#ifdef _atomic_h_cleanup_
--#include _atomic_h_cleanup_
--#undef _atomic_h_cleanup_
--#endif
--
--#undef U_8
--#undef U_16
--#undef U_32
--#undef U_64
--#undef U_ptr
--#undef Uv_8
--#undef Uv_16
--#undef Uv_32
--#undef Uv_64
--#undef Uv_ptr
--#undef a
--#undef cmp
--#undef v
--#undef set
--#undef U_a
--#undef U_cmp
--#undef U_v
--#undef U_set
--#undef make_atomic_add
--#undef make_atomic_cas
--#undef make_atomic_load
--#undef make_atomic_store
--#undef make_atomic_fas
--#undef make_atomic_add_body
--#undef make_atomic_cas_body
--#undef make_atomic_load_body
--#undef make_atomic_store_body
--#undef make_atomic_fas_body
--#undef intptr
--
- /*
-   the macro below defines (as an expression) the code that
-   will be run in spin-loops. Intel manuals recummend to have PAUSE there.
-@@ -328,7 +117,8 @@ make_atomic_store(ptr)
- #define MY_ATOMIC_NOT_1CPU 1
- extern int my_atomic_initialize();
- 
--#ifdef __ATOMIC_SEQ_CST
-+#define MY_ATOMIC_MODE "gcc-atomics-smp"
-+
- #define MY_MEMORY_ORDER_RELAXED __ATOMIC_RELAXED
- #define MY_MEMORY_ORDER_CONSUME __ATOMIC_CONSUME
- #define MY_MEMORY_ORDER_ACQUIRE __ATOMIC_ACQUIRE
-@@ -364,43 +154,27 @@ extern int my_atomic_initialize();
-   __atomic_compare_exchange_n((P), (E), (D), false, (S), (F))
- #define my_atomic_casptr_strong_explicit(P, E, D, S, F) \
-   __atomic_compare_exchange_n((P), (E), (D), false, (S), (F))
--#else
--#define MY_MEMORY_ORDER_RELAXED
--#define MY_MEMORY_ORDER_CONSUME
--#define MY_MEMORY_ORDER_ACQUIRE
--#define MY_MEMORY_ORDER_RELEASE
--#define MY_MEMORY_ORDER_ACQ_REL
--#define MY_MEMORY_ORDER_SEQ_CST
--
--#define my_atomic_store32_explicit(P, D, O) my_atomic_store32((P), (D))
--#define my_atomic_store64_explicit(P, D, O) my_atomic_store64((P), (D))
--#define my_atomic_storeptr_explicit(P, D, O) my_atomic_storeptr((P), (D))
--
--#define my_atomic_load32_explicit(P, O) my_atomic_load32((P))
--#define my_atomic_load64_explicit(P, O) my_atomic_load64((P))
--#define my_atomic_loadptr_explicit(P, O) my_atomic_loadptr((P))
--
--#define my_atomic_fas32_explicit(P, D, O) my_atomic_fas32((P), (D))
--#define my_atomic_fas64_explicit(P, D, O) my_atomic_fas64((P), (D))
--#define my_atomic_fasptr_explicit(P, D, O) my_atomic_fasptr((P), (D))
--
--#define my_atomic_add32_explicit(P, A, O) my_atomic_add32((P), (A))
--#define my_atomic_add64_explicit(P, A, O) my_atomic_add64((P), (A))
--#define my_atomic_addptr_explicit(P, A, O) my_atomic_addptr((P), (A))
- 
--#define my_atomic_cas32_weak_explicit(P, E, D, S, F) \
--  my_atomic_cas32((P), (E), (D))
--#define my_atomic_cas64_weak_explicit(P, E, D, S, F) \
--  my_atomic_cas64((P), (E), (D))
--#define my_atomic_casptr_weak_explicit(P, E, D, S, F) \
--  my_atomic_casptr((P), (E), (D))
-+#define my_atomic_store32(P, D) __atomic_store_n((P), (D), __ATOMIC_SEQ_CST)
-+#define my_atomic_store64(P, D) __atomic_store_n((P), (D), __ATOMIC_SEQ_CST)
-+#define my_atomic_storeptr(P, D) __atomic_store_n((P), (D), __ATOMIC_SEQ_CST)
- 
--#define my_atomic_cas32_strong_explicit(P, E, D, S, F) \
--  my_atomic_cas32((P), (E), (D))
--#define my_atomic_cas64_strong_explicit(P, E, D, S, F) \
--  my_atomic_cas64((P), (E), (D))
--#define my_atomic_casptr_strong_explicit(P, E, D, S, F) \
--  my_atomic_casptr((P), (E), (D))
--#endif
-+#define my_atomic_load32(P) __atomic_load_n((P), __ATOMIC_SEQ_CST)
-+#define my_atomic_load64(P) __atomic_load_n((P), __ATOMIC_SEQ_CST)
-+#define my_atomic_loadptr(P) __atomic_load_n((P), __ATOMIC_SEQ_CST)
-+
-+#define my_atomic_fas32(P, D) __atomic_exchange_n((P), (D), __ATOMIC_SEQ_CST)
-+#define my_atomic_fas64(P, D) __atomic_exchange_n((P), (D), __ATOMIC_SEQ_CST)
-+#define my_atomic_fasptr(P, D) __atomic_exchange_n((P), (D), __ATOMIC_SEQ_CST)
-+
-+#define my_atomic_add32(P, A) __atomic_fetch_add((P), (A), __ATOMIC_SEQ_CST)
-+#define my_atomic_add64(P, A) __atomic_fetch_add((P), (A), __ATOMIC_SEQ_CST)
-+
-+#define my_atomic_cas32(P, E, D) \
-+  __atomic_compare_exchange_n((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
-+#define my_atomic_cas64(P, E, D) \
-+  __atomic_compare_exchange_n((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
-+#define my_atomic_casptr(P, E, D) \
-+  __atomic_compare_exchange_n((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
- 
- #endif /* MY_ATOMIC_INCLUDED */
diff --git a/srcpkgs/mariadb/patches/libatomic.patch b/srcpkgs/mariadb/patches/libatomic.patch
deleted file mode 100644
index 0e8e872d9c2..00000000000
--- a/srcpkgs/mariadb/patches/libatomic.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Source: Debian, q66
-
-This ensures arches that need libatomic properly get it where necessary.
-It also removes the sync builtin checks that are not necessary when
-using C11 atomics (like we always are because we're on a modern gcc)
-that break build on e.g. ppc32 and mips.
-
---- configure.cmake
-+++ configure.cmake
-@@ -992,35 +992,19 @@ SET(SIGNAL_WITH_VIO_CLOSE 1)
- 
- MARK_AS_ADVANCED(NO_ALARM)
- 
--
--IF(WITH_ATOMIC_OPS STREQUAL "up")
--  SET(MY_ATOMIC_MODE_DUMMY 1 CACHE BOOL "Assume single-CPU mode, no concurrency")
--ELSEIF(WITH_ATOMIC_OPS STREQUAL "smp")
--ELSEIF(NOT WITH_ATOMIC_OPS)
--  CHECK_CXX_SOURCE_COMPILES("
--  int main()
--  {
--    int foo= -10; int bar= 10;
--    long long int foo64= -10; long long int bar64= 10;
--    if (!__sync_fetch_and_add(&foo, bar) || foo)
--      return -1;
--    bar= __sync_lock_test_and_set(&foo, bar);
--    if (bar || foo != 10)
--      return -1;
--    bar= __sync_val_compare_and_swap(&bar, foo, 15);
--    if (bar)
--      return -1;
--    if (!__sync_fetch_and_add(&foo64, bar64) || foo64)
--      return -1;
--    bar64= __sync_lock_test_and_set(&foo64, bar64);
--    if (bar64 || foo64 != 10)
--      return -1;
--    bar64= __sync_val_compare_and_swap(&bar64, foo, 15);
--    if (bar64)
--      return -1;
--    return 0;
--  }"
--  HAVE_GCC_ATOMIC_BUILTINS)
-+CHECK_CXX_SOURCE_COMPILES("
-+int main()
-+{
-+  long long int var= 1;
-+  long long int *ptr= &var;
-+  return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
-+}"
-+HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
-+IF (HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
-+  SET(HAVE_GCC_C11_ATOMICS True)
-+ELSE()
-+  SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-+  LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
-   CHECK_CXX_SOURCE_COMPILES("
-   int main()
-   {
-@@ -1028,14 +1012,13 @@ ELSEIF(NOT WITH_ATOMIC_OPS)
-     long long int *ptr= &var;
-     return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
-   }"
--  HAVE_GCC_C11_ATOMICS)
--ELSE()
--  MESSAGE(FATAL_ERROR "${WITH_ATOMIC_OPS} is not a valid value for WITH_ATOMIC_OPS!")
-+  HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+  IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+    SET(HAVE_GCC_C11_ATOMICS True)
-+  ENDIF()
-+  SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
- ENDIF()
- 
--SET(WITH_ATOMIC_OPS "${WITH_ATOMIC_OPS}" CACHE STRING "Implement atomic operations using atomic CPU instructions for multi-processor (smp) or uniprocessor (up) configuration. By default gcc built-in sync functions are used, if available and 'smp' configuration otherwise.")
--MARK_AS_ADVANCED(WITH_ATOMIC_OPS MY_ATOMIC_MODE_DUMMY)
--
- IF(WITH_VALGRIND)
-   SET(HAVE_valgrind 1)
- ENDIF()
---- mysys/CMakeLists.txt
-+++ mysys/CMakeLists.txt
-@@ -74,6 +74,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings mysys_ssl ${ZLIB_LIBRARY}
-  ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO})
- DTRACE_INSTRUMENT(mysys)
- 
-+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+  TARGET_LINK_LIBRARIES(mysys atomic)
-+ENDIF()
-+
- IF(HAVE_BFD_H)
-   TARGET_LINK_LIBRARIES(mysys bfd)  
- ENDIF(HAVE_BFD_H)
---- sql/CMakeLists.txt
-+++ sql/CMakeLists.txt
-@@ -172,6 +172,9 @@ ELSE()
-   SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
- ENDIF()
- 
-+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+  TARGET_LINK_LIBRARIES(sql atomic)
-+ENDIF()
- 
- IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS)
- 
diff --git a/srcpkgs/mariadb/patches/musl-ppc.patch b/srcpkgs/mariadb/patches/musl-ppc.patch
deleted file mode 100644
index 16cbac71a94..00000000000
--- a/srcpkgs/mariadb/patches/musl-ppc.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-This header does not exist on musl, but there has been a
-builtin for this in gcc for ages, so just use that instead.
-
---- storage/innobase/include/ut0ut.h
-+++ storage/innobase/include/ut0ut.h
-@@ -89,8 +89,7 @@ struct ut_when_dtor {
-    independent way by using YieldProcessor. */
- #  define UT_RELAX_CPU() YieldProcessor()
- # elif defined(__powerpc__)
--#include <sys/platform/ppc.h>
--#  define UT_RELAX_CPU() __ppc_get_timebase()
-+#  define UT_RELAX_CPU() __builtin_ppc_get_timebase()
- # else
- #  define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */
- # endif
---- storage/xtradb/include/ut0ut.h
-+++ storage/xtradb/include/ut0ut.h
-@@ -86,8 +86,7 @@ struct ut_when_dtor {
-    independent way by using YieldProcessor. */
- #  define UT_RELAX_CPU() YieldProcessor()
- # elif defined(__powerpc__)
--#include <sys/platform/ppc.h>
--#  define UT_RELAX_CPU() __ppc_get_timebase()
-+#  define UT_RELAX_CPU() __builtin_ppc_get_timebase()
- # else
- #  define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */
- # endif
diff --git a/srcpkgs/mariadb/patches/musl_ucontext-h.patch b/srcpkgs/mariadb/patches/musl_ucontext-h.patch
deleted file mode 100644
index 99ac0a6cd75..00000000000
--- a/srcpkgs/mariadb/patches/musl_ucontext-h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./include/my_context.h.orig	2016-02-24 09:25:21.000000000 -0500
-+++ ./include/my_context.h	2016-02-28 15:14:29.098180308 -0500
-@@ -31,7 +31,7 @@
- #define MY_CONTEXT_USE_X86_64_GCC_ASM
- #elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__)
- #define MY_CONTEXT_USE_I386_GCC_ASM
--#elif defined(HAVE_UCONTEXT_H)
-+#elif defined (__GLIBC__) && defined(HAVE_UCONTEXT_H)
- #define MY_CONTEXT_USE_UCONTEXT
- #else
- #define MY_CONTEXT_DISABLE
diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template
index 2a99794e073..75f57b912dd 100644
--- a/srcpkgs/mariadb/template
+++ b/srcpkgs/mariadb/template
@@ -1,7 +1,7 @@
 # Template file for 'mariadb'
 pkgname=mariadb
-version=10.1.30
-revision=9
+version=10.5.6
+revision=1
 build_style=cmake
 configure_args="-DMYSQL_DATADIR=/var/lib/mysql
  -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock -DDEFAULT_CHARSET=utf8
@@ -19,7 +19,7 @@ configure_args="-DMYSQL_DATADIR=/var/lib/mysql
  -DWITHOUT_PBXT_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1"
 hostmakedepends="perl bison ncurses-devel libressl-devel libatomic-devel
  pkg-config"
-makedepends="zlib-devel ncurses-devel libressl-devel readline-devel pcre-devel
+makedepends="boost-devel zlib-devel ncurses-devel libressl-devel readline-devel pcre-devel
  libatomic-devel"
 depends="mariadb-client"
 short_desc="Fast SQL database server, drop-in replacement for MySQL"
@@ -27,7 +27,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-only"
 homepage="https://mariadb.org/"
 distfiles="http://archive.mariadb.org/$pkgname-$version/source/$pkgname-$version.tar.gz"
-checksum=173a5e5a24819e0a469c3bd09b5c98491676c37c6095882a2ea34c5af0996c88
+checksum=ff05dd69e9f6992caf1053242db704f04eda6f9accbcc98b74edfaf6013c45c4
 lib32disabled=yes
 provides="mysql-${version}_${revision}"
 replaces="mysql>=0"

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] [help needed] mariadb: update to 10.5.6
  2020-10-15  5:17 [PR PATCH] [WIP] [help needed] mariadb: update to 10.5.6 ArmedAviator
@ 2020-10-16  1:46 ` ArmedAviator
  2021-04-11  4:43 ` Veganizer
  2021-04-15 19:24 ` [PR PATCH] [Closed]: " Johnnynator
  2 siblings, 0 replies; 4+ messages in thread
From: ArmedAviator @ 2020-10-16  1:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1502 bytes --]

There is an updated pull request by ArmedAviator against master on the void-packages repository

https://github.com/ArmedAviator/void-packages mariadb
https://github.com/void-linux/void-packages/pull/25618

[WIP] [help needed] mariadb: update to 10.5.6
Trying to get MariaDB updated to the latest (More than 2 years of advancement since current available version).

It builds on glibc amd64, no patches thus far, but does not complete the post-install due to needing work.

`/usr/bin/install: cannot stat '/destdir//mariadb-10.5.6/usr/share/mysql/my-medium.cnf': No such file or directory
=> ERROR: mariadb-10.5.6_1: post_install: 'install -Dm644 ${DESTDIR}/usr/share/mysql/my-medium.cnf ${DESTDIR}/etc/mysql/my.cnf' exited with 1
=> ERROR:   in post_install() at srcpkgs/mariadb/template:83`

The available .cnf files that I think we want copied are....
`./debian/additions/mariadb.cnf
./debian/additions/mariadb.conf.d/50-server.cnf
./debian/additions/mariadb.conf.d/50-client.cnf
./debian/additions/mariadb.conf.d/50-mysql-clients.cnf
./debian/additions/mariadb.conf.d/50-mysqld_safe.cnf
./debian/additions/mariadb.conf.d/60-galera.cnf`

Can anyone give input, confirm?  How would the install directive change to install/copy the folder instead of a file?

Additionally, I don't know if all of the best build options are set as I'm still a novice with this stuff.  Input requested, please!

A patch file from https://github.com/void-linux/void-packages/pull/25618.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mariadb-25618.patch --]
[-- Type: text/x-diff, Size: 22134 bytes --]

From eb294d84545e321dfa9ae4e6b18ee7fb98dde8b3 Mon Sep 17 00:00:00 2001
From: Rich Gannon <rich@rchgannon.net>
Date: Thu, 15 Oct 2020 01:12:08 -0400
Subject: [PATCH] mariadb: update to 10.5.6

---
 srcpkgs/mariadb/patches/fix-cross.patch       |  17 -
 .../mariadb/patches/fix-pthread-detach.patch  |  34 --
 .../mariadb/patches/force-c11-atomics.patch   | 294 ------------------
 srcpkgs/mariadb/patches/libatomic.patch       | 103 ------
 srcpkgs/mariadb/patches/musl-ppc.patch        |  27 --
 srcpkgs/mariadb/patches/musl_ucontext-h.patch |  11 -
 srcpkgs/mariadb/template                      |   9 +-
 7 files changed, 5 insertions(+), 490 deletions(-)
 delete mode 100644 srcpkgs/mariadb/patches/fix-cross.patch
 delete mode 100644 srcpkgs/mariadb/patches/fix-pthread-detach.patch
 delete mode 100644 srcpkgs/mariadb/patches/force-c11-atomics.patch
 delete mode 100644 srcpkgs/mariadb/patches/libatomic.patch
 delete mode 100644 srcpkgs/mariadb/patches/musl-ppc.patch
 delete mode 100644 srcpkgs/mariadb/patches/musl_ucontext-h.patch

diff --git a/srcpkgs/mariadb/patches/fix-cross.patch b/srcpkgs/mariadb/patches/fix-cross.patch
deleted file mode 100644
index 24605dae885..00000000000
--- a/srcpkgs/mariadb/patches/fix-cross.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- ./CMakeLists.txt.orig	2015-09-17 15:47:59.794784111 -0400
-+++ ./CMakeLists.txt	2015-09-19 19:42:16.751348473 -0400
-@@ -362,10 +376,10 @@
- 
- CHECK_PCRE()
- 
--IF(CMAKE_CROSSCOMPILING)
--  SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
--  INCLUDE(${IMPORT_EXECUTABLES})
--ENDIF()
-+# IF(CMAKE_CROSSCOMPILING)
-+#   SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
-+#   INCLUDE(${IMPORT_EXECUTABLES})
-+# ENDIF()
- 
- #
- # Setup maintainer mode options. Platform checks are
diff --git a/srcpkgs/mariadb/patches/fix-pthread-detach.patch b/srcpkgs/mariadb/patches/fix-pthread-detach.patch
deleted file mode 100644
index a53c05b1320..00000000000
--- a/srcpkgs/mariadb/patches/fix-pthread-detach.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c45b4a774b6d1404a080a1c1759f780fa78f223b Mon Sep 17 00:00:00 2001
-From: Sergey Vojtovich <svoj@mariadb.org>
-Date: Fri, 21 Sep 2018 16:04:16 +0400
-Subject: [PATCH] MDEV-17200 - pthread_detach called for already detached
- threads
-
-pthread_detach_this_thread() was intended to be defined to something
-meaningful only on some ancient unixes, which don't have
-pthread_attr_setdetachstate() defined. Otherwise, on normal unixes,
-threads are created detached in the first place.
-
-This was broken in 0f01bf267680244ec488adaf65a42838756ed48e so that
-we started calling pthread_detach() for already detached threads.
-Intention was to detach aria checkpoint thread.
-
-However in 87007dc2f71634cc460271eb277ad851ec69c04b aria service threads
-were made joinable with appropriate handling, which makes breaking
-revision unneccessary.
-
-Revert remnants of 0f01bf267680244ec488adaf65a42838756ed48e, so that
-pthread_detach_this_thread() is meaningful only on some ancient unixes
-again.
-
---- include/my_pthread.h
-+++ include/my_pthread.h
-@@ -184,7 +184,7 @@ int pthread_cancel(pthread_t thread);
- #define pthread_key(T,V) pthread_key_t V
- #define my_pthread_getspecific_ptr(T,V) my_pthread_getspecific(T,(V))
- #define my_pthread_setspecific_ptr(T,V) pthread_setspecific(T,(void*) (V))
--#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); }
-+#define pthread_detach_this_thread()
- #define pthread_handler_t EXTERNC void *
- typedef void *(* pthread_handler)(void *);
- 
diff --git a/srcpkgs/mariadb/patches/force-c11-atomics.patch b/srcpkgs/mariadb/patches/force-c11-atomics.patch
deleted file mode 100644
index 9546798bf97..00000000000
--- a/srcpkgs/mariadb/patches/force-c11-atomics.patch
+++ /dev/null
@@ -1,294 +0,0 @@
---- include/my_atomic.h
-+++ include/my_atomic.h
-@@ -104,217 +104,6 @@
-   but can be added, if necessary.
- */
- 
--#define intptr         void *
--/**
--  Currently we don't support 8-bit and 16-bit operations.
--  It can be added later if needed.
--*/
--#undef MY_ATOMIC_HAS_8_16
--
--/*
-- * Attempt to do atomic ops without locks
-- */
--#include "atomic/nolock.h"
--
--#ifndef make_atomic_cas_body
--/* nolock.h was not able to generate even a CAS function, fall back */
--#error atomic ops for this platform are not implemented
--#endif
--
--/* define missing functions by using the already generated ones */
--#ifndef make_atomic_add_body
--#define make_atomic_add_body(S)                                 \
--  int ## S tmp=*a;                                              \
--  while (!my_atomic_cas ## S(a, &tmp, tmp+v)) ;                 \
--  v=tmp;
--#endif
--#ifndef make_atomic_fas_body
--#define make_atomic_fas_body(S)                                 \
--  int ## S tmp=*a;                                              \
--  while (!my_atomic_cas ## S(a, &tmp, v)) ;                     \
--  v=tmp;
--#endif
--#ifndef make_atomic_load_body
--#define make_atomic_load_body(S)                                \
--  ret= 0; /* avoid compiler warning */                          \
--  (void)(my_atomic_cas ## S(a, &ret, ret));
--#endif
--#ifndef make_atomic_store_body
--#define make_atomic_store_body(S)                               \
--  (void)(my_atomic_fas ## S (a, v));
--#endif
--
--/*
--  transparent_union doesn't work in g++
--  Bug ?
--
--  Darwin's gcc doesn't want to put pointers in a transparent_union
--  when built with -arch ppc64. Complains:
--  warning: 'transparent_union' attribute ignored
--*/
--#if defined(__GNUC__) && !defined(__cplusplus) && \
--      ! (defined(__APPLE__) && (defined(_ARCH_PPC64) ||defined (_ARCH_PPC)))
--/*
--  we want to be able to use my_atomic_xxx functions with
--  both signed and unsigned integers. But gcc will issue a warning
--  "passing arg N of `my_atomic_XXX' as [un]signed due to prototype"
--  if the signedness of the argument doesn't match the prototype, or
--  "pointer targets in passing argument N of my_atomic_XXX differ in signedness"
--  if int* is used where uint* is expected (or vice versa).
--  Let's shut these warnings up
--*/
--#define make_transparent_unions(S)                              \
--        typedef union {                                         \
--          int  ## S  i;                                         \
--          uint ## S  u;                                         \
--        } U_ ## S   __attribute__ ((transparent_union));        \
--        typedef union {                                         \
--          int  ## S volatile *i;                                \
--          uint ## S volatile *u;                                \
--        } Uv_ ## S   __attribute__ ((transparent_union));
--#define uintptr intptr
--make_transparent_unions(8)
--make_transparent_unions(16)
--make_transparent_unions(32)
--make_transparent_unions(64)
--make_transparent_unions(ptr)
--#undef uintptr
--#undef make_transparent_unions
--#define a       U_a.i
--#define cmp     U_cmp.i
--#define v       U_v.i
--#define set     U_set.i
--#else
--#define U_8    int8
--#define U_16   int16
--#define U_32   int32
--#define U_64   int64
--#define U_ptr  intptr
--#define Uv_8   int8
--#define Uv_16  int16
--#define Uv_32  int32
--#define Uv_64  int64
--#define Uv_ptr intptr
--#define U_a    volatile *a
--#define U_cmp  *cmp
--#define U_v    v
--#define U_set  set
--#endif /* __GCC__ transparent_union magic */
--
--#define make_atomic_cas(S)                                      \
--static inline int my_atomic_cas ## S(Uv_ ## S U_a,              \
--                            Uv_ ## S U_cmp, U_ ## S U_set)      \
--{                                                               \
--  int8 ret;                                                     \
--  make_atomic_cas_body(S);                                      \
--  return ret;                                                   \
--}
--
--#define make_atomic_add(S)                                      \
--static inline int ## S my_atomic_add ## S(                      \
--                        Uv_ ## S U_a, U_ ## S U_v)              \
--{                                                               \
--  make_atomic_add_body(S);                                      \
--  return v;                                                     \
--}
--
--#define make_atomic_fas(S)                                      \
--static inline int ## S my_atomic_fas ## S(                      \
--                         Uv_ ## S U_a, U_ ## S U_v)             \
--{                                                               \
--  make_atomic_fas_body(S);                                      \
--  return v;                                                     \
--}
--
--#define make_atomic_load(S)                                     \
--static inline int ## S my_atomic_load ## S(Uv_ ## S U_a)        \
--{                                                               \
--  int ## S ret;                                                 \
--  make_atomic_load_body(S);                                     \
--  return ret;                                                   \
--}
--
--#define make_atomic_store(S)                                    \
--static inline void my_atomic_store ## S(                        \
--                     Uv_ ## S U_a, U_ ## S U_v)                 \
--{                                                               \
--  make_atomic_store_body(S);                                    \
--}
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_cas(8)
--make_atomic_cas(16)
--#endif
--make_atomic_cas(32)
--make_atomic_cas(64)
--make_atomic_cas(ptr)
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_add(8)
--make_atomic_add(16)
--#endif
--make_atomic_add(32)
--make_atomic_add(64)
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_load(8)
--make_atomic_load(16)
--#endif
--make_atomic_load(32)
--make_atomic_load(64)
--make_atomic_load(ptr)
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_fas(8)
--make_atomic_fas(16)
--#endif
--make_atomic_fas(32)
--make_atomic_fas(64)
--make_atomic_fas(ptr)
--
--#ifdef MY_ATOMIC_HAS_8_16
--make_atomic_store(8)
--make_atomic_store(16)
--#endif
--make_atomic_store(32)
--make_atomic_store(64)
--make_atomic_store(ptr)
--
--#ifdef _atomic_h_cleanup_
--#include _atomic_h_cleanup_
--#undef _atomic_h_cleanup_
--#endif
--
--#undef U_8
--#undef U_16
--#undef U_32
--#undef U_64
--#undef U_ptr
--#undef Uv_8
--#undef Uv_16
--#undef Uv_32
--#undef Uv_64
--#undef Uv_ptr
--#undef a
--#undef cmp
--#undef v
--#undef set
--#undef U_a
--#undef U_cmp
--#undef U_v
--#undef U_set
--#undef make_atomic_add
--#undef make_atomic_cas
--#undef make_atomic_load
--#undef make_atomic_store
--#undef make_atomic_fas
--#undef make_atomic_add_body
--#undef make_atomic_cas_body
--#undef make_atomic_load_body
--#undef make_atomic_store_body
--#undef make_atomic_fas_body
--#undef intptr
--
- /*
-   the macro below defines (as an expression) the code that
-   will be run in spin-loops. Intel manuals recummend to have PAUSE there.
-@@ -328,7 +117,8 @@ make_atomic_store(ptr)
- #define MY_ATOMIC_NOT_1CPU 1
- extern int my_atomic_initialize();
- 
--#ifdef __ATOMIC_SEQ_CST
-+#define MY_ATOMIC_MODE "gcc-atomics-smp"
-+
- #define MY_MEMORY_ORDER_RELAXED __ATOMIC_RELAXED
- #define MY_MEMORY_ORDER_CONSUME __ATOMIC_CONSUME
- #define MY_MEMORY_ORDER_ACQUIRE __ATOMIC_ACQUIRE
-@@ -364,43 +154,27 @@ extern int my_atomic_initialize();
-   __atomic_compare_exchange_n((P), (E), (D), false, (S), (F))
- #define my_atomic_casptr_strong_explicit(P, E, D, S, F) \
-   __atomic_compare_exchange_n((P), (E), (D), false, (S), (F))
--#else
--#define MY_MEMORY_ORDER_RELAXED
--#define MY_MEMORY_ORDER_CONSUME
--#define MY_MEMORY_ORDER_ACQUIRE
--#define MY_MEMORY_ORDER_RELEASE
--#define MY_MEMORY_ORDER_ACQ_REL
--#define MY_MEMORY_ORDER_SEQ_CST
--
--#define my_atomic_store32_explicit(P, D, O) my_atomic_store32((P), (D))
--#define my_atomic_store64_explicit(P, D, O) my_atomic_store64((P), (D))
--#define my_atomic_storeptr_explicit(P, D, O) my_atomic_storeptr((P), (D))
--
--#define my_atomic_load32_explicit(P, O) my_atomic_load32((P))
--#define my_atomic_load64_explicit(P, O) my_atomic_load64((P))
--#define my_atomic_loadptr_explicit(P, O) my_atomic_loadptr((P))
--
--#define my_atomic_fas32_explicit(P, D, O) my_atomic_fas32((P), (D))
--#define my_atomic_fas64_explicit(P, D, O) my_atomic_fas64((P), (D))
--#define my_atomic_fasptr_explicit(P, D, O) my_atomic_fasptr((P), (D))
--
--#define my_atomic_add32_explicit(P, A, O) my_atomic_add32((P), (A))
--#define my_atomic_add64_explicit(P, A, O) my_atomic_add64((P), (A))
--#define my_atomic_addptr_explicit(P, A, O) my_atomic_addptr((P), (A))
- 
--#define my_atomic_cas32_weak_explicit(P, E, D, S, F) \
--  my_atomic_cas32((P), (E), (D))
--#define my_atomic_cas64_weak_explicit(P, E, D, S, F) \
--  my_atomic_cas64((P), (E), (D))
--#define my_atomic_casptr_weak_explicit(P, E, D, S, F) \
--  my_atomic_casptr((P), (E), (D))
-+#define my_atomic_store32(P, D) __atomic_store_n((P), (D), __ATOMIC_SEQ_CST)
-+#define my_atomic_store64(P, D) __atomic_store_n((P), (D), __ATOMIC_SEQ_CST)
-+#define my_atomic_storeptr(P, D) __atomic_store_n((P), (D), __ATOMIC_SEQ_CST)
- 
--#define my_atomic_cas32_strong_explicit(P, E, D, S, F) \
--  my_atomic_cas32((P), (E), (D))
--#define my_atomic_cas64_strong_explicit(P, E, D, S, F) \
--  my_atomic_cas64((P), (E), (D))
--#define my_atomic_casptr_strong_explicit(P, E, D, S, F) \
--  my_atomic_casptr((P), (E), (D))
--#endif
-+#define my_atomic_load32(P) __atomic_load_n((P), __ATOMIC_SEQ_CST)
-+#define my_atomic_load64(P) __atomic_load_n((P), __ATOMIC_SEQ_CST)
-+#define my_atomic_loadptr(P) __atomic_load_n((P), __ATOMIC_SEQ_CST)
-+
-+#define my_atomic_fas32(P, D) __atomic_exchange_n((P), (D), __ATOMIC_SEQ_CST)
-+#define my_atomic_fas64(P, D) __atomic_exchange_n((P), (D), __ATOMIC_SEQ_CST)
-+#define my_atomic_fasptr(P, D) __atomic_exchange_n((P), (D), __ATOMIC_SEQ_CST)
-+
-+#define my_atomic_add32(P, A) __atomic_fetch_add((P), (A), __ATOMIC_SEQ_CST)
-+#define my_atomic_add64(P, A) __atomic_fetch_add((P), (A), __ATOMIC_SEQ_CST)
-+
-+#define my_atomic_cas32(P, E, D) \
-+  __atomic_compare_exchange_n((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
-+#define my_atomic_cas64(P, E, D) \
-+  __atomic_compare_exchange_n((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
-+#define my_atomic_casptr(P, E, D) \
-+  __atomic_compare_exchange_n((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
- 
- #endif /* MY_ATOMIC_INCLUDED */
diff --git a/srcpkgs/mariadb/patches/libatomic.patch b/srcpkgs/mariadb/patches/libatomic.patch
deleted file mode 100644
index 0e8e872d9c2..00000000000
--- a/srcpkgs/mariadb/patches/libatomic.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Source: Debian, q66
-
-This ensures arches that need libatomic properly get it where necessary.
-It also removes the sync builtin checks that are not necessary when
-using C11 atomics (like we always are because we're on a modern gcc)
-that break build on e.g. ppc32 and mips.
-
---- configure.cmake
-+++ configure.cmake
-@@ -992,35 +992,19 @@ SET(SIGNAL_WITH_VIO_CLOSE 1)
- 
- MARK_AS_ADVANCED(NO_ALARM)
- 
--
--IF(WITH_ATOMIC_OPS STREQUAL "up")
--  SET(MY_ATOMIC_MODE_DUMMY 1 CACHE BOOL "Assume single-CPU mode, no concurrency")
--ELSEIF(WITH_ATOMIC_OPS STREQUAL "smp")
--ELSEIF(NOT WITH_ATOMIC_OPS)
--  CHECK_CXX_SOURCE_COMPILES("
--  int main()
--  {
--    int foo= -10; int bar= 10;
--    long long int foo64= -10; long long int bar64= 10;
--    if (!__sync_fetch_and_add(&foo, bar) || foo)
--      return -1;
--    bar= __sync_lock_test_and_set(&foo, bar);
--    if (bar || foo != 10)
--      return -1;
--    bar= __sync_val_compare_and_swap(&bar, foo, 15);
--    if (bar)
--      return -1;
--    if (!__sync_fetch_and_add(&foo64, bar64) || foo64)
--      return -1;
--    bar64= __sync_lock_test_and_set(&foo64, bar64);
--    if (bar64 || foo64 != 10)
--      return -1;
--    bar64= __sync_val_compare_and_swap(&bar64, foo, 15);
--    if (bar64)
--      return -1;
--    return 0;
--  }"
--  HAVE_GCC_ATOMIC_BUILTINS)
-+CHECK_CXX_SOURCE_COMPILES("
-+int main()
-+{
-+  long long int var= 1;
-+  long long int *ptr= &var;
-+  return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
-+}"
-+HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
-+IF (HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
-+  SET(HAVE_GCC_C11_ATOMICS True)
-+ELSE()
-+  SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-+  LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
-   CHECK_CXX_SOURCE_COMPILES("
-   int main()
-   {
-@@ -1028,14 +1012,13 @@ ELSEIF(NOT WITH_ATOMIC_OPS)
-     long long int *ptr= &var;
-     return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
-   }"
--  HAVE_GCC_C11_ATOMICS)
--ELSE()
--  MESSAGE(FATAL_ERROR "${WITH_ATOMIC_OPS} is not a valid value for WITH_ATOMIC_OPS!")
-+  HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+  IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+    SET(HAVE_GCC_C11_ATOMICS True)
-+  ENDIF()
-+  SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
- ENDIF()
- 
--SET(WITH_ATOMIC_OPS "${WITH_ATOMIC_OPS}" CACHE STRING "Implement atomic operations using atomic CPU instructions for multi-processor (smp) or uniprocessor (up) configuration. By default gcc built-in sync functions are used, if available and 'smp' configuration otherwise.")
--MARK_AS_ADVANCED(WITH_ATOMIC_OPS MY_ATOMIC_MODE_DUMMY)
--
- IF(WITH_VALGRIND)
-   SET(HAVE_valgrind 1)
- ENDIF()
---- mysys/CMakeLists.txt
-+++ mysys/CMakeLists.txt
-@@ -74,6 +74,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings mysys_ssl ${ZLIB_LIBRARY}
-  ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO})
- DTRACE_INSTRUMENT(mysys)
- 
-+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+  TARGET_LINK_LIBRARIES(mysys atomic)
-+ENDIF()
-+
- IF(HAVE_BFD_H)
-   TARGET_LINK_LIBRARIES(mysys bfd)  
- ENDIF(HAVE_BFD_H)
---- sql/CMakeLists.txt
-+++ sql/CMakeLists.txt
-@@ -172,6 +172,9 @@ ELSE()
-   SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
- ENDIF()
- 
-+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+  TARGET_LINK_LIBRARIES(sql atomic)
-+ENDIF()
- 
- IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS)
- 
diff --git a/srcpkgs/mariadb/patches/musl-ppc.patch b/srcpkgs/mariadb/patches/musl-ppc.patch
deleted file mode 100644
index 16cbac71a94..00000000000
--- a/srcpkgs/mariadb/patches/musl-ppc.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-This header does not exist on musl, but there has been a
-builtin for this in gcc for ages, so just use that instead.
-
---- storage/innobase/include/ut0ut.h
-+++ storage/innobase/include/ut0ut.h
-@@ -89,8 +89,7 @@ struct ut_when_dtor {
-    independent way by using YieldProcessor. */
- #  define UT_RELAX_CPU() YieldProcessor()
- # elif defined(__powerpc__)
--#include <sys/platform/ppc.h>
--#  define UT_RELAX_CPU() __ppc_get_timebase()
-+#  define UT_RELAX_CPU() __builtin_ppc_get_timebase()
- # else
- #  define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */
- # endif
---- storage/xtradb/include/ut0ut.h
-+++ storage/xtradb/include/ut0ut.h
-@@ -86,8 +86,7 @@ struct ut_when_dtor {
-    independent way by using YieldProcessor. */
- #  define UT_RELAX_CPU() YieldProcessor()
- # elif defined(__powerpc__)
--#include <sys/platform/ppc.h>
--#  define UT_RELAX_CPU() __ppc_get_timebase()
-+#  define UT_RELAX_CPU() __builtin_ppc_get_timebase()
- # else
- #  define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */
- # endif
diff --git a/srcpkgs/mariadb/patches/musl_ucontext-h.patch b/srcpkgs/mariadb/patches/musl_ucontext-h.patch
deleted file mode 100644
index 99ac0a6cd75..00000000000
--- a/srcpkgs/mariadb/patches/musl_ucontext-h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./include/my_context.h.orig	2016-02-24 09:25:21.000000000 -0500
-+++ ./include/my_context.h	2016-02-28 15:14:29.098180308 -0500
-@@ -31,7 +31,7 @@
- #define MY_CONTEXT_USE_X86_64_GCC_ASM
- #elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__)
- #define MY_CONTEXT_USE_I386_GCC_ASM
--#elif defined(HAVE_UCONTEXT_H)
-+#elif defined (__GLIBC__) && defined(HAVE_UCONTEXT_H)
- #define MY_CONTEXT_USE_UCONTEXT
- #else
- #define MY_CONTEXT_DISABLE
diff --git a/srcpkgs/mariadb/template b/srcpkgs/mariadb/template
index 2a99794e073..2062382c53e 100644
--- a/srcpkgs/mariadb/template
+++ b/srcpkgs/mariadb/template
@@ -1,7 +1,7 @@
 # Template file for 'mariadb'
 pkgname=mariadb
-version=10.1.30
-revision=9
+version=10.5.6
+revision=1
 build_style=cmake
 configure_args="-DMYSQL_DATADIR=/var/lib/mysql
  -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock -DDEFAULT_CHARSET=utf8
@@ -12,6 +12,7 @@ configure_args="-DMYSQL_DATADIR=/var/lib/mysql
  -DINSTALL_SUPPORTFILESDIR=share/mysql -DINSTALL_MYSQLSHAREDIR=share/mysql
  -DINSTALL_DOCDIR=share/mysql/docs -DINSTALL_SHAREDIR=share/mysql
  -DWITH_ZLIB=system -DWITH_READLINE=ON -DWITH_SSL=system
+ -DWITH_WSREP=ON -DWITH_INNODB_DISALLOW_WRITES=ON
  -DWITH_EMBEDDED_SERVER=ON -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DPLUGIN_TOKUDB=NO
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1
  -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
@@ -19,7 +20,7 @@ configure_args="-DMYSQL_DATADIR=/var/lib/mysql
  -DWITHOUT_PBXT_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1"
 hostmakedepends="perl bison ncurses-devel libressl-devel libatomic-devel
  pkg-config"
-makedepends="zlib-devel ncurses-devel libressl-devel readline-devel pcre-devel
+makedepends="boost-devel zlib-devel ncurses-devel libressl-devel readline-devel pcre-devel
  libatomic-devel"
 depends="mariadb-client"
 short_desc="Fast SQL database server, drop-in replacement for MySQL"
@@ -27,7 +28,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-only"
 homepage="https://mariadb.org/"
 distfiles="http://archive.mariadb.org/$pkgname-$version/source/$pkgname-$version.tar.gz"
-checksum=173a5e5a24819e0a469c3bd09b5c98491676c37c6095882a2ea34c5af0996c88
+checksum=ff05dd69e9f6992caf1053242db704f04eda6f9accbcc98b74edfaf6013c45c4
 lib32disabled=yes
 provides="mysql-${version}_${revision}"
 replaces="mysql>=0"

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [WIP] [help needed] mariadb: update to 10.5.6
  2020-10-15  5:17 [PR PATCH] [WIP] [help needed] mariadb: update to 10.5.6 ArmedAviator
  2020-10-16  1:46 ` [PR PATCH] [Updated] " ArmedAviator
@ 2021-04-11  4:43 ` Veganizer
  2021-04-15 19:24 ` [PR PATCH] [Closed]: " Johnnynator
  2 siblings, 0 replies; 4+ messages in thread
From: Veganizer @ 2021-04-11  4:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 448 bytes --]

New comment by Veganizer on void-packages repository

https://github.com/void-linux/void-packages/pull/25618#issuecomment-817246578

Comment:
Following statement: However, these option files are now very dated for modern servers, so they were removed in MariaDB 10.3.1.
Seems that config files like my.cnf are deprecated.

Have done a new update here: https://github.com/void-linux/void-packages/pull/30143
But cross-compile fix it needed. :-/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Closed]: [WIP] [help needed] mariadb: update to 10.5.6
  2020-10-15  5:17 [PR PATCH] [WIP] [help needed] mariadb: update to 10.5.6 ArmedAviator
  2020-10-16  1:46 ` [PR PATCH] [Updated] " ArmedAviator
  2021-04-11  4:43 ` Veganizer
@ 2021-04-15 19:24 ` Johnnynator
  2 siblings, 0 replies; 4+ messages in thread
From: Johnnynator @ 2021-04-15 19:24 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1336 bytes --]

There's a closed pull request on the void-packages repository

[WIP] [help needed] mariadb: update to 10.5.6
https://github.com/void-linux/void-packages/pull/25618

Description:
Trying to get MariaDB updated to the latest (More than 2 years of advancement since current available version).

It builds on glibc amd64, no patches thus far, but does not complete the post-install due to needing work.

`/usr/bin/install: cannot stat '/destdir//mariadb-10.5.6/usr/share/mysql/my-medium.cnf': No such file or directory
=> ERROR: mariadb-10.5.6_1: post_install: 'install -Dm644 ${DESTDIR}/usr/share/mysql/my-medium.cnf ${DESTDIR}/etc/mysql/my.cnf' exited with 1
=> ERROR:   in post_install() at srcpkgs/mariadb/template:83`

The available .cnf files that I think we want copied are....
`./debian/additions/mariadb.cnf
./debian/additions/mariadb.conf.d/50-server.cnf
./debian/additions/mariadb.conf.d/50-client.cnf
./debian/additions/mariadb.conf.d/50-mysql-clients.cnf
./debian/additions/mariadb.conf.d/50-mysqld_safe.cnf
./debian/additions/mariadb.conf.d/60-galera.cnf`

Can anyone give input, confirm?  How would the install directive change to install/copy the folder instead of a file?

Additionally, I don't know if all of the best build options are set as I'm still a novice with this stuff.  Input requested, please!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-04-15 19:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-15  5:17 [PR PATCH] [WIP] [help needed] mariadb: update to 10.5.6 ArmedAviator
2020-10-16  1:46 ` [PR PATCH] [Updated] " ArmedAviator
2021-04-11  4:43 ` Veganizer
2021-04-15 19:24 ` [PR PATCH] [Closed]: " Johnnynator

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).