Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Oct 2025 14:31:17 GMT
From:      Mateusz Piotrowski <0mp@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: d195b82a96a1 - main - net/samba422: Do not keep ldb private
Message-ID:  <202510221431.59MEVHgs081445@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by 0mp:

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

commit d195b82a96a17d2911e0d3121c6adb4432178f63
Author:     Mateusz Piotrowski <0mp@FreeBSD.org>
AuthorDate: 2025-10-22 14:21:12 +0000
Commit:     Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2025-10-22 14:24:59 +0000

    net/samba422: Do not keep ldb private
    
    Since version 4.22, Samba requires ldb to be bundled. This is
    problematic for packaging because ldb is also used by ports such as
    security/sssd2. In the past, we used a standalone ldb port to address
    that.
    
    Luckily, it turns out that Samba can turn its private libraries into
    public ones via its configure script. This commit makes Samba's ldb
    public.
    
    PR:             289272
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D52377
---
 net/samba422/Makefile  | 35 +++++++-------------
 net/samba422/pkg-plist | 87 ++++++++++++++++++++++----------------------------
 2 files changed, 51 insertions(+), 71 deletions(-)

diff --git a/net/samba422/Makefile b/net/samba422/Makefile
index 5451fc1ac479..e949a7b6c746 100644
--- a/net/samba422/Makefile
+++ b/net/samba422/Makefile
@@ -192,7 +192,6 @@ SAMBA4_BUNDLED_CMOCKA?=		no
 SAMBA4_BUNDLED_TALLOC?=		no
 SAMBA4_BUNDLED_TEVENT?=		no
 SAMBA4_BUNDLED_TDB?=		no
-SAMBA4_BUNDLED_LDB?=		yes
 # cmocka
 .if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes
 SAMBA4_BUNDLED_LIBS+=		cmocka
@@ -244,31 +243,21 @@ RUN_DEPENDS+=			tdb1413>=1.4.13:databases/tdb1413
 PLIST_SUB+=			SAMBA4_BUNDLED_TDB="@comment "
 SUB_LIST+=			SAMBA4_BUNDLED_TDB="@comment "
 .endif
-# ldb
-.if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes
-SAMBA4_BUNDLED_LDB=		yes
-SAMBA4_BUNDLED_LIBS+=		ldb
-CONFLICTS_INSTALL+=		ldb-* ldb2-*
-PLIST_SUB+=			SAMBA4_BUNDLED_LDB=""
-SUB_LIST+=			SAMBA4_BUNDLED_LDB=""
-SAMBA4_MODULEDIR=		${SAMBA4_LIBDIR}/modules
-.else
-SAMBA4_BUNDLED_LIBS+=		!ldb
-BUILD_DEPENDS+=			ldb29>=2.9.1:databases/ldb29
-RUN_DEPENDS+=			ldb29>=2.9.1:databases/ldb29
-PLIST_SUB+=			SAMBA4_BUNDLED_LDB="@comment "
-SUB_LIST+=			SAMBA4_BUNDLED_LDB="@comment "
-SAMBA4_MODULEDIR=		${PREFIX}/lib/shared-modules
-.endif
 
 .if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes) \
 	|| (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \
-	|| (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) \
 	|| (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes)
 SAMBA4_BUNDLED_LIBS+=		replace
 .endif
 # Don't use external libcom_err
 SAMBA4_BUNDLED_LIBS+=		com_err
+
+### Public libraries
+# ldb
+SAMBA4_PRIVATE_LIBS+=		!ldb
+CONFLICTS_INSTALL+=		ldb-* ldb2[0-9]-*
+SAMBA4_MODULEDIR=		${SAMBA4_LIBDIR}/modules
+
 # Set the test environment variables
 TEST_USES=			python
 TEST_ENV=			PYTHON="${PYTHON_CMD}" \
@@ -472,17 +461,17 @@ SAMBA4_BUNDLED_LIBS+=		pytdb
 SAMBA4_BUNDLED_LIBS+=		!pytdb
 .	endif
 
-.	if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes
 SAMBA4_BUNDLED_LIBS+=		pyldb pyldb-util
-.	else
-SAMBA4_BUNDLED_LIBS+=		!pyldb !pyldb-util
-.	endif
 .endif
 
 .if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES)
 SAMBA4_MODULES+=		${WANT_EXP_MODULES}
 .endif
 
+.if defined(SAMBA4_PRIVATE_LIBS) && !empty(SAMBA4_PRIVATE_LIBS)
+CONFIGURE_ARGS+=		--private-libraries="${SAMBA4_PRIVATE_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"
+.endif
+
 .if defined(SAMBA4_BUNDLED_LIBS) && !empty(SAMBA4_BUNDLED_LIBS)
 CONFIGURE_ARGS+=		--bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"
 .endif
@@ -512,7 +501,7 @@ DEBUG_FLAGS?=			-g -ggdb3 -O0
 ##############################################################################
 # Only for 64-bit architectures
 .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != powerpc && ${ARCH} != powerpcspe
-.	if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes && (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER})
+.	if (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER})
 # LMDB
 SAMBA4_LMDB_DEPENDS=		lmdb>=0.9.16:databases/lmdb
 PLIST_FILES+=			${SAMBA4_LIBDIR}/private/libldb-mdb-int-private-samba.so \
