mariadb: fix liburing dependency
authorRosen Penev <[email protected]>
Tue, 29 Apr 2025 22:21:32 +0000 (15:21 -0700)
committerTianling Shen <[email protected]>
Wed, 30 Apr 2025 06:51:28 +0000 (14:51 +0800)
CMake is way too opertunistic. Avoid the dependency by manually handling
it.

Signed-off-by: Rosen Penev <[email protected]>
utils/mariadb/Makefile
utils/mariadb/patches/110-remove-uring-libaio-checks.patch [new file with mode: 0644]

index fa24079f941ecacb0b61952f8c7c8faa76a1edae..4714ba7b354fe63f780f9037b5215e7a613aaa49 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mariadb
 PKG_VERSION:=11.4.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL := https://archive.mariadb.org/$(PKG_NAME)-$(PKG_VERSION)/source
@@ -372,6 +372,7 @@ CMAKE_OPTIONS += \
        -DWITH_INNODB_LZO=OFF \
        -DWITH_INNODB_SNAPPY=OFF \
        -DWITH_JEMALLOC=OFF \
+       -DWITH_LIBAIO=$(if $(CONFIG_KERNEL_IO_URING),OFF,ON) \
        -DWITH_LIBARCHIVE=OFF \
        -DWITH_LIBFMT=system \
        -DWITH_LIBWRAP=OFF \
@@ -381,6 +382,7 @@ CMAKE_OPTIONS += \
        -DWITH_SAFEMALLOC=OFF \
        -DWITH_SSL=system \
        -DWITH_SYSTEMD=no \
+       -DWITH_URING=$(if $(CONFIG_KERNEL_IO_URING),ON,OFF) \
        -DWITH_VALGRIND=OFF \
        -DWITH_ZLIB=system
 
diff --git a/utils/mariadb/patches/110-remove-uring-libaio-checks.patch b/utils/mariadb/patches/110-remove-uring-libaio-checks.patch
new file mode 100644 (file)
index 0000000..214d92e
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/tpool/CMakeLists.txt
++++ b/tpool/CMakeLists.txt
+@@ -9,7 +9,9 @@ ELSEIF(CMAKE_SYSTEM_NAME STREQUAL "Linux
+   ELSEIF(WITH_LIBAIO)
+     SET(LIBAIO_REQUIRED REQUIRED)
+   ENDIF()
+-  FIND_PACKAGE(URING QUIET ${URING_REQUIRED})
++  IF(WITH_URING)
++    FIND_PACKAGE(URING QUIET ${URING_REQUIRED})
++  ENDIF()
+   IF(URING_FOUND)
+     SET(URING_FOUND ${URING_FOUND} PARENT_SCOPE)
+     SET(TPOOL_DEFINES "-DHAVE_URING" PARENT_SCOPE)