* [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).