File 0009-Fix-the-build-with-Samba-4.20.patch of Package sssd

From 343ff2defb9e35498d058125e7bafacd0ddee649 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <gd@samba.org>
Date: Wed, 31 Jan 2024 10:42:40 +0100
Subject: [PATCH] Fix the build with Samba 4.20

Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>

Reviewed-by: Sumit Bose <sbose@redhat.com>
(cherry picked from commit 1bf51929a48b84d62ac54f2a42f17e7fbffe1612)
---
 src/external/samba.m4 | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/external/samba.m4 b/src/external/samba.m4
index 23e529100..f54e8c1a8 100644
--- a/src/external/samba.m4
+++ b/src/external/samba.m4
@@ -4,6 +4,7 @@ AC_SUBST(SMBCLIENT_CFLAGS)
 AC_SUBST(SMBCLIENT_LIBS)
 AC_SUBST(NDR_KRB5PAC_CFLAGS)
 AC_SUBST(NDR_KRB5PAC_LIBS)
+AC_SUBST(IDMAP_SAMBA_LIBS)
 
 if test x"$with_samba" = xyes; then
     PKG_CHECK_MODULES(NDR_NBT, ndr_nbt, ,
@@ -62,13 +63,21 @@ them. In this case, you will need to execute configure script with argument
             AC_MSG_ERROR([Illegal value -$with_smb_idmap_interface_version- for option --with-smb-idmap-interface-version])
         fi
     else
-
-        AC_MSG_CHECKING([Samba's idmap plugin interface version])
         sambalibdir="`$PKG_CONFIG --variable=libdir smbclient`"/samba
+        AC_MSG_CHECKING([Samba's idmap library])
+        if test -f "${sambalibdir}/libidmap-private-samba.so"; then
+                IDMAP_SAMBA_LIBS=idmap-private-samba
+        elif test -f "${sambalibdir}/libidmap-samba4.so"; then
+                IDMAP_SAMBA_LIBS=idmap-samba4
+        else
+                AC_MSG_ERROR([Cannot find private idmap-samba library])
+        fi
+        AC_MSG_RESULT([found: $IDMAP_SAMBA_LIBS])
+        AC_MSG_CHECKING([Samba's idmap plugin interface version])
         SAVE_CFLAGS=$CFLAGS
         SAVE_LIBS=$LIBS
         CFLAGS="$CFLAGS $SMBCLIENT_CFLAGS $NDR_NBT_CFLAGS $NDR_KRB5PAC_CFLAGS"
-        LIBS="$LIBS -L${sambalibdir} -lidmap-samba4 -Wl,-rpath ${sambalibdir}"
+        LIBS="$LIBS -L${sambalibdir} -l${IDMAP_SAMBA_LIBS} -Wl,-rpath ${sambalibdir}"
         AC_RUN_IFELSE(
             [AC_LANG_SOURCE([
 #include <stdlib.h>
-- 
2.43.0

openSUSE Build Service is sponsored by