git: 7e085b48a0ca - main - databases/openldap2[567]-server: Restore SMBPWD

From: Xin LI <delphij_at_FreeBSD.org>
Date: Mon, 19 Oct 2026 05:37:35 UTC
The branch main has been updated by delphij:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7e085b48a0cafb9b2c6e6ad66bc61f90a965b855

commit 7e085b48a0cafb9b2c6e6ad66bc61f90a965b855
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2026-10-19 04:54:53 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2026-10-19 05:37:23 +0000

    databases/openldap2[567]-server: Restore SMBPWD
    
    Since FreeBSD 15 switched to MIT Kerberos, the SMBPWD option
    was excluded because smbk5pwd requires Heimdal for its Kerberos
    support.  However, the Samba and shadow password hash parts of
    the overlay do not depend on Kerberos and are still useful.
    
    On FreeBSD 15 and later, build smbk5pwd without DO_KRB5 instead
    of excluding the option altogether.
    
    PR:             299408
    Reported by:    Geoffroy Desvernay <dgeo@centrale-med.fr>
---
 databases/openldap25-server/Makefile | 13 +++++++++----
 databases/openldap26-server/Makefile | 13 +++++++++----
 databases/openldap27-server/Makefile | 13 +++++++++----
 3 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/databases/openldap25-server/Makefile b/databases/openldap25-server/Makefile
index a7690c03eb22..1539448570ad 100644
--- a/databases/openldap25-server/Makefile
+++ b/databases/openldap25-server/Makefile
@@ -47,7 +47,7 @@ GNU_CONFIGURE=		yes
 GNU_CONFIGURE_MANPREFIX=	${PREFIX}/share
 
 PORTREVISION_CLIENT=	3
-PORTREVISION_SERVER=	3
+PORTREVISION_SERVER=	4
 OPENLDAP_SHLIB_MAJOR=	0
 OPENLDAP_SHLIB_MINOR=	1.15
 OPENLDAP_MAJOR=		${DISTVERSION:R}
@@ -115,9 +115,6 @@ OPTIONS_DEFINE+=	OUTLOOK
 OPTIONS_DEFINE+=	ARGON2
 OPTIONS_DEFINE+=	LLOADD
 
-OPTIONS_EXCLUDE_FreeBSD_15=	SMBPWD	# Only works with Heimdal
-OPTIONS_EXCLUDE_FreeBSD_16=	SMBPWD	# Only works with Heimdal
-
 OPTIONS_DEFAULT+=	${BKNDS_DEFAULTS}
 OPTIONS_DEFAULT+=	${OPTIONS_GROUP_OVLYS}
 OPTIONS_DEFAULT+=	ARGON2 LLOADD
@@ -389,6 +386,14 @@ post-patch:
 		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
 .endif
 
+post-patch-SMBPWD-on:
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1500000
+	@${REINPLACE_CMD} -e 's|-DDO_KRB5 ||' \
+		-e 's|^HEIMDAL_INC =.*|HEIMDAL_INC =|' \
+		-e 's|^HEIMDAL_LIB =.*|HEIMDAL_LIB =|' \
+		${WRKSRC}/contrib/slapd-modules/smbk5pwd/Makefile
+.endif
+
 pre-configure:
 	@(cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf)
 
diff --git a/databases/openldap26-server/Makefile b/databases/openldap26-server/Makefile
index 42e747326b37..f1b72dd60122 100644
--- a/databases/openldap26-server/Makefile
+++ b/databases/openldap26-server/Makefile
@@ -47,7 +47,7 @@ GNU_CONFIGURE=	yes
 GNU_CONFIGURE_MANPREFIX=	${PREFIX}/share
 
 PORTREVISION_CLIENT=	1
-PORTREVISION_SERVER=	1
+PORTREVISION_SERVER=	2
 OPENLDAP_SHLIB_MAJOR=	2
 OPENLDAP_SHLIB_MINOR=	0.200
 
@@ -78,9 +78,6 @@ OPTIONS_GROUP_OVLYS+=	ACCESSLOG ADDPARTIAL ALLOP AUDITLOG AUTOCA AUTOGROUP \
 OPTIONS_DEFINE+=	ACI ARGON2 DYNACL LLOADD NETWORKING OUTLOOK PBKDF2 \
 			RLOOKUPS SLAPI SLP
 
-OPTIONS_EXCLUDE_FreeBSD_15=	SMBPWD # Only works with Heimdal
-OPTIONS_EXCLUDE_FreeBSD_16=	SMBPWD # Only works with Heimdal
-
 OPTIONS_DEFAULT+=	${BKNDS_DEFAULTS} ${OPTIONS_GROUP_OVLYS} ARGON2 LLOADD
 
 OPTIONS_SUB=	yes
@@ -370,6 +367,14 @@ post-patch:
 		${WRKSRC}/libraries/libldap/ldap.map
 .endif
 
+post-patch-SMBPWD-on:
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1500000
+	@${REINPLACE_CMD} -e 's|-DDO_KRB5 ||' \
+		-e 's|^HEIMDAL_INC =.*|HEIMDAL_INC =|' \
+		-e 's|^HEIMDAL_LIB =.*|HEIMDAL_LIB =|' \
+		${WRKSRC}/contrib/slapd-modules/smbk5pwd/Makefile
+.endif
+
 post-patch-NSSOV-on:
 	@${REINPLACE_CMD} -E \
 		-e 's|^(#define[[:space:]]+NSLCD_PATH).*|\1	"${NSLCD_VARDIR}"|' \
diff --git a/databases/openldap27-server/Makefile b/databases/openldap27-server/Makefile
index d71c8362355b..ebecb232207c 100644
--- a/databases/openldap27-server/Makefile
+++ b/databases/openldap27-server/Makefile
@@ -47,7 +47,7 @@ GNU_CONFIGURE=	yes
 GNU_CONFIGURE_MANPREFIX=	${PREFIX}/share
 
 PORTREVISION_CLIENT=	0
-PORTREVISION_SERVER=	0
+PORTREVISION_SERVER=	1
 OPENLDAP_SHLIB_MAJOR=	2
 OPENLDAP_SHLIB_MINOR=	0.201
 
@@ -79,9 +79,6 @@ OPTIONS_GROUP_OVLYS+=	ACCESSLOG ADDPARTIAL ALLOP AUDITLOG AUTOCA AUTOGROUP \
 OPTIONS_DEFINE+=	ACI ARGON2 DYNACL LLOADD NETWORKING OUTLOOK PBKDF2 \
 			RLOOKUPS SLAPI SLP
 
-OPTIONS_EXCLUDE_FreeBSD_15=	SMBPWD # Only works with Heimdal
-OPTIONS_EXCLUDE_FreeBSD_16=	SMBPWD # Only works with Heimdal
-
 OPTIONS_DEFAULT+=	${BKNDS_DEFAULTS} ${OPTIONS_GROUP_OVLYS} ARGON2 LLOADD
 
 OPTIONS_SUB=	yes
@@ -369,6 +366,14 @@ post-patch:
 		${WRKSRC}/libraries/libldap/ldap.map.in
 .endif
 
+post-patch-SMBPWD-on:
+.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1500000
+	@${REINPLACE_CMD} -e 's|-DDO_KRB5 ||' \
+		-e 's|^HEIMDAL_INC =.*|HEIMDAL_INC =|' \
+		-e 's|^HEIMDAL_LIB =.*|HEIMDAL_LIB =|' \
+		${WRKSRC}/contrib/slapd-modules/smbk5pwd/Makefile
+.endif
+
 post-patch-NSSOV-on:
 	@${REINPLACE_CMD} -E \
 		-e 's|^(#define[[:space:]]+NSLCD_PATH).*|\1	"${NSLCD_VARDIR}"|' \