git: 839c82d821c4 - main - net/samba422: OPTIONify handling bundled dependencies and lint

From: Mateusz Piotrowski <0mp_at_FreeBSD.org>
Date: Mon, 15 Dec 2025 13:46:07 UTC
The branch main has been updated by 0mp:

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

commit 839c82d821c4db5e478d5cf2e65a3ae5805a6774
Author:     Mateusz Piotrowski <0mp@FreeBSD.org>
AuthorDate: 2025-12-12 15:44:58 +0000
Commit:     Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2025-12-15 13:44:39 +0000

    net/samba422: OPTIONify handling bundled dependencies and lint
    
    Before this commit, users could control whether to bundle cmocka, TDB,
    Tevent, and talloc by setting an appropriate WITH_BUNDLED_* variable
    to "yes". Let's transition to OPTIONS instead so that it's easier to
    track the actual port configuration by taking a look at the options,
    e.g., with make showconfig.
    
    Additionally, the makefile itself requires less if statements.
    
    While here, lint with portclippy --strict.
---
 net/samba422/Makefile  | 422 ++++++++++++++++++++++---------------------------
 net/samba422/pkg-plist |  38 ++---
 2 files changed, 208 insertions(+), 252 deletions(-)

diff --git a/net/samba422/Makefile b/net/samba422/Makefile
index 4918dbd5fa6b..f6186ea648be 100644
--- a/net/samba422/Makefile
+++ b/net/samba422/Makefile
@@ -1,9 +1,9 @@
-PORTNAME=			${SAMBA4_BASENAME}422
-PORTVERSION=			${SAMBA4_VERSION}
-PORTREVISION=			5
+PORTNAME=			samba422
+DISTVERSION=			4.22.6
+PORTREVISION=			6
 CATEGORIES?=			net
 MASTER_SITES=			SAMBA/samba/stable SAMBA/samba/rc
-DISTNAME=			${SAMBA4_DISTNAME}
+DISTNAME=			samba-${DISTVERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
 
 MAINTAINER=			samba@FreeBSD.org
 COMMENT=			Free SMB/CIFS and AD/DC server and client for Unix
@@ -12,6 +12,13 @@ WWW=				https://gitlab.com/samba-freebsd/
 LICENSE=			GPLv3+
 LICENSE_FILE=			${WRKSRC}/COPYING
 
+# The SAMBA4_BUNDLED_* variables are deprecated.
+.for bvar in SAMBA4_BUNDLED_CMOCKA SAMBA4_BUNDLED_TALLOC SAMBA4_BUNDLED_TDB SAMBA4_BUNDLED_TEVENT
+.  if defined(${bvar}) && ${${bvar}} == yes
+IGNORE=				does not support bundling dependencies via ${bvar}; use option ${bvar:S/^SAMBA4_//} instead
+.  endif
+.endfor
+
 BUILD_DEPENDS=			${_JANSSON_DEPENDS} \
 				${_LIBARCHIVE_DEPENDS} \
 				${_TASN1_DEPENDS} \
@@ -36,54 +43,20 @@ LIB_DEPENDS=			libgnutls.so:security/gnutls \
 				libpopt.so:devel/popt \
 				libunwind.so:devel/libunwind \
 				libicui18n.so:devel/icu \
-				libicuuc.so:devel/icu
+				libicuuc.so:devel/icu \
+				${_VFS_SNAPPER_LIB_DEPENDS}
 RUN_DEPENDS=			${_JANSSON_DEPENDS} \
 				${_LIBARCHIVE_DEPENDS} \
 				${_TASN1_DEPENDS}
 TEST_DEPENDS=			bash:shells/bash \
 				tshark:net/wireshark@nox11
 
-SAMBA4_BUNDLED_LIBS=		!libarchive
-
-SAMBA4_BASENAME=		samba
-SAMBA4_PORTNAME=		${SAMBA4_BASENAME}4
-SAMBA4_VERSION=			4.22.6
-SAMBA4_DISTNAME=		${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
-
-# Directories
-VARDIR=				${DESTDIR}/var
-SAMBA4_RUNDIR=			${VARDIR}/run/${SAMBA4_PORTNAME}
-SAMBA4_LOGDIR=			${VARDIR}/log/${SAMBA4_PORTNAME}
-SAMBA4_LOCKDIR=			${VARDIR}/db/${SAMBA4_PORTNAME}
-SAMBA4_BINDDNSDIR=		${SAMBA4_LOCKDIR}/bind-dns
-SAMBA4_PRIVATEDIR=		${SAMBA4_LOCKDIR}/private
-SAMBA4_PAMDIR=			${PREFIX}/lib
-SAMBA4_LIBDIR=			${SAMBA_LIBDIR}
-SAMBA4_MODULEDIR=		${SAMBA_MODULESDIR}
-SAMBA4_INCLUDEDIR=		${SAMBA_INCLUDEDIR}
-SAMBA4_CONFDIR=			${PREFIX}/etc
-SAMBA4_CONFIG=			smb4.conf
-SAMBA4_MODULES_CLASS=		auth bind9 gensec gpext idmap ldb nss_info \
-				pdb perfcount process_model service vfs
-
-SAMBA4_SUB+=			SAMBA4_LOGDIR="${SAMBA4_LOGDIR}" \
-				SAMBA4_RUNDIR="${SAMBA4_RUNDIR}" \
-				SAMBA4_LOCKDIR="${SAMBA4_LOCKDIR}" \
-				SAMBA4_LIBDIR="${SAMBA4_LIBDIR}" \
-				SAMBA4_MODULEDIR="${SAMBA4_MODULEDIR}" \
-				SAMBA_LDB_MODULESDIR="${SAMBA_LDB_MODULESDIR}" \
-				SAMBA4_BINDDNSDIR="${SAMBA4_BINDDNSDIR}" \
-				SAMBA4_PRIVATEDIR="${SAMBA4_PRIVATEDIR}" \
-				SAMBA4_CONFDIR="${SAMBA4_CONFDIR}" \
-				SAMBA4_CONFIG="${SAMBA4_CONFIG}" \
-				SAMBA4_SERVICES="${SAMBA4_SERVICES}"
-
 USES=				cpe compiler:c++11-lang iconv \
 				localbase:ldflags ncurses perl5 pkgconfig \
 				shebangfix waf gettext-runtime samba:self
 CPE_VENDOR=			samba
 CPE_PRODUCT=			samba
-USE_LDCONFIG=			${SAMBA4_LIBDIR}
+USE_LDCONFIG=			${SAMBA_LIBDIR}
 USE_PERL5=			build
 USE_RC_SUBR=			samba_server
 WAF_CMD=			buildtools/bin/waf
@@ -93,25 +66,25 @@ SHEBANG_FILES=			source3/script* source4/scripting/bin/* selftest/*
 
 CONFIGURE_LOG=			bin/config.log
 CONFIGURE_ARGS=			--mandir="${PREFIX}/share/man" \
-				--sysconfdir="${SAMBA4_CONFDIR}" \
-				--includedir="${SAMBA4_INCLUDEDIR}" \
+				--sysconfdir="${_CONFDIR}" \
+				--includedir="${SAMBA_INCLUDEDIR}" \
 				--datadir="${DATADIR}" \
-				--libdir="${SAMBA4_LIBDIR}" \
-				--with-privatelibdir="${SAMBA4_LIBDIR}/private" \
-				--with-pammodulesdir="${SAMBA4_PAMDIR}" \
-				--with-modulesdir="${SAMBA4_MODULEDIR}" \
+				--libdir="${SAMBA_LIBDIR}" \
+				--with-privatelibdir="${SAMBA_LIBDIR}/private" \
+				--with-pammodulesdir="${_PAMDIR}" \
+				--with-modulesdir="${SAMBA_MODULESDIR}" \
 				--with-ldbmodulesdir="${SAMBA_LDB_MODULESDIR}" \
-				--with-pkgconfigdir="${PKGCONFIGDIR}" \
+				--with-pkgconfigdir="${_PKGCONFIGDIR}" \
 				--localstatedir="${VARDIR}" \
-				--with-piddir="${SAMBA4_RUNDIR}" \
-				--with-sockets-dir="${SAMBA4_RUNDIR}" \
-				--with-privileged-socket-dir="${SAMBA4_RUNDIR}" \
-				--with-lockdir="${SAMBA4_LOCKDIR}" \
-				--with-statedir="${SAMBA4_LOCKDIR}" \
-				--with-cachedir="${SAMBA4_LOCKDIR}" \
-				--with-bind-dns-dir=${SAMBA4_BINDDNSDIR} \
-				--with-privatedir="${SAMBA4_PRIVATEDIR}" \
-				--with-logfilebase="${SAMBA4_LOGDIR}"
+				--with-piddir="${_RUNDIR}" \
+				--with-sockets-dir="${_RUNDIR}" \
+				--with-privileged-socket-dir="${_RUNDIR}" \
+				--with-lockdir="${_LOCKDIR}" \
+				--with-statedir="${_LOCKDIR}" \
+				--with-cachedir="${_LOCKDIR}" \
+				--with-bind-dns-dir=${_BINDDNSDIR} \
+				--with-privatedir="${_PRIVATEDIR}" \
+				--with-logfilebase="${_LOGDIR}"
 CONFIGURE_ARGS+=		\
 				--with-pam \
 				--with-iconv \
@@ -129,11 +102,14 @@ CONFIGURE_ARGS+=		\
 				--with-sendfile-support \
 				--disable-ctdb-tests \
 				--disable-spotlight
-CONFIGURE_ARGS+=		${SAMBA4_PRIVATE_LIBS:D--private-libraries="${SAMBA4_PRIVATE_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"}
-CONFIGURE_ARGS+=		${SAMBA4_BUNDLED_LIBS:D--bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"}
-CONFIGURE_ARGS+=		${SAMBA4_MODULES:D--with-shared-modules="${SAMBA4_MODULES:C|-|_|:Q:C|(\\\\ )+|,|g:S|\\||g}"}
+CONFIGURE_ARGS+=		${_PRIVATE_LIBS:D--private-libraries="${_PRIVATE_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"}
+CONFIGURE_ARGS+=		${_BUNDLED_LIBS:D--bundled-libraries="${_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"}
+CONFIGURE_ARGS+=		${_SHARED_MODULES:D--with-shared-modules="${_SHARED_MODULES:C|-|_|:Q:C|(\\\\ )+|,|g:S|\\||g}"}
+CONFIGURE_ARGS+=		${WITH_DEBUG:D --verbose --enable-debug}
 CONFIGURE_ENV=			PTHREAD_LDFLAGS="-lpthread" \
 				PYTHONHASHSEED=1
+
+MAKE_ARGS=			${WITH_DEBUG:D --verbose}
 MAKE_ENV=			PYTHONHASHSEED=1 \
 				RPCGEN_CPP="${CPP}"
 TEST_ENV=			PYTHON="${PYTHON_CMD}" \
@@ -143,21 +119,21 @@ TEST_ENV=			PYTHON="${PYTHON_CMD}" \
 				PYTHONDONTWRITEBYTECODE=1
 
 # No fancy color error messages
-CFLAGS+=			${CFLAGS_${CHOSEN_COMPILER_TYPE}}
-CFLAGS_clang=			-fno-color-diagnostics
+CFLAGS+=			${_CFLAGS_${CHOSEN_COMPILER_TYPE}}
+.ifnmake portclippy
+_CFLAGS_clang=			-fno-color-diagnostics
+.endif
 CONFIGURE_ENV+=			NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s'
 MAKE_ENV+=			NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s'
 # for libexecinfo: (so that __builtin_frame_address() finds the top of the stack)
 CFLAGS_amd64+=			-fno-omit-frame-pointer
+DEBUG_FLAGS?=			-g -ggdb3 -O0
 # Some symbols in samba's linker version scripts are not defined, but since the
 # scripts are generated dynamically, suppress errors with lld >= 17 due to these
 # undefined symbols.
 LDFLAGS+=			-Wl,--undefined-version
 
-CONFLICTS_INSTALL?=		samba4*
-
-PKGCONFIGDIR?=			${PREFIX}/libdata/pkgconfig
-PKGCONFIGDIR_REL?=		${PKGCONFIGDIR:S,^${PREFIX}/,,}
+CONFLICTS_INSTALL=		ldb2[0-9]-* samba4*
 
 EXTRA_PATCHES=			\
 				${PATCHDIR}/0001-Compact-and-simplify-modules-build-and-config-genera.patch:-p1 \
@@ -186,24 +162,28 @@ EXTRA_PATCHES=			\
 				${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch \
 
 SUB_FILES=			pkg-message README.FreeBSD
-SUB_LIST=			PKGCONFIGDIR=${PKGCONFIGDIR_REL} \
-				${SAMBA4_SUB}
+SUB_LIST=			PKGCONFIGDIR=${_PKGCONFIGDIR_REL} \
+				${_SAMBA_SUB}
 
 # PLIST must be defined here explicitly as we append to PLIST later on to
 # handle extra pkg-plist files like pkg-plist.python.
-PLIST?=                         ${PKGDIR}/pkg-plist
-PLIST_SUB=			PKGCONFIGDIR=${PKGCONFIGDIR_REL} \
-				${SAMBA4_SUB}
+PLIST?=				${PKGDIR}/pkg-plist
+PLIST_DIRS=			${SAMBA_MODULESDIR} \
+				${_MODULE_CLASSES:S|^|${SAMBA_MODULESDIR}/|}
+# ":C|_|/|:C|-|_|" is a workaround for turning "nss-info_*" modules into "nss_info/*".
+PLIST_FILES+=			${_SHARED_MODULES:C|_|/|:C|-|_|:S|^|${SAMBA_MODULESDIR}/|:S|$|.so|}
+PLIST_SUB=			PKGCONFIGDIR=${_PKGCONFIGDIR_REL} \
+				${_SAMBA_SUB}
 PORTDOCS=			README.FreeBSD
 
-##############################################################################
 OPTIONS_DEFINE=			AD_DC ADS CLUSTER CUPS DOCS FAM LDAP GPGME \
 				MANPAGES PROFILE PYTHON3 QUOTAS \
 				SYSLOG UTMP
 OPTIONS_DEFAULT=		AD_DC ADS DOCS FAM LDAP MANPAGES \
 				PROFILE PYTHON3 QUOTAS SYSLOG UTMP \
 				FRUIT GSSAPI_BUILTIN AVAHI
-OPTIONS_GROUP=			DEVELOPMENT VFS
+OPTIONS_GROUP=			BUNDLED_DEPS DEVELOPMENT VFS
+OPTIONS_GROUP_BUNDLED_DEPS=	BUNDLED_CMOCKA BUNDLED_TALLOC BUNDLED_TDB BUNDLED_TEVENT
 OPTIONS_GROUP_DEVELOPMENT=	DEVELOPER MEMORY_DEBUG PICKY_DEVELOPER TEST
 OPTIONS_GROUP_VFS=		FRUIT GLUSTERFS
 OPTIONS_SINGLE=			GSSAPI ZEROCONF
@@ -211,9 +191,13 @@ OPTIONS_SINGLE_GSSAPI=		GSSAPI_BUILTIN GSSAPI_MIT
 OPTIONS_SINGLE_ZEROCONF=	ZEROCONF_NONE AVAHI MDNSRESPONDER
 OPTIONS_SUB=			yes
 
-##############################################################################
 ADS_DESC=			Active Directory client
 AD_DC_DESC=			Active Directory Domain Controller(implies PYTHON3)
+BUNDLED_CMOCKA_DESC=		Bundle cmocka instead of depending on a standalone port
+BUNDLED_DEPS_DESC=		Bundled dependencies
+BUNDLED_TALLOC_DESC=		Bundle talloc instead of depending on a standalone port
+BUNDLED_TDB_DESC=		Bundle TDB instead of depending on a standalone port
+BUNDLED_TEVENT_DESC=		Bundle Tevent instead of depending on a standalone port
 CLUSTER_DESC=			Clustering support
 DEVELOPER_DESC=			With developer framework
 DEVELOPMENT_DESC=		Testing, debugging, and development
@@ -231,86 +215,16 @@ UTMP_DESC=			UTMP accounting
 VFS_DESC=			VFS modules
 ZEROCONF_DESC=			Zero configuration networking
 ZEROCONF_NONE_DESC=		Zeroconf support is absent
-##############################################################################
-### Bundled libraries
-SAMBA4_BUNDLED_CMOCKA?=		no
-SAMBA4_BUNDLED_TALLOC?=		no
-SAMBA4_BUNDLED_TEVENT?=		no
-SAMBA4_BUNDLED_TDB?=		no
-# Check if SAMBA4_BUNDLED_* variables are set to either "yes" or "no" to avoid
-# having to check if they are defined over and over.
-.for bvar in SAMBA4_BUNDLED_CMOCKA SAMBA4_BUNDLED_TALLOC SAMBA4_BUNDLED_TDB SAMBA4_BUNDLED_TEVENT
-.  if !defined(${bvar}) || (${${bvar}} != yes && ${${bvar}} != no)
-IGNORE=				requires ${bvar} to be either "yes" or "no"
-.  endif
-.endfor
-# cmocka
-.if ${SAMBA4_BUNDLED_CMOCKA} == yes
-SAMBA4_BUNDLED_LIBS+=		cmocka
-CONFLICTS_INSTALL+=		cmocka-1.*
-SAMBA4_SUB+=			SAMBA4_BUNDLED_CMOCKA=""
-.else
-SAMBA4_BUNDLED_LIBS+=		!cmocka
-BUILD_DEPENDS+=			cmocka>=1.1.3:sysutils/cmocka
-TEST_DEPENDS+=			cmocka>=1.1.3:sysutils/cmocka
-SAMBA4_SUB+=			SAMBA4_BUNDLED_CMOCKA="@comment "
-.endif
-# talloc
-.if ${SAMBA4_BUNDLED_TALLOC} == yes
-SAMBA4_BUNDLED_LIBS+=		talloc
-SAMBA4_SUB+=			SAMBA4_BUNDLED_TALLOC=""
-.else
-SAMBA4_BUNDLED_LIBS+=		!talloc
-BUILD_DEPENDS+=			talloc243>=2.4.3:devel/talloc243
-RUN_DEPENDS+=			talloc243>=2.4.3:devel/talloc243
-SAMBA4_SUB+=			SAMBA4_BUNDLED_TALLOC="@comment "
-.endif
-# tevent
-.if ${SAMBA4_BUNDLED_TEVENT} == yes
-SAMBA4_BUNDLED_LIBS+=		tevent
-CONFLICTS_INSTALL+=		tevent-* tevent1-*
-SAMBA4_SUB+=			SAMBA4_BUNDLED_TEVENT=""
-.else
-SAMBA4_BUNDLED_LIBS+=		!tevent
-BUILD_DEPENDS+=			tevent017>=0.17:devel/tevent017
-RUN_DEPENDS+=			tevent017>=0.17:devel/tevent017
-SAMBA4_SUB+=			SAMBA4_BUNDLED_TEVENT="@comment "
-.endif
-# tdb
-.if ${SAMBA4_BUNDLED_TDB} == yes
-SAMBA4_BUNDLED_LIBS+=		tdb
-CONFLICTS_INSTALL+=		tdb-* tdb1-*
-SAMBA4_SUB+=			SAMBA4_BUNDLED_TDB=""
-.else
-SAMBA4_BUNDLED_LIBS+=		!tdb
-BUILD_DEPENDS+=			tdb1413>=1.4.13:databases/tdb1413
-RUN_DEPENDS+=			tdb1413>=1.4.13:databases/tdb1413
-SAMBA4_SUB+=			SAMBA4_BUNDLED_TDB="@comment "
-.endif
-
-.if (${SAMBA4_BUNDLED_TALLOC} == yes) \
-	|| (${SAMBA4_BUNDLED_TDB} == yes) \
-	|| (${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]-*
-
-##############################################################################
 ADS_IMPLIES=			LDAP
 ADS_CONFIGURE_WITH=		ads
 # List of extra modules taken from RHEL build
 # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197320
-ADS_VARS=			SAMBA4_MODULES+="idmap_ad idmap_rfc2307 nss-info_template nss-info_rfc2307 nss-info_sfu nss-info_sfu20"
+ADS_VARS=			_SHARED_MODULES+="idmap_ad idmap_rfc2307 nss-info_template nss-info_rfc2307 nss-info_sfu nss-info_sfu20"
 
 AD_DC_IMPLIES=			ADS PYTHON3
-AD_DC_BUILD_DEPENDS=		${SAMBA4_LMDB_DEPENDS}
-AD_DC_RUN_DEPENDS=		${SAMBA4_LMDB_DEPENDS}
+AD_DC_BUILD_DEPENDS=		${_LMDB_DEPDENDS}
+AD_DC_RUN_DEPENDS=		${_LMDB_DEPDENDS}
 AD_DC_CONFIGURE_OFF=		--without-ad-dc --without-ldb-lmdb
 AD_DC_VARS=			PLIST+=${PKGDIR}/pkg-plist.ad_dc
 # samba-tool requires those for *upgrade
@@ -321,7 +235,35 @@ AD_DC_RUN_DEPENDS+=		${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown
 
 AVAHI_LIB_DEPENDS=		libavahi-client.so:net/avahi-app
 AVAHI_CONFIGURE_ENABLE=		avahi
-AVAHI_VARS=			SAMBA4_SERVICES+=avahi_daemon
+AVAHI_VARS=			_SAMBA_SERVICES+=avahi_daemon
+
+BUNDLED_CMOCKA_BUILD_DEPENDS_OFF=	cmocka>=1.1.3:sysutils/cmocka
+BUNDLED_CMOCKA_TEST_DEPENDS_OFF=	cmocka>=1.1.3:sysutils/cmocka
+BUNDLED_CMOCKA_CONFLICTS_INSTALL=	cmocka-1.*
+BUNDLED_CMOCKA_VARS=			_BUNDLED_LIBS+=cmocka \
+					_BUNDLED_LIB_replace=replace
+BUNDLED_CMOCKA_VARS_OFF=		_BUNDLED_LIBS+=!cmocka
+
+BUNDLED_TALLOC_BUILD_DEPENDS_OFF=	talloc243>=2.4.3:devel/talloc243
+BUNDLED_TALLOC_RUN_DEPENDS_OFF=		talloc243>=2.4.3:devel/talloc243
+BUNDLED_TALLOC_CONFLICTS_INSTALL=	talloc-* talloc2*
+BUNDLED_TALLOC_VARS=			_BUNDLED_LIBS+=talloc \
+					_BUNDLED_LIB_replace=replace
+BUNDLED_TALLOC_VARS_OFF=		_BUNDLED_LIBS+=!talloc
+
+BUNDLED_TDB_BUILD_DEPENDS_OFF=		tdb1413>=1.4.13:databases/tdb1413
+BUNDLED_TDB_RUN_DEPENDS_OFF=		tdb1413>=1.4.13:databases/tdb1413
+BUNDLED_TDB_CONFLICTS_INSTALL=		tdb-* tdb1*
+BUNDLED_TDB_VARS=			_BUNDLED_LIBS+=tdb \
+					_BUNDLED_LIB_replace=replace
+BUNDLED_TDB_VARS_OFF=			_BUNDLED_LIBS+=!tdb
+
+BUNDLED_TEVENT_BUILD_DEPENDS_OFF=	tevent017>=0.17:devel/tevent017
+BUNDLED_TEVENT_RUN_DEPENDS_OFF=		tevent017>=0.17:devel/tevent017
+BUNDLED_TEVENT_CONFLICTS_INSTALL=	tevent-* tevent0*
+BUNDLED_TEVENT_VARS=			_BUNDLED_LIBS+=tevent \
+					_BUNDLED_LIB_replace=replace
+BUNDLED_TEVENT_VARS_OFF=		_BUNDLED_LIBS+=!tevent
 
 CLUSTER_LIB_DEPENDS=		libpcap.so:net/libpcap
 CLUSTER_CONFIGURE_WITH=		cluster-support
@@ -330,18 +272,18 @@ CLUSTER_VARS=			PLIST+=${PKGDIR}/pkg-plist.cluster
 CUPS_LIB_DEPENDS=		libcups.so:print/cups
 CUPS_CONFIGURE_ENABLE=		cups iprint
 
-DEVELOPER_BUILD_DEPENDS=	${SAMBA4_LMDB_DEPENDS} \
-				${GDB_CMD}:devel/gdb
-DEVELOPER_RUN_DEPENDS=		${SAMBA4_LMDB_DEPENDS}
-DEVELOPER_TEST_DEPENDS=		${GDB_CMD}:devel/gdb
+DEVELOPER_BUILD_DEPENDS=	${_LMDB_DEPDENDS} \
+				${_GDB_CMD}:devel/gdb
+DEVELOPER_RUN_DEPENDS=		${_LMDB_DEPDENDS}
+DEVELOPER_TEST_DEPENDS=		${_GDB_CMD}:devel/gdb
 DEVELOPER_CONFIGURE_ON=		--enable-developer --enable-selftest --abi-check-disable
 DEVELOPER_CONFIGURE_ENV=	WAF_CMD_FORMAT=string
-DEVELOPER_VARS=			SAMBA4_MODULES+="auth_skel pdb_test gpext_security gpext_registry \
+DEVELOPER_VARS=			_SHARED_MODULES+="auth_skel pdb_test gpext_security gpext_registry \
 				gpext_scripts perfcount_test vfs_fake_dfq \
 				vfs_skel_opaque vfs_skel_transparent \
 				vfs_shadow_copy_test vfs_fake_acls \
 				vfs_nfs4acl_xattr vfs_error_inject vfs_delay_inject"
-DEVELOPER_VARS_OFF=		GDB_CMD=true
+DEVELOPER_VARS_OFF=		_GDB_CMD=true
 
 # https://bugzilla.samba.org/show_bug.cgi?id=9545
 FAM_USES=			fam
@@ -350,12 +292,12 @@ FAM_CONFIGURE_WITH=		fam
 FRUIT_PREVENTS=			ZEROCONF_NONE
 FRUIT_PREVENTS_MSG=		MacOSX support requires Zeroconf(AVAHI or MDNSRESPONDER)
 FRUIT_PLIST_FILES=		%%MANPAGES%%share/man/man8/vfs_fruit.8.gz
-FRUIT_VARS=			SAMBA4_MODULES+=vfs_fruit
+FRUIT_VARS=			_SHARED_MODULES+=vfs_fruit
 
 GLUSTERFS_LIB_DEPENDS=		libglusterfs.so:net/glusterfs
 GLUSTERFS_CONFIGURE_ENABLE=	glusterfs
 GLUSTERFS_PLIST_FILES=		%%MANPAGES%%share/man/man8/vfs_glusterfs.8.gz
-GLUSTERFS_VARS=			SAMBA4_MODULES+=vfs_glusterfs
+GLUSTERFS_VARS=			_SHARED_MODULES+=vfs_glusterfs
 
 GPGME_LIB_DEPENDS=		libgpgme.so:security/gpgme
 GPGME_RUN_DEPENDS=		${PYTHON_PKGNAMEPREFIX}gpg>=2.0.0:security/py-gpg@${PY_FLAVOR}
@@ -367,13 +309,13 @@ GSSAPI_MIT_USES=		bison gssapi:mit
 GSSAPI_MIT_CONFIGURE_ON=	--with-system-mitkrb5 ${GSSAPIBASEDIR} \
 				--with-system-mitkdc=${GSSAPIBASEDIR}/sbin/krb5kdc \
 				--with-experimental-mit-ad-dc
-GSSAPI_MIT_PLIST_FILES=		${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so \
+GSSAPI_MIT_PLIST_FILES=		${SAMBA_MODULESDIR}/krb5/winbind_krb5_localauth.so \
 				%%MANPAGES%%share/man/man8/winbind_krb5_localauth.8.gz \
-				%%AD_DC%%${SAMBA4_LIBDIR}/krb5/plugins/kdb/samba.so
+				%%AD_DC%%${SAMBA_LIBDIR}/krb5/plugins/kdb/samba.so
 
 LDAP_USES=			ldap
 LDAP_CONFIGURE_WITH=		ldap
-LDAP_VARS=			SAMBA4_MODULES+=idmap_ldap
+LDAP_VARS=			_SHARED_MODULES+=idmap_ldap
 
 MANPAGES_BUILD_DEPENDS=		${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \
 				xsltproc:textproc/libxslt
@@ -381,7 +323,7 @@ MANPAGES_CONFIGURE_ENV_OFF=	XSLTPROC="false"
 
 MDNSRESPONDER_LIB_DEPENDS=	libdns_sd.so:net/mDNSResponder
 MDNSRESPONDER_CONFIGURE_ENABLE=	dnssd
-MDNSRESPONDER_VARS=		SAMBA4_SERVICES+=mdnsd
+MDNSRESPONDER_VARS=		_SAMBA_SERVICES+=mdnsd
 
 MEMORY_DEBUG_IMPLIES=		DEBUG
 MEMORY_DEBUG_LIB_DEPENDS=	libjemalloc.so.2:devel/jemalloc
@@ -402,10 +344,7 @@ PYTHON3_CONFIGURE_ON=		--nopycache
 PYTHON3_CONFIGURE_OFF=		--disable-python
 PYTHON3_MAKE_ENV=		PYTHONDONTWRITEBYTECODE=1
 PYTHON3_VARS=			PLIST+=${PKGDIR}/pkg-plist.python \
-				SAMBA4_BUNDLED_LIBS+=${"${SAMBA4_BUNDLED_TALLOC:Myes}" == "yes":?:!}pytalloc-util \
-				SAMBA4_BUNDLED_LIBS+=${"${SAMBA4_BUNDLED_TEVENT:Myes}" == "yes":?:!}pytevent \
-				SAMBA4_BUNDLED_LIBS+=${"${SAMBA4_BUNDLED_TDB:Myes}" == "yes":?:!}pytdb \
-				SAMBA4_BUNDLED_LIBS+="pyldb pyldb-util"
+				_BUNDLED_LIBS+="pyldb pyldb-util"
 
 QUOTAS_CONFIGURE_WITH=		quotas
 
@@ -417,26 +356,38 @@ TEST_RUN_DEPENDS=		${_ISO8601_DEPENDS}
 UTMP_CONFIGURE_WITH=		utmp
 
 ZEROCONF_NONE_MAKE_ENV=		ZEROCONF=none
-##############################################################################
-.include <bsd.port.options.mk>
-##############################################################################
-.if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES)
+
+.ifnmake portclippy
+.  if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES)
 WANT_EXP_MODULES=		vfs_cacheprime
+.  endif
 .endif
 
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046
+_GDB_CMD=			${LOCALBASE}/bin/gdb
+
+_ISO8601_DEPENDS=		${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR}
+_JANSSON_DEPENDS=		jansson>=2.10:devel/jansson
+_LIBARCHIVE_DEPENDS=		libarchive>=3.1.2:archivers/libarchive
+_TASN1_DEPENDS=			libtasn1>=3.8:security/libtasn1
 .if ${WANT_EXP_MODULES:Mvfs_snapper}
-# snapper needs dbus
-LIB_DEPENDS+=			libdbus-1.so:devel/dbus
-LIB_DEPENDS+=			libdbus-glib-1.so:devel/dbus-glib
+_VFS_SNAPPER_LIB_DEPENDS=	libdbus-1.so:devel/dbus \
+				libdbus-glib-1.so:devel/dbus-glib
 .endif
 
-SAMBA4_MODULES+=		krb5_async_dns_krb5_locator krb5_winbind_krb5_locator idmap_nss idmap_autorid \
+_BUNDLED_LIBS=			!libarchive \
+				com_err \
+				${_BUNDLED_LIB_replace}
+
+_MODULE_CLASSES=		auth bind9 gensec gpext idmap ldb nss_info \
+				pdb perfcount process_model service vfs
+_PRIVATE_LIBS=			!ldb
+_SHARED_MODULES+=		${WANT_EXP_MODULES}
+_SHARED_MODULES+=		krb5_async_dns_krb5_locator krb5_winbind_krb5_locator idmap_nss idmap_autorid \
 				idmap_rid idmap_hash idmap_tdb idmap_tdb2 idmap_script \
 				nss-info_hash
-# This kind of special for this distribution
-SAMBA4_MODULES+=		vfs_freebsd
-
-SAMBA4_MODULES+=		vfs_acl_tdb vfs_acl_xattr vfs_aio_fork vfs_aio_pthread \
+_SHARED_MODULES+=		vfs_freebsd
+_SHARED_MODULES+=		vfs_acl_tdb vfs_acl_xattr vfs_aio_fork vfs_aio_pthread \
 				vfs_audit vfs_cap vfs_catia vfs_commit vfs_crossrename \
 				vfs_default_quota vfs_dirsort vfs_expand_msdfs \
 				vfs_extd_audit vfs_fake_perms vfs_full_audit \
@@ -447,44 +398,47 @@ SAMBA4_MODULES+=		vfs_acl_tdb vfs_acl_xattr vfs_aio_fork vfs_aio_pthread \
 				vfs_time_audit vfs_unityed_media vfs_virusfilter \
 				vfs_widelinks vfs_worm vfs_xattr_tdb vfs_zfsacl
 
-.if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES)
-SAMBA4_MODULES+=		${WANT_EXP_MODULES}
-.endif
-
-# XXX: Hack for nss-info_* -> nss_info/* modules
-# Add selected modules to the plist
-.for module in ${SAMBA4_MODULES}
-PLIST_FILES+=			${SAMBA4_MODULEDIR}/${module:C|_|/|:C|-|_|}.so
-.endfor
+_SAMBA_MAJVERNAME=		samba4
+_SAMBA_SUB=			SAMBA4_LOGDIR="${_LOGDIR}" \
+				SAMBA4_RUNDIR="${_RUNDIR}" \
+				SAMBA4_LOCKDIR="${_LOCKDIR}" \
+				SAMBA4_LIBDIR="${SAMBA_LIBDIR}" \
+				SAMBA4_MODULEDIR="${SAMBA_MODULESDIR}" \
+				SAMBA_LDB_MODULESDIR="${SAMBA_LDB_MODULESDIR}" \
+				SAMBA4_BINDDNSDIR="${_BINDDNSDIR}" \
+				SAMBA4_PRIVATEDIR="${_PRIVATEDIR}" \
+				SAMBA4_CONFDIR="${_CONFDIR}" \
+				SAMBA4_CONFIG="${_SAMBA_CONFIG}" \
+				SAMBA4_SERVICES="${_SAMBA_SERVICES}"
+
+_SAMBA_CONFIG=			smb4.conf
+
+# XXX: Instead of defining _CONFDIR we could probably just set ETCDIR.
+_CONFDIR=			${PREFIX}/etc
+_BINDDNSDIR=			${_LOCKDIR}/bind-dns
+_LOCKDIR=			${_VARDIR}/db/${_SAMBA_MAJVERNAME}
+_LOGDIR=			${_VARDIR}/log/${_SAMBA_MAJVERNAME}
+_PAMDIR=			${PREFIX}/lib
+_PKGCONFIGDIR=			${PREFIX}/${_PKGCONFIGDIR_REL}
+_PKGCONFIGDIR_REL=		libdata/pkgconfig
+_PRIVATEDIR=			${_LOCKDIR}/private
+_RUNDIR=			${_VARDIR}/run/${_SAMBA_MAJVERNAME}
+_VARDIR=			${DESTDIR}/var
 
-.for module_class in ${SAMBA4_MODULES_CLASS}
-PLIST_DIRS+=			${SAMBA4_MODULEDIR}/${module_class}
-.endfor
-PLIST_DIRS+=			${SAMBA4_MODULEDIR}
+.include <bsd.port.options.mk>
 
-.if defined(WITH_DEBUG)
-CONFIGURE_ARGS+=		--verbose --enable-debug
-MAKE_ARGS+=			--verbose
-DEBUG_FLAGS?=			-g -ggdb3 -O0
+.if ${PORT_OPTIONS:MPYTHON3}
+_BUNDLED_LIBS+=			${"${PORT_OPTIONS:MBUNDLED_TALLOC}" == "BUNDLED_TALLOC":?:!}pytalloc-util
+_BUNDLED_LIBS+=			${"${PORT_OPTIONS:MBUNDLED_TEVENT}" == "BUNDLED_TEVENT":?:!}pytevent
+_BUNDLED_LIBS+=			${"${PORT_OPTIONS:MBUNDLED_TDB}" == "BUNDLED_TDB":?:!}pytdb
 .endif
 
-# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046
-GDB_CMD?=			${LOCALBASE}/bin/gdb
-
-_ISO8601_DEPENDS=	${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR}
-_JANSSON_DEPENDS=	jansson>=2.10:devel/jansson
-_LIBARCHIVE_DEPENDS=	libarchive>=3.1.2:archivers/libarchive
-_TASN1_DEPENDS=		libtasn1>=3.8:security/libtasn1
-
-##############################################################################
-.include <bsd.port.pre.mk>
-##############################################################################
 # Only for 64-bit architectures
 .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != powerpc && ${ARCH} != powerpcspe
 .	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 \
+_LMDB_DEPDENDS=			lmdb>=0.9.16:databases/lmdb
+PLIST_FILES+=			${SAMBA_LIBDIR}/private/libldb-mdb-int-private-samba.so \
 				${SAMBA_LDB_MODULESDIR}/mdb.so
 .	endif
 .endif
@@ -493,13 +447,13 @@ post-extract:
 	@${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp
 
 post-patch:
-	@${REINPLACE_CMD} -e 's|$${PKGCONFIGDIR}|${PKGCONFIGDIR}|g' \
+	@${REINPLACE_CMD} -e 's|$${PKGCONFIGDIR}|${_PKGCONFIGDIR}|g' \
 		${PATCH_WRKSRC}/buildtools/wafsamba/pkgconfig.py
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
 		${PATCH_WRKSRC}/buildtools/wafsamba/wafsamba.py
-	@${REINPLACE_CMD} -e 's|%%GDB_CMD%%|${GDB_CMD}|g' \
+	@${REINPLACE_CMD} -e 's|%%GDB_CMD%%|${_GDB_CMD}|g' \
 		${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh
-	@${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${SAMBA4_CONFIG}|g' \
+	@${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${_SAMBA_CONFIG}|g' \
 		${PATCH_WRKSRC}/dynconfig/wscript
 
 post-install:
@@ -508,13 +462,13 @@ post-install:
 		-type d -print0 | ${XARGS} -0 -n 1 -t ${RM} -r
 	${FIND} ${STAGEDIR} -type f -empty -delete
 
-.for dir in ${SAMBA4_LOGDIR} ${SAMBA4_RUNDIR} ${SAMBA4_LOCKDIR} ${SAMBA4_MODULEDIR}
+.for dir in ${_LOGDIR} ${_RUNDIR} ${_LOCKDIR} ${SAMBA_MODULESDIR}
 	${INSTALL} -d -m 0755 "${STAGEDIR}${dir}"
 .endfor
-	${INSTALL} -d -m 0750 "${STAGEDIR}${SAMBA4_BINDDNSDIR}"
-	${INSTALL} -d -m 0750 "${STAGEDIR}${SAMBA4_PRIVATEDIR}"
-.for module_class in ${SAMBA4_MODULES_CLASS}
-	${INSTALL} -d -m 0755 "${STAGEDIR}${SAMBA4_MODULEDIR}/${module_class}"
+	${INSTALL} -d -m 0750 "${STAGEDIR}${_BINDDNSDIR}"
+	${INSTALL} -d -m 0750 "${STAGEDIR}${_PRIVATEDIR}"
+.for module_class in ${_MODULE_CLASSES}
+	${INSTALL} -d -m 0755 "${STAGEDIR}${SAMBA_MODULESDIR}/${module_class}"
 .endfor
 .if !defined(WITH_DEBUG)
 	-${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin ${STAGEDIR}${PREFIX}/libexec \
@@ -523,11 +477,19 @@ post-install:
 		-type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD}
 .endif
 
-post-install-DOCS-on:
-	${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for doc in ${PORTDOCS}
-	${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR}
-.endfor
+post-install-BUNDLED_TALLOC-on:
+.if ${PORT_OPTIONS:MMANPAGES}
+.  for f in talloc.3
+	${MV} ${STAGEDIR}${PREFIX}/share/man/man3/${f} ${STAGEDIR}${PREFIX}/share/man/man3/samba-${f}
+.  endfor
+.endif
+
+post-install-BUNDLED_TDB-on:
+.if ${PORT_OPTIONS:MMANPAGES}
+.  for f in tdbbackup.8 tdbdump.8 tdbrestore.8 tdbtool.8
+	${MV} ${STAGEDIR}${PREFIX}/share/man/man8/${f} ${STAGEDIR}${PREFIX}/share/man/man8/samba-${f}
+.  endfor
+.endif
 
 post-install-CLUSTER-on:
 	${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/00.ctdb.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/00.ctdb.script
@@ -536,8 +498,14 @@ post-install-CLUSTER-on:
 	${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/10.interface.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/10.interface.script
 	${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/95.database.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/95.database.script
 
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for doc in ${PORTDOCS}
+	${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR}
+.endfor
+
 post-install-FRUIT-off:
-	${RM} ${STAGEDIR}${SAMBA4_MODULEDIR}/vfs/fruit.so
+	${RM} ${STAGEDIR}${SAMBA_MODULESDIR}/vfs/fruit.so
 	${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8
 
 post-install-MANPAGES-on:
@@ -547,16 +515,4 @@ post-install-MANPAGES-on:
 	${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f}
 .endfor
 
-.if ${SAMBA4_BUNDLED_TALLOC} == yes
-.  for f in talloc.3
-	${MV} ${STAGEDIR}${PREFIX}/share/man/man3/${f} ${STAGEDIR}${PREFIX}/share/man/man3/samba-${f}
-.  endfor
-.endif
-
-.if ${SAMBA4_BUNDLED_TDB} == yes
-.  for f in tdbbackup.8 tdbdump.8 tdbrestore.8 tdbtool.8
-	${MV} ${STAGEDIR}${PREFIX}/share/man/man8/${f} ${STAGEDIR}${PREFIX}/share/man/man8/samba-${f}
-.  endfor
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/net/samba422/pkg-plist b/net/samba422/pkg-plist
index 5cb0c0f81aec..5898fca60c80 100644
--- a/net/samba422/pkg-plist
+++ b/net/samba422/pkg-plist
@@ -428,7 +428,7 @@ libexec/samba/samba-dcerpcd
 @dir %%SAMBA4_PRIVATEDIR%%
 @dir %%SAMBA4_BINDDNSDIR%%
 @comment Use bundled libraries
-%%SAMBA4_BUNDLED_CMOCKA%%%%SAMBA4_LIBDIR%%/private/libcmocka-private-samba.so
+%%BUNDLED_CMOCKA%%%%SAMBA4_LIBDIR%%/private/libcmocka-private-samba.so
 %%PYTHON3%%%%PYTHON_SITELIBDIR%%/_ldb_text.py
 %%PYTHON3%%%%PYTHON_SITELIBDIR%%/ldb%%PYTHON_TAG%%.so
 %%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_TAG%%-private-samba.so
@@ -460,21 +460,21 @@ bin/ldbsearch
 %%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/samba-tdbbackup.8.gz
-%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbdump.8.gz
-%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbrestore.8.gz
-%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbtool.8.gz
-%%SAMBA4_BUNDLED_TALLOC%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/talloc%%PYTHON_TAG%%.so
-%%SAMBA4_BUNDLED_TALLOC%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpytalloc-util%%PYTHON_TAG%%-private-samba.so
-%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_LIBDIR%%/private/libtalloc-private-samba.so
-%%SAMBA4_BUNDLED_TALLOC%%share/man/man3/samba-talloc.3.gz
-%%SAMBA4_BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tdb_text.py
-%%SAMBA4_BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tdb%%PYTHON_TAG%%.so
-%%SAMBA4_BUNDLED_TDB%%bin/tdbbackup
-%%SAMBA4_BUNDLED_TDB%%bin/tdbdump
-%%SAMBA4_BUNDLED_TDB%%bin/tdbrestore
-%%SAMBA4_BUNDLED_TDB%%bin/tdbtool
-%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_LIBDIR%%/private/libtdb-private-samba.so
-%%SAMBA4_BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tevent%%PYTHON_TAG%%.so
-%%SAMBA4_BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tevent.py
-%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_LIBDIR%%/private/libtevent-private-samba.so
+%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbbackup.8.gz
+%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbdump.8.gz
+%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbrestore.8.gz
+%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbtool.8.gz
+%%BUNDLED_TALLOC%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/talloc%%PYTHON_TAG%%.so
+%%BUNDLED_TALLOC%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpytalloc-util%%PYTHON_TAG%%-private-samba.so
+%%BUNDLED_TALLOC%%%%SAMBA4_LIBDIR%%/private/libtalloc-private-samba.so
+%%BUNDLED_TALLOC%%share/man/man3/samba-talloc.3.gz
+%%BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tdb_text.py
+%%BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tdb%%PYTHON_TAG%%.so
+%%BUNDLED_TDB%%bin/tdbbackup
+%%BUNDLED_TDB%%bin/tdbdump
+%%BUNDLED_TDB%%bin/tdbrestore
+%%BUNDLED_TDB%%bin/tdbtool
+%%BUNDLED_TDB%%%%SAMBA4_LIBDIR%%/private/libtdb-private-samba.so
+%%BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tevent%%PYTHON_TAG%%.so
+%%BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tevent.py
+%%BUNDLED_TEVENT%%%%SAMBA4_LIBDIR%%/private/libtevent-private-samba.so