diff options
Diffstat (limited to 'net/samba422/Makefile')
| -rw-r--r-- | net/samba422/Makefile | 429 |
1 files changed, 193 insertions, 236 deletions
diff --git a/net/samba422/Makefile b/net/samba422/Makefile index 35329138fecf..c45dadb106fd 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}" \ - --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-pkgconfigdir="${_PKGCONFIGDIR}" \ + --localstatedir="${_LOCALSTATEDIR}" \ + --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,8 +102,14 @@ CONFIGURE_ARGS+= \ --with-sendfile-support \ --disable-ctdb-tests \ --disable-spotlight +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}" \ @@ -140,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 \ @@ -183,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 @@ -208,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 @@ -228,79 +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 -# cmocka -.if defined(SAMBA4_BUNDLED_CMOCKA) && ${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 defined(SAMBA4_BUNDLED_TALLOC) && ${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 defined(SAMBA4_BUNDLED_TEVENT) && ${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 defined(SAMBA4_BUNDLED_TDB) && ${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 (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes) \ - || (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == 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]-* - -############################################################################## 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 @@ -311,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 @@ -320,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 @@ -340,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} @@ -357,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 @@ -371,9 +323,8 @@ 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 MEMORY_DEBUG_CONFIGURE_ENV= ADDITIONAL_CFLAGS="-DENABLE_JEMALLOC `pkg-config --cflags jemalloc`" ADDITIONAL_LDFLAGS="`pkg-config --libs jemalloc`" @@ -392,10 +343,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 @@ -407,26 +355,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 \ @@ -437,55 +397,48 @@ 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 - -.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 - -.if defined(SAMBA4_MODULES) && !empty(SAMBA4_MODULES) -CONFIGURE_ARGS+= --with-shared-modules="${SAMBA4_MODULES:C|-|_|:Q:C|(\\\\ )+|,|g:S|\\||g}" -.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 +_LOCALSTATEDIR= ${_VARDIR} +_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= /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 @@ -494,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: @@ -509,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 \ @@ -524,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 @@ -537,8 +498,16 @@ 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 + ${RLN} ${STAGEDIR}${PREFIX}/libexec/ctdb/statd_callout ${STAGEDIR}${PREFIX}/etc/ctdb/statd-callout + +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: @@ -548,16 +517,4 @@ post-install-MANPAGES-on: ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f} .endfor -.if defined(SAMBA4_BUNDLED_TALLOC) && ${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 defined(SAMBA4_BUNDLED_TDB) && ${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> |