diff --git a/net/samba422/pkg-plist b/net/samba422/pkg-plist
index 72885f7e8fea..3739bca65d48 100644
--- a/net/samba422/pkg-plist
+++ b/net/samba422/pkg-plist
@@ -221,11 +221,8 @@ libexec/samba/samba-dcerpcd
 %%SAMBA4_LIBDIR%%/private/libdbwrap-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libutil-crypt-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libdcerpc-pkt-auth-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libdcerpc-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libdcerpc-samba-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libdcerpc-samba4-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libdcerpc-samr-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libdcerpc-server-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libdnsserver-common-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libdsdb-module-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libevents-private-samba.so
@@ -276,19 +273,7 @@ libexec/samba/samba-dcerpcd
 %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libroken-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libRPC-SERVER-LOOP-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libRPC-WORKER-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-credentials-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-cluster-support-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-debug-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-hostconfig-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-modules-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-net-join%%PYTHON_TAG%%-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-net-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-policy-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-security-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba-sockets-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamba3-util-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libsamdb-common-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libsamdb-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libsecrets3-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libserver-id-db-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libserver-role-private-samba.so
@@ -303,7 +288,6 @@ libexec/samba/samba-dcerpcd
 %%SAMBA4_LIBDIR%%/private/libsys-rw-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libtalloc-report-printf-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libtalloc-report-private-samba.so
-%%SAMBA4_LIBDIR%%/private/libtevent-util-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libtdb-wrap-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libtime-basic-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libtorture-private-samba.so
@@ -312,6 +296,14 @@ libexec/samba/samba-dcerpcd
 %%SAMBA4_LIBDIR%%/private/libutil-tdb-private-samba.so
 %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libwind-private-samba.so
 %%SAMBA4_LIBDIR%%/private/libxattr-tdb-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libsamba-cluster-support-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libsamba-debug-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libsamba-modules-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libsamba-net-join%%PYTHON_TAG%%-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libsamba-net-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libsamba-security-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libsamba-sockets-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libsamba3-util-private-samba.so
 @dir %%SAMBA4_LIBDIR%%/private
 @dir %%SAMBA4_LIBDIR%%
 %%PKGCONFIGDIR%%/ndr.pc
@@ -443,38 +435,37 @@ libexec/samba/samba-dcerpcd
 @dir %%SAMBA4_BINDDNSDIR%%
 @comment Use bundled libraries
 %%SAMBA4_BUNDLED_CMOCKA%%%%SAMBA4_LIBDIR%%/private/libcmocka-private-samba.so
-%%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_ldb_text.py
-%%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/ldb%%PYTHON_TAG%%.so
-%%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_TAG%%-private-samba.so
-%%SAMBA4_BUNDLED_LDB%%bin/ldbadd
-%%SAMBA4_BUNDLED_LDB%%bin/ldbdel
-%%SAMBA4_BUNDLED_LDB%%bin/ldbedit
-%%SAMBA4_BUNDLED_LDB%%bin/ldbmodify
-%%SAMBA4_BUNDLED_LDB%%bin/ldbrename
-%%SAMBA4_BUNDLED_LDB%%bin/ldbsearch
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-cmdline-private-samba.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-key-value-private-samba.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-private-samba.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-tdb-err-map-private-samba.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-tdb-int-private-samba.so
-%%AD_DC%%%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/count_attrs.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/asq.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ildap.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ldb.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ldbsamba_extensions.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/paged_searches.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/rdn_name.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/sample.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/server_sort.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/skel.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/tdb.so
-%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man3/ldb.3.gz
-%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbadd.1.gz
-%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbdel.1.gz
-%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbedit.1.gz
-%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbmodify.1.gz
-%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbrename.1.gz
-%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbsearch.1.gz
+%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_ldb_text.py
+%%PYTHON3%%%%PYTHON_SITELIBDIR%%/ldb%%PYTHON_TAG%%.so
+%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_TAG%%-private-samba.so
+bin/ldbadd
+bin/ldbdel
+bin/ldbedit
+bin/ldbmodify
+bin/ldbrename
+bin/ldbsearch
+%%SAMBA4_LIBDIR%%/private/libldb-cmdline-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libldb-key-value-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libldb-tdb-err-map-private-samba.so
+%%SAMBA4_LIBDIR%%/private/libldb-tdb-int-private-samba.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/count_attrs.so
+%%SAMBA4_MODULEDIR%%/ldb/asq.so
+%%SAMBA4_MODULEDIR%%/ldb/ildap.so
+%%SAMBA4_MODULEDIR%%/ldb/ldb.so
+%%SAMBA4_MODULEDIR%%/ldb/ldbsamba_extensions.so
+%%SAMBA4_MODULEDIR%%/ldb/paged_searches.so
+%%SAMBA4_MODULEDIR%%/ldb/rdn_name.so
+%%SAMBA4_MODULEDIR%%/ldb/sample.so
+%%SAMBA4_MODULEDIR%%/ldb/server_sort.so
+%%SAMBA4_MODULEDIR%%/ldb/skel.so
+%%SAMBA4_MODULEDIR%%/ldb/tdb.so
+%%MANPAGES%%share/man/man3/ldb.3.gz
+%%MANPAGES%%share/man/man1/ldbadd.1.gz
+%%MANPAGES%%share/man/man1/ldbdel.1.gz
+%%MANPAGES%%share/man/man1/ldbedit.1.gz
+%%MANPAGES%%share/man/man1/ldbmodify.1.gz
+%%MANPAGES%%share/man/man1/ldbrename.1.gz
+%%MANPAGES%%share/man/man1/ldbsearch.1.gz
 %%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbbackup.8.gz
 %%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbdump.8.gz
 %%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbrestore.8.gz


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510221431.59MEVHgs081445>