gentoo/net-dns/knot/files/knot-3.5.0-full_redis_opt.patch
Nicolas PARLANT e77e694f3a
net-dns/knot: add 3.5.0
relicense w/ GPL2+
new subslot
add redis support for daemon with dev-libs/hiredis
remove -latomic for riscv (seems no longer required for a long time,
but it’s been tested now).

Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/43849
Signed-off-by: Sam James <sam@gentoo.org>
2025-09-20 10:15:43 +01:00

63 lines
2.9 KiB
Diff

PR merged
https://gitlab.nic.cz/knot/knot-dns/-/merge_requests/1808.patch
From bd5df719f331c5aa78fbd1ca1dadfe6dd727b94d Mon Sep 17 00:00:00 2001
From: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Date: Fri, 19 Sep 2025 10:36:55 +0200
Subject: [PATCH] Make redis fully optional
Add options :
*client (only) for a knot package
*module (only) for a redis-knot package
--- a/configure.ac
+++ b/configure.ac
@@ -261,21 +261,23 @@ AS_IF([test "$enable_reuseport" = yes],[
# Redis zone backend support
AC_ARG_ENABLE([redis],
- AS_HELP_STRING([--enable-redis=auto|yes|no], [enable Redis support [default=auto]]),
+ AS_HELP_STRING([--enable-redis=auto|yes|client|module|no], [enable Redis support [default=auto]]),
[], [enable_redis=auto])
PKG_CHECK_MODULES([hiredis], [hiredis], [have_hiredis=yes], [have_hiredis=no])
AS_CASE([$enable_redis],
- [auto], [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=yes], [enable_redis=no])],
- [yes], [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=yes], [AC_MSG_ERROR([libhiredis not available])])],
+ [auto], [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=yes], [enable_redis=no])],
+ [yes], [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=yes], [AC_MSG_ERROR([libhiredis not available])])],
+ [client], [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=client], [AC_MSG_ERROR([libhiredis not available])])],
+ [module], [AS_IF([test "$enable_shared" = "yes"], [enable_redis=module], [AC_MSG_ERROR([link mode has to be 'shared'])])],
[no], [],
[*], [AC_MSG_ERROR([Invalid value of --enable-redis.])]
)
AM_CONDITIONAL([ENABLE_REDIS], [test "$enable_redis" != "no"])
-AM_CONDITIONAL([ENABLE_REDIS_MODULE], [test "$enable_redis" != "no" && test "$enable_shared" = "yes"])
+AM_CONDITIONAL([ENABLE_REDIS_MODULE], [test "$enable_redis" != "no" && test "$enable_redis" != "client" && test "$enable_shared" = "yes"])
-AS_IF([test "$enable_redis" = yes],[
+AS_IF([test "$enable_redis" = yes -o "$enable_redis" = client],[
AC_DEFINE([ENABLE_REDIS], [1], [Enable Redis support.])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <hiredis/hiredis.h>
#if (HIREDIS_MAJOR < 1) || (HIREDIS_MAJOR == 1 && HIREDIS_MINOR < 1)
@@ -283,7 +285,7 @@ AS_IF([test "$enable_redis" = yes],[
#endif]])],
[AC_DEFINE([ENABLE_REDIS_TLS], [1], [Enable Redis TLS support.])],
[enable_redis="yes (no TLS)"])
- AS_IF([test "$enable_shared" = yes],[
+ AS_IF([test "$enable_redis" = yes && test "$enable_shared" = yes],[
enable_redis="${enable_redis} module"
])
])
@@ -515,7 +517,7 @@ PKG_CHECK_MODULES([lmdb], [lmdb >= 0.9.15], [], [
CPPFLAGS="$save_CPPFLAGS"
LIBS="$save_LIBS"
- AS_IF([test "$have_lmdb" = "no"], [
+ AS_IF([test "$have_lmdb" = "no" && test "$enable_redis" != "module"], [
AC_MSG_ERROR([lmdb library not found])
])
])
--
GitLab