mirror of
https://github.com/openwrt/packages.git
synced 2025-12-10 04:31:21 +00:00
libmariadb: update to 3.4.5
Backport upstream patch fixing compilation with GCC 15. Remove upstreamed patch. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
committed by
Tianling Shen
parent
d3c5050e35
commit
ac5377e031
@@ -6,7 +6,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libmariadb
|
||||
PKG_VERSION:=3.4.1
|
||||
PKG_VERSION:=3.4.5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=mariadb-connector-c-$(PKG_VERSION)-src.tar.gz
|
||||
@@ -14,7 +14,7 @@ PKG_SOURCE_URL:=\
|
||||
https://mirror.netcologne.de/mariadb/connector-c-$(PKG_VERSION) \
|
||||
https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/connector-c-$(PKG_VERSION) \
|
||||
https://dlm.mariadb.com/3907132/Connectors/c/connector-c-$(PKG_VERSION)
|
||||
PKG_HASH:=0a7f2522a44a7369c1dda89676e43485037596a7b1534898448175178aedeb4d
|
||||
PKG_HASH:=b17e193816cb25c3364c2cc92a0ad3f1d0ad9f0f484dc76b8e7bdb5b50eac1a3
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/mariadb-connector-c-$(PKG_VERSION)-src
|
||||
|
||||
PKG_MAINTAINER:=Michal Hrusecky <Michal@Hrusecky.net>
|
||||
|
||||
@@ -10,20 +10,9 @@ of the ucontext.h C-API.
|
||||
Thus additionally link libmariadb to libucontext which is a library
|
||||
providing these system calls on platforms not supporting them out of
|
||||
the box - like musl based platforms.
|
||||
--- a/libmariadb/CMakeLists.txt
|
||||
+++ b/libmariadb/CMakeLists.txt
|
||||
@@ -458,7 +458,7 @@ ELSE()
|
||||
SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C)
|
||||
ENDIF()
|
||||
|
||||
-TARGET_LINK_LIBRARIES(libmariadb LINK_PRIVATE ${SYSTEM_LIBS} ${CRYPTO_LIBS})
|
||||
+TARGET_LINK_LIBRARIES(libmariadb LINK_PRIVATE ${SYSTEM_LIBS} ${CRYPTO_LIBS} ${LIBUCONTEXT_POSIX} ${LIBUCONTEXT})
|
||||
|
||||
SIGN_TARGET(libmariadb)
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -251,6 +251,14 @@ IF(UNIX)
|
||||
@@ -263,11 +263,19 @@ IF(UNIX)
|
||||
SEARCH_LIBRARY(LIBPTHREAD pthread_getspecific "pthread;pthreads")
|
||||
SEARCH_LIBRARY(LIBNSL gethostbyname_r "nsl_r;nsl")
|
||||
SEARCH_LIBRARY(LIBSOCKET setsockopt socket)
|
||||
@@ -37,23 +26,30 @@ the box - like musl based platforms.
|
||||
+ ENDIF()
|
||||
FIND_PACKAGE(Threads)
|
||||
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LIBNSL} ${LIBBIND} ${LIBICONV} ${ZLIB_LIBRARY}
|
||||
${LIBSOCKET} ${CMAKE_DL_LIBS} ${LIBM} ${LIBPTHREAD})
|
||||
- ${LIBSOCKET} ${CMAKE_DL_LIBS} ${LIBM} ${LIBPTHREAD})
|
||||
+ ${LIBSOCKET} ${LIBUCONTEXT} ${LIBUCONTEXT_POSIX} ${CMAKE_DL_LIBS} ${LIBM} ${LIBPTHREAD})
|
||||
SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBNSL} ${LIBBIND} ${LIBICONV}
|
||||
- ${LIBSOCKET} ${CMAKE_DL_LIBS} ${LIBM} ${LIBPTHREAD})
|
||||
+ ${LIBSOCKET} ${LIBUCONTEXT} ${LIBUCONTEXT_POSIX} ${CMAKE_DL_LIBS} ${LIBM} ${LIBPTHREAD})
|
||||
#remove possible dups from required libraries
|
||||
LIST(LENGTH CMAKE_REQUIRED_LIBRARIES rllength)
|
||||
IF(${rllength} GREATER 0)
|
||||
--- a/include/ma_config.h.in
|
||||
+++ b/include/ma_config.h.in
|
||||
@@ -28,6 +28,7 @@
|
||||
@@ -29,6 +29,7 @@
|
||||
#cmakedefine HAVE_SYS_UN_H 1
|
||||
#cmakedefine HAVE_UNISTD_H 1
|
||||
#cmakedefine HAVE_UCONTEXT_H 1
|
||||
+#cmakedefine HAVE_LIBUCONTEXT_POSIX 1
|
||||
#cmakedefine HAVE_BOOST_CONTEXT_H 1
|
||||
|
||||
/*
|
||||
* function definitions - processed in LibmysqlFunctions.txt
|
||||
--- a/include/ma_context.h
|
||||
+++ b/include/ma_context.h
|
||||
@@ -32,7 +32,7 @@
|
||||
#define MY_CONTEXT_USE_X86_64_GCC_ASM
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__)
|
||||
#define MY_CONTEXT_USE_I386_GCC_ASM
|
||||
@@ -61,7 +61,7 @@
|
||||
#define MY_CONTEXT_USE_AARCH64_GCC_ASM
|
||||
#elif defined(HAVE_BOOST_CONTEXT_H)
|
||||
#define MY_CONTEXT_USE_BOOST_CONTEXT
|
||||
-#elif defined(HAVE_UCONTEXT_H)
|
||||
+#elif defined(HAVE_UCONTEXT_H) || defined(HAVE_LIBUCONTEXT_POSIX)
|
||||
#define MY_CONTEXT_USE_UCONTEXT
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
--- a/libmariadb/ma_context.c
|
||||
+++ b/libmariadb/ma_context.c
|
||||
@@ -92,6 +92,9 @@ my_context_spawn(struct my_context *c, v
|
||||
{
|
||||
int err;
|
||||
union pass_void_ptr_as_2_int u;
|
||||
+ // Avoid 'may be used uninitialized' error on 32-bit systems
|
||||
+ // upstream issue: https://jira.mariadb.org/browse/CONC-725
|
||||
+ u.a[1] = 0;
|
||||
|
||||
err= getcontext(&c->spawned_context);
|
||||
if (err)
|
||||
28
libs/libmariadb/patches/020-gcc15.patch
Normal file
28
libs/libmariadb/patches/020-gcc15.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
From b10b76e5a2b983d86bd487873608abce8e0d507b Mon Sep 17 00:00:00 2001
|
||||
From: Michal Schorm <mschorm@redhat.com>
|
||||
Date: Wed, 12 Feb 2025 15:17:39 +0100
|
||||
Subject: [PATCH] Fix compilation with GCC 15
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
| In file included from /builddir/build/BUILD/mariadb-connector-c-3.4.3-build/mariadb-connector-c-3.4.3-src/plugins/auth/dialog.c:23:
|
||||
| /builddir/build/BUILD/mariadb-connector-c-3.4.3-build/mariadb-connector-c-3.4.3-src/include/ma_global.h:687:25: error: ‘bool’ cannot be defined via ‘typedef’
|
||||
| 687 | typedef char bool; /* Ordinary boolean values 0 1 */
|
||||
| | ^~~~
|
||||
| /builddir/build/BUILD/mariadb-connector-c-3.4.3-build/mariadb-connector-c-3.4.3-src/include/ma_global.h:687:25: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
|
||||
---
|
||||
include/ma_global.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/include/ma_global.h
|
||||
+++ b/include/ma_global.h
|
||||
@@ -683,7 +683,7 @@ typedef unsigned long size_s; /* Size of
|
||||
typedef int myf; /* Type of MyFlags in my_funcs */
|
||||
typedef char my_bool; /* Small bool */
|
||||
typedef unsigned long long my_ulonglong;
|
||||
-#if !defined(bool) && !defined(bool_defined) && (!defined(HAVE_BOOL) || !defined(__cplusplus))
|
||||
+#if !defined(bool) && !defined(bool_defined) && (!defined(HAVE_BOOL) || !defined(__cplusplus)) && (__STDC_VERSION__ < 202300L)
|
||||
typedef char bool; /* Ordinary boolean values 0 1 */
|
||||
#endif
|
||||
/* Macros for converting *constants* to the right type */
|
||||
Reference in New Issue
Block a user