Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 09 Dec 2025 08:16:56 +0000
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: a66009bf2511 - main - samba.mk: Add samba:self, SAMBA_LDB_MODULESDIR and SAMBA_IDMAP_MODULESDIR
Message-ID:  <6937daf8.2ed08.1f251822@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help

The branch main has been updated by 0mp:

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

commit a66009bf2511eec9f2ae65ed2f0d7ae3e5db6138
Author:     Mateusz Piotrowski <0mp@FreeBSD.org>
AuthorDate: 2025-12-04 13:09:02 +0000
Commit:     Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2025-12-09 08:15:15 +0000

    samba.mk: Add samba:self, SAMBA_LDB_MODULESDIR and SAMBA_IDMAP_MODULESDIR
    
    The new argument, samba:self, is similar to samba:env. It allows a port
    to reference samba.mk variables without adding dependencies on the Samba
    port to *_DEPENDS. The difference is that samba:self is intended to be
    used by Samba ports. This way we can be sure that Samba and its
    consumers agree on the location of shared files and directories.
    
    New *DIR variables are SAMBA_LDB_MODULESDIR and SAMBA_IDMAP_MODULESDIR
    as required by security/sssd2.
    
    PR:             290424
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D54136
---
 Mk/Uses/samba.mk | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/Mk/Uses/samba.mk b/Mk/Uses/samba.mk
index e40db0b0e5bd..ca41232a6e6f 100644
--- a/Mk/Uses/samba.mk
+++ b/Mk/Uses/samba.mk
@@ -2,7 +2,7 @@
 #
 # Feature:	samba
 # Usage:	USES=samba or USES=samba:ARGS
-# Valid ARGS:	build, env, lib, run
+# Valid ARGS:	build, env, lib, self, run
 #		default is build,run (implicit)
 #
 # MAINTAINER: samba@FreeBSD.org
@@ -14,16 +14,36 @@ _INCLUDE_USES_SAMBA_MK=   yes
 samba_ARGS=	build run
 .  endif
 
-.  if ${samba_ARGS:Nbuild:Nenv:Nlib:Nrun}
-IGNORE=		USES=samba has invalid arguments: ${samba_ARGS:Nbuild:Nenv:Nlib:Nrun}
+.  if ${samba_ARGS:Nbuild:Nenv:Nlib:Nself:Nrun}
+IGNORE=		USES=samba has invalid arguments: ${samba_ARGS:Nbuild:Nenv:Nlib:Nself:Nrun}
 .  endif
 
 .  if ${SAMBA_DEFAULT} != 4.16 && ${SAMBA_DEFAULT} != 4.19 && ${SAMBA_DEFAULT} != 4.20 && ${SAMBA_DEFAULT} != 4.22
 IGNORE=		Invalid version of samba: ${SAMBA_DEFAULT}
 .  endif
 
+# E.g., "422".
 SAMBA_SUFFIX=	${SAMBA_DEFAULT:S/.//}
+# _SAMBA_BASE is the directory where Samba is installed. For Samba
+# consumers that is LOCALBASE, while it is PREFIX for Samba itself.
+_SAMBA_BASE=	${LOCALBASE}
+.  if ${samba_ARGS:Mself}
+_SAMBA_BASE=	${PREFIX}
+.  endif
+
+### Directories
+SAMBA_LDB_MODULESDIR_416=	${LOCALBASE}/lib/shared-modules/ldb
+SAMBA_LDB_MODULESDIR_419=	${LOCALBASE}/lib/shared-modules/ldb
+SAMBA_LDB_MODULESDIR_420=	${LOCALBASE}/lib/shared-modules/ldb
+SAMBA_LDB_MODULESDIR_422=	${SAMBA_MODULESDIR}/ldb
+
+SAMBA_INCLUDEDIR=	${_SAMBA_BASE}/include/samba4
+SAMBA_LIBDIR=		${_SAMBA_BASE}/lib/samba4
+SAMBA_MODULESDIR=	${SAMBA_LIBDIR}/modules
+SAMBA_IDMAP_MODULESDIR=	${SAMBA_MODULESDIR}/idmap
+SAMBA_LDB_MODULESDIR=	${SAMBA_LDB_MODULESDIR_${SAMBA_SUFFIX}}
 
+### Port names
 SAMBA_PORT_416=		net/samba416
 SAMBA_LDB_PORT_416=	databases/ldb25
 SAMBA_TALLOC_PORT_416=	devel/talloc
@@ -45,8 +65,6 @@ SAMBA_TDB_PORT_422=	databases/tdb1413
 SAMBA_TEVENT_PORT_422=	devel/tevent017
 
 SAMBA_PORT=		${SAMBA_PORT_${SAMBA_SUFFIX}}
-SAMBA_INCLUDEDIR=	${LOCALBASE}/include/samba4
-SAMBA_LIBDIR=		${LOCALBASE}/lib/samba4
 # Only define SAMBA_LDB_PORT if SAMBA_LDB_PORT_${SAMBA_SUFFIX} is set. Samba
 # requires ldb to be bundled since version 4.22, so it makes no sense to set
 # SAMBA_LDB_PORT in that case. By not setting SAMBA_LDB_PORT, we allow ports to
@@ -58,6 +76,7 @@ SAMBA_TALLOC_PORT=	${SAMBA_TALLOC_PORT_${SAMBA_SUFFIX}}
 SAMBA_TDB_PORT=		${SAMBA_TDB_PORT_${SAMBA_SUFFIX}}
 SAMBA_TEVENT_PORT=	${SAMBA_TEVENT_PORT_${SAMBA_SUFFIX}}
 
+### Dependencies
 .  if ${samba_ARGS:Mbuild}
 BUILD_DEPENDS+=	smbd:${SAMBA_PORT}
 .  endif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6937daf8.2ed08.1f251822>