Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Jun 2019 19:27:35 +0000 (UTC)
From:      "Timur I. Bakeyev" <timur@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r505446 - in head/net/samba410: . files files/man
Message-ID:  <201906301927.x5UJRZ2g081420@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: timur
Date: Sun Jun 30 19:27:35 2019
New Revision: 505446
URL: https://svnweb.freebsd.org/changeset/ports/505446

Log:
  New Samba 4.10 port.

Added:
  head/net/samba410/files/man/ctdb-script.options.5   (contents, props changed)
  head/net/samba410/files/man/ctdb.conf.5   (contents, props changed)
  head/net/samba410/files/man/ctdb.sysconfig.5   (contents, props changed)
  head/net/samba410/files/man/samba-gpupdate.8   (contents, props changed)
  head/net/samba410/files/man/vfs_freebsd.8   (contents, props changed)
  head/net/samba410/files/patch-bind14   (contents, props changed)
  head/net/samba410/files/patch-buildtools_scripts_abi__gen.sh   (contents, props changed)
  head/net/samba410/files/patch-buildtools_wafsamba_samba__autoconf.py   (contents, props changed)
  head/net/samba410/files/patch-buildtools_wafsamba_samba__install.py   (contents, props changed)
  head/net/samba410/files/patch-buildtools_wafsamba_wafsamba.py   (contents, props changed)
  head/net/samba410/files/patch-buildtools_wafsamba_wscript   (contents, props changed)
  head/net/samba410/files/patch-ctdb_wscript   (contents, props changed)
  head/net/samba410/files/patch-dwrap   (contents, props changed)
  head/net/samba410/files/patch-dynconfig_wscript   (contents, props changed)
  head/net/samba410/files/patch-examples_pdb_wscript__build   (contents, props changed)
  head/net/samba410/files/patch-lib_crypto_wscript__configure   (contents, props changed)
  head/net/samba410/files/patch-lib_ldb_ldb__key__value_ldb__kv__cache.c   (contents, props changed)
  head/net/samba410/files/patch-lib_ldb_ldb__mdb_ldb__mdb.c   (contents, props changed)
  head/net/samba410/files/patch-lib_ldb_wscript   (contents, props changed)
  head/net/samba410/files/patch-lib_replace_wscript   (contents, props changed)
  head/net/samba410/files/patch-lib_talloc_talloc.c   (contents, props changed)
  head/net/samba410/files/patch-lib_talloc_wscript   (contents, props changed)
  head/net/samba410/files/patch-lib_util_wscript__build   (contents, props changed)
  head/net/samba410/files/patch-listen-backlog   (contents, props changed)
  head/net/samba410/files/patch-mdns   (contents, props changed)
  head/net/samba410/files/patch-nsswitch_wscript__build   (contents, props changed)
  head/net/samba410/files/patch-source3_include_includes.h   (contents, props changed)
  head/net/samba410/files/patch-source3_lib_sysquotas__4B.c   (contents, props changed)
  head/net/samba410/files/patch-source3_lib_util.c   (contents, props changed)
  head/net/samba410/files/patch-source3_librpc_crypto_gse.c   (contents, props changed)
  head/net/samba410/files/patch-source3_modules_vfs__fruit.c   (contents, props changed)
  head/net/samba410/files/patch-source3_modules_vfs__virusfilter__utils.c   (contents, props changed)
  head/net/samba410/files/patch-source3_registry_tests_test__regfio.c   (contents, props changed)
  head/net/samba410/files/patch-source3_smbd_quotas.c   (contents, props changed)
  head/net/samba410/files/patch-source3_smbd_utmp.c   (contents, props changed)
  head/net/samba410/files/patch-source3_torture_cmd__vfs.c   (contents, props changed)
  head/net/samba410/files/patch-source3_utils_net.c   (contents, props changed)
  head/net/samba410/files/patch-source3_utils_net__time.c   (contents, props changed)
  head/net/samba410/files/patch-source3_winbindd_wscript__build   (contents, props changed)
  head/net/samba410/files/patch-source3_wscript   (contents, props changed)
  head/net/samba410/files/patch-source3_wscript__build   (contents, props changed)
  head/net/samba410/files/patch-source4_heimdal__build_wscript__configure   (contents, props changed)
  head/net/samba410/files/patch-source4_heimdal_lib_roken_rand.c   (contents, props changed)
  head/net/samba410/files/patch-source4_kdc_kdc-service-mit.c   (contents, props changed)
  head/net/samba410/files/patch-source4_lib_http_http.c   (contents, props changed)
  head/net/samba410/files/patch-vfs_freebsd   (contents, props changed)
Deleted:
  head/net/samba410/files/0001-Freenas-master-mdns-fixes-22.patch
  head/net/samba410/files/0001-audit.patch
  head/net/samba410/files/0001-bug-228462.patch
  head/net/samba410/files/0001-ctdb.patch
  head/net/samba410/files/man/ctdb-etcd.7
  head/net/samba410/files/man/ctdb_mutex_ceph_rados_helper.7
  head/net/samba410/files/man/ctdbd.conf.5
  head/net/samba410/files/man/samba_gpoupdate.8
  head/net/samba410/files/patch-bind13
  head/net/samba410/files/patch-buildtools__scripts__abi_gen.sh
  head/net/samba410/files/patch-buildtools__wafsamba__samba_autoconf.py
  head/net/samba410/files/patch-buildtools__wafsamba__samba_install.py
  head/net/samba410/files/patch-buildtools__wafsamba__samba_python.py
  head/net/samba410/files/patch-buildtools__wafsamba__wafsamba.py
  head/net/samba410/files/patch-buildtools__wafsamba__wscript
  head/net/samba410/files/patch-ctdb__wscript
  head/net/samba410/files/patch-dbwrap
  head/net/samba410/files/patch-dnssock.c
  head/net/samba410/files/patch-dynconfig__wscript
  head/net/samba410/files/patch-examples__pdb__wscript_build
  head/net/samba410/files/patch-glusterfs
  head/net/samba410/files/patch-includes.h
  head/net/samba410/files/patch-lib__crypto__wscript_configure
  head/net/samba410/files/patch-lib__ldb__ldb_cache.c
  head/net/samba410/files/patch-lib__replace__wscript
  head/net/samba410/files/patch-lib__talloc__talloc.c
  head/net/samba410/files/patch-lib__talloc__wscript
  head/net/samba410/files/patch-lib__util__debug.c
  head/net/samba410/files/patch-lib__util__wscript_build
  head/net/samba410/files/patch-librpc__idl__xattr.idl
  head/net/samba410/files/patch-nsswitch__wscript_build
  head/net/samba410/files/patch-source3__lib__sysquotas_4B.c
  head/net/samba410/files/patch-source3__lib__util.c
  head/net/samba410/files/patch-source3__librpc__crypto__gse.c
  head/net/samba410/files/patch-source3__modules__wscript_build
  head/net/samba410/files/patch-source3__smbd__quotas.c
  head/net/samba410/files/patch-source3__smbd__utmp.c
  head/net/samba410/files/patch-source3__utils__net.c
  head/net/samba410/files/patch-source3__utils__net_time.c
  head/net/samba410/files/patch-source3__winbindd__wscript_build
  head/net/samba410/files/patch-source3__wscript
  head/net/samba410/files/patch-source3__wscript_build
  head/net/samba410/files/patch-source3_modules_vfs__freebsd.c
  head/net/samba410/files/patch-source3_rpc__server_mdssvc_mdssvc.c
  head/net/samba410/files/patch-source4__heimdal__lib__roken__rand.c
  head/net/samba410/files/patch-source4__kdc__kdc-service-mit.c
  head/net/samba410/files/patch-source4__lib__http__http.c
  head/net/samba410/files/patch-third__party_aesni-intel_wscript
  head/net/samba410/files/patch-third_party__waf__wafadmin__Logs.py
  head/net/samba410/files/patch-third_party__waf__wafadmin__Tools__cc.py
  head/net/samba410/files/patch-vfs_virusfilter
Modified:
  head/net/samba410/Makefile
  head/net/samba410/distinfo
  head/net/samba410/files/0001-Zfs-provision-1.patch
  head/net/samba410/files/man/ctdb-statistics.7
  head/net/samba410/files/man/ctdb-tunables.7
  head/net/samba410/files/man/ctdb.1
  head/net/samba410/files/man/ctdb.7
  head/net/samba410/files/man/ctdb_diagnostics.1
  head/net/samba410/files/man/ctdbd.1
  head/net/samba410/files/man/ctdbd_wrapper.1
  head/net/samba410/files/patch-source3_modules_vfs__streams__xattr.c
  head/net/samba410/pkg-plist

Modified: head/net/samba410/Makefile
==============================================================================
--- head/net/samba410/Makefile	Sun Jun 30 19:19:45 2019	(r505445)
+++ head/net/samba410/Makefile	Sun Jun 30 19:27:35 2019	(r505446)
@@ -1,9 +1,9 @@
 # Created by: timur@FreeBSD.org
 # $FreeBSD$
 
-PORTNAME=			${SAMBA4_BASENAME}48
+PORTNAME=			${SAMBA4_BASENAME}410
 PORTVERSION=			${SAMBA4_VERSION}
-PORTREVISION=			1
+PORTREVISION=			0
 CATEGORIES?=			net
 MASTER_SITES=			SAMBA/samba/stable SAMBA/samba/rc
 DISTNAME=			${SAMBA4_DISTNAME}
@@ -16,16 +16,13 @@ LICENSE_FILE=			${WRKSRC}/COPYING
 
 IGNORE_NONTHREAD_PYTHON=	needs port lang/python${PYTHON_SUFFIX} to be build with THREADS support
 
-CONFLICTS_INSTALL?=		samba4-4.0.* samba4[1-79]-4.* p5-Parse-Pidl-4.*
+CONFLICTS_INSTALL?=		samba4-4.0.* samba4[1-9]-4.* p5-Parse-Pidl-4.*
 
 EXTRA_PATCHES+=			${PATCHDIR}/0001-Zfs-provision-1.patch:-p1
-EXTRA_PATCHES+=			${PATCHDIR}/0001-Freenas-master-mdns-fixes-22.patch:-p1
-EXTRA_PATCHES+=			${PATCHDIR}/0001-audit.patch:-p1
-EXTRA_PATCHES+=			${PATCHDIR}/0001-bug-228462.patch:-p1
 
 SAMBA4_BASENAME=		samba
 SAMBA4_PORTNAME=		${SAMBA4_BASENAME}4
-SAMBA4_VERSION=			4.8.12
+SAMBA4_VERSION=			4.10.5
 SAMBA4_DISTNAME=		${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
 
 WRKSRC?=			${WRKDIR}/${DISTNAME}
@@ -42,7 +39,6 @@ SAMBA4_BINDDNSDIR=		${SAMBA4_LOCKDIR}/bind-dns
 SAMBA4_PRIVATEDIR=		${SAMBA4_LOCKDIR}/private
 SAMBA4_PAMDIR=			${PREFIX}/lib
 SAMBA4_LIBDIR=			${PREFIX}/lib/${SAMBA4_PORTNAME}
-SAMBA4_MODULEDIR=		${PREFIX}/lib/shared-modules
 SAMBA4_INCLUDEDIR=		${PREFIX}/include/${SAMBA4_PORTNAME}
 SAMBA4_CONFDIR=			${PREFIX}/etc
 SAMBA4_CONFIG=			smb4.conf
@@ -74,6 +70,7 @@ USES=				compiler:c++11-lang cpe iconv gettext-runtime
 				ssl waf
 USE_PERL5=			build
 USE_LDCONFIG=			${SAMBA4_LIBDIR}
+LLD_UNSAFE=			yes
 WAF_CMD=			buildtools/bin/waf
 CONFIGURE_LOG=			bin/config.log
 
@@ -136,7 +133,7 @@ NSUPDATE_DESC=			Use samba NSUPDATE utility for AD DC
 # the system)
 # Readline(sponsored by Python)
 # XXX: USES=readline pollutes CPPFLAGS, so we explicitly put dependency
-LIB_DEPENDS+=			libreadline.so.8:devel/readline
+LIB_DEPENDS+=			libreadline.so:devel/readline
 # popt
 LIB_DEPENDS+=			libpopt.so:devel/popt
 # inotify
@@ -148,6 +145,8 @@ LIB_DEPENDS+=			libsunacl.so:sysutils/libsunacl
 # Jansson
 BUILD_DEPENDS+=			jansson>=2.10:devel/jansson
 RUN_DEPENDS+=			jansson>=2.10:devel/jansson
+# tasn1
+LIB_DEPENDS+=			libtasn1.so:security/libtasn1
 # External Samba dependencies
 # Needed for IDL compiler
 BUILD_DEPENDS+=			p5-Parse-Yapp>=0:devel/p5-Parse-Yapp
@@ -161,7 +160,7 @@ SAMBA4_BUNDLED_TALLOC?=		no
 SAMBA4_BUNDLED_TEVENT?=		no
 SAMBA4_BUNDLED_TDB?=		no
 SAMBA4_BUNDLED_LDB?=		yes
-SAMBA4_LDB=			13
+SAMBA4_LDB=			15
 # cmocka
 .if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes
 SAMBA4_BUNDLED_LIBS+=		cmocka
@@ -170,47 +169,47 @@ PLIST_SUB+=			SAMBA4_BUNDLED_CMOCKA=""
 SUB_LIST+=			SAMBA4_BUNDLED_CMOCKA=""
 .else
 SAMBA4_BUNDLED_LIBS+=		!cmocka
-BUILD_DEPENDS+=			cmocka>=1.1.1:sysutils/cmocka
-RUN_DEPENDS+=			cmocka>=1.1.1:sysutils/cmocka
+BUILD_DEPENDS+=			cmocka>=1.1.3:sysutils/cmocka
+RUN_DEPENDS+=			cmocka>=1.1.3:sysutils/cmocka
 PLIST_SUB+=			SAMBA4_BUNDLED_CMOCKA="@comment "
 SUB_LIST+=			SAMBA4_BUNDLED_CMOCKA="@comment "
 .endif
 # talloc
 .if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes
 SAMBA4_BUNDLED_LIBS+=		talloc
-CONFLICTS+=			talloc1-2.*
+CONFLICTS+=			talloc-* talloc1-*
 PLIST_SUB+=			SAMBA4_BUNDLED_TALLOC=""
 SUB_LIST+=			SAMBA4_BUNDLED_TALLOC=""
 .else
 SAMBA4_BUNDLED_LIBS+=		!talloc
-BUILD_DEPENDS+=			talloc1>=2.1.14:devel/talloc1
-RUN_DEPENDS+=			talloc1>=2.1.14:devel/talloc1
+BUILD_DEPENDS+=			talloc>=2.2.0:devel/talloc
+RUN_DEPENDS+=			talloc>=2.2.0:devel/talloc
 PLIST_SUB+=			SAMBA4_BUNDLED_TALLOC="@comment "
 SUB_LIST+=			SAMBA4_BUNDLED_TALLOC="@comment "
 .endif
 # tevent
 .if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes
 SAMBA4_BUNDLED_LIBS+=		tevent
-CONFLICTS+=			tevent1-0.*
+CONFLICTS+=			tevent-* tevent1-*
 PLIST_SUB+=			SAMBA4_BUNDLED_TEVENT=""
 SUB_LIST+=			SAMBA4_BUNDLED_TEVENT=""
 .else
 SAMBA4_BUNDLED_LIBS+=		!tevent
-BUILD_DEPENDS+=			tevent1>=0.9.37:devel/tevent1
-RUN_DEPENDS+=			tevent1>=0.9.37:devel/tevent1
+BUILD_DEPENDS+=			tevent>=0.10.0:devel/tevent
+RUN_DEPENDS+=			tevent>=0.10.0:devel/tevent
 PLIST_SUB+=			SAMBA4_BUNDLED_TEVENT="@comment "
 SUB_LIST+=			SAMBA4_BUNDLED_TEVENT="@comment "
 .endif
 # tdb
 .if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes
 SAMBA4_BUNDLED_LIBS+=		tdb
-CONFLICTS+=			tdb1-1.*
+CONFLICTS+=			tdb-* tdb1-*
 PLIST_SUB+=			SAMBA4_BUNDLED_TDB=""
 SUB_LIST+=			SAMBA4_BUNDLED_TDB=""
 .else
 SAMBA4_BUNDLED_LIBS+=		!tdb
-BUILD_DEPENDS+=			tdb1>=1.3.15:databases/tdb1
-RUN_DEPENDS+=			tdb1>=1.3.15:databases/tdb1
+BUILD_DEPENDS+=			tdb>=1.4.0:databases/tdb
+RUN_DEPENDS+=			tdb>=1.4.0:databases/tdb
 PLIST_SUB+=			SAMBA4_BUNDLED_TDB="@comment "
 SUB_LIST+=			SAMBA4_BUNDLED_TDB="@comment "
 .endif
@@ -218,26 +217,19 @@ SUB_LIST+=			SAMBA4_BUNDLED_TDB="@comment "
 .if (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) || !defined(SAMBA4_LDB)
 SAMBA4_BUNDLED_LDB=		yes
 SAMBA4_BUNDLED_LIBS+=		ldb
-CONFLICTS+=			ldb-1.* ldb1[23]-1.*
 PLIST_SUB+=			SAMBA4_BUNDLED_LDB=""
 SUB_LIST+=			SAMBA4_BUNDLED_LDB=""
+SAMBA4_MODULEDIR=		${SAMBA4_LIBDIR}/modules
 .else
-.       if ${SAMBA4_LDB} == 13
-BUILD_DEPENDS+=			ldb13>=1.3.6:databases/ldb13
-RUN_DEPENDS+=			ldb13>=1.3.6:databases/ldb13
-.       elif ${SAMBA4_LDB} == 12
-BUILD_DEPENDS+=			ldb12>=1.2.3:databases/ldb12
-RUN_DEPENDS+=			ldb12>=1.2.3:databases/ldb12
-.       elif ${SAMBA4_LDB} == 11
-BUILD_DEPENDS+=			ldb>=1.1.29:databases/ldb
-RUN_DEPENDS+=			ldb>=1.1.29:databases/ldb
-.       endif
 SAMBA4_BUNDLED_LIBS+=		!ldb
+BUILD_DEPENDS+=			ldb14>=1.5.4:databases/ldb15
+RUN_DEPENDS+=			ldb14>=1.5.4:databases/ldb15
 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_TEVENT} == yes) \
+.if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TEVENT} == yes) \
 	|| (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \
 	|| (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes)
 SAMBA4_BUNDLED_LIBS+=		replace
@@ -272,6 +264,7 @@ CONFIGURE_ARGS+=		\
 				${ICONV_CONFIGURE_BASE}
 ##############################################################################
 BIND911_RUN_DEPENDS=		bind911>=9.11.0.0:dns/bind911
+BIND912_RUN_DEPENDS=		bind912>=9.12.0.0:dns/bind912
 BIND913_RUN_DEPENDS=		bind913>=9.13.0.0:dns/bind913
 BIND914_RUN_DEPENDS=		bind914>=9.14.0.0:dns/bind914
 NSUPDATE_RUN_DEPENDS=		samba-nsupdate:dns/samba-nsupdate
@@ -299,13 +292,16 @@ PICKY_DEVELOPER_CONFIGURE_ON=	--picky-developer
 
 DEVELOPER_IMPLIES=		NTVFS
 DEVELOPER_CONFIGURE_ON=		--enable-developer --enable-selftest --abi-check-disable
-DEVELOPER_BUILD_DEPENDS=	${GDB_CMD}:devel/gdb
+DEVELOPER_RUN_DEPENDS=		${SAMBA4_LMDB_DEPENDS}
+DEVELOPER_BUILD_DEPENDS=	${GDB_CMD}:devel/gdb \
+				${SAMBA4_LMDB_DEPENDS}
 DEVELOPER_TEST_DEPENDS=		${GDB_CMD}:devel/gdb
 DEVELOPER_VARS_OFF=		GDB_CMD=true
 # XXX: Mostly used in conjuction with the DEVELOPER option, don't enable it
 # if you don't know what you are doing
+NTVS_IMPLIES=			AD_DC
 NTVFS_CONFIGURE_WITH=		ntvfs-fileserver
-NTVFS_PLIST_FILES=		lib/shared-modules/service/smb.so \
+NTVFS_PLIST_FILES=		${SAMBA4_MODULEDIR}/service/smb.so \
 				lib/samba4/private/libntvfs-samba4.so
 ##############################################################################
 CLUSTER_CONFIGURE_WITH=		cluster-support
@@ -319,6 +315,7 @@ FAM_CONFIGURE_WITH=		fam
 GLUSTERFS_CONFIGURE_ENABLE=	glusterfs
 GLUSTERFS_LIB_DEPENDS=		libglusterfs.so:net/glusterfs
 GLUSTERFS_VARS=			SAMBA4_MODULES+=vfs_glusterfs
+GLUSTERFS_PLIST_FILES+=		man/man8/vfs_glusterfs.8.gz
 
 GPGME_CONFIGURE_WITH=		gpgme
 GPGME_LIB_DEPENDS=		libgpgme.so:security/gpgme
@@ -338,6 +335,8 @@ SYSLOG_CONFIGURE_WITH=		syslog
 UTMP_CONFIGURE_WITH=		utmp
 
 AD_DC_CONFIGURE_OFF=		--without-ad-dc
+AD_DC_BUILD_DEPENDS=		${SAMBA4_LMDB_DEPENDS}
+AD_DC_RUN_DEPENDS=		${SAMBA4_LMDB_DEPENDS}
 
 ADS_IMPLIES=			LDAP
 ADS_CONFIGURE_WITH=		ads dnsupdate
@@ -406,18 +405,18 @@ CONFIGURE_ARGS+=		--with-shared-modules="${SAMBA4_MODU
 # XXX: Hack for nss-info_* -> nss_info/* modules
 # Add selected modules to the plist
 .for module in ${SAMBA4_MODULES}
-PLIST_FILES+=			lib/shared-modules/${module:C|_|/|:C|-|_|}.so
+PLIST_FILES+=			${SAMBA4_MODULEDIR}/${module:C|_|/|:C|-|_|}.so
 .endfor
 # Python bindings
 .if defined(NO_PYTHON)
-USES+=				python:2.7,build,test
+USES+=				python:2.7+,build,test
 CONFIGURE_ARGS+=		--disable-python
-PLIST_SUB+=			SAMBA4_PYTHON2="@comment " SAMBA4_PYTHON3="@comment "
-SUB_LIST+=			SAMBA4_PYTHON2="@comment " SAMBA4_PYTHON3="@comment "
+PLIST_SUB+=			SAMBA4_PYTHON="@comment "
+SUB_LIST+=			SAMBA4_PYTHON="@comment "
 .else
-USES+=				python:2.7
-PLIST_SUB+=			SAMBA4_PYTHON2=""
-SUB_LIST+=			SAMBA4_PYTHON2=""
+USES+=				python:3.4+
+PLIST_SUB+=			SAMBA4_PYTHON=""
+SUB_LIST+=			SAMBA4_PYTHON=""
 
 .if !defined(SAMBA4_BUNDLED_TALLOC)
 SAMBA4_BUNDLED_LIBS+=		!pytalloc-util
@@ -437,37 +436,7 @@ RUN_DEPENDS+=			${PYTHON_PKGNAMEPREFIX}dnspython>=1.15
 
 BUILD_DEPENDS+=			${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR}
 RUN_DEPENDS+=			${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR}
-# XXX: This is a gross hack to make port use both Python 2.7+ and 3.3+
-# This is not officially supported, use at your own risk
-.if defined(WITH_SAMBA4_PYTHON3) && ${WITH_SAMBA4_PYTHON3:M3\.[0-9]}
-SAMBA4_PYTHON3_VERSION=		${WITH_SAMBA4_PYTHON3}
-SAMBA4_PYTHON3=			python${SAMBA4_PYTHON3_VERSION}
-SAMBA4_PYTHON3_VER=		${SAMBA4_PYTHON3_VERSION:C/\.//}
-.if !exists(${PORTSDIR}/lang/python${SAMBA4_PYTHON3_VER})
-.error				unsupported or unknown Python version ${SAMBA4_PYTHON3_VERSION}
 .endif
-BUILD_DEPENDS+=			${SAMBA4_PYTHON3}:lang/python${SAMBA4_PYTHON3_VER}
-RUN_DEPENDS+=			${SAMBA4_PYTHON3}:lang/python${SAMBA4_PYTHON3_VER}
-# External Python modules
-BUILD_DEPENDS+=			py${SAMBA4_PYTHON3_VER}-dnspython>=1.15.0:dns/py-dnspython@py${SAMBA4_PYTHON3_VER}
-RUN_DEPENDS+=			py${SAMBA4_PYTHON3_VER}-dnspython>=1.15.0:dns/py-dnspython@py${SAMBA4_PYTHON3_VER}
-
-BUILD_DEPENDS+=			py${SAMBA4_PYTHON3_VER}-iso8601>=0.1.11:devel/py-iso8601@py${SAMBA4_PYTHON3_VER}
-RUN_DEPENDS+=			py${SAMBA4_PYTHON3_VER}-iso8601>=0.1.11:devel/py-iso8601@py${SAMBA4_PYTHON3_VER}
-# cpython-36m
-SAMBA4_PYTHON3_SO_ABI!=		[ ! -f "${LOCALBASE}/bin/${SAMBA4_PYTHON3}" ] || ${LOCALBASE}/bin/${SAMBA4_PYTHON3} -c 'import sysconfig; print(sysconfig.get_config_var("SOABI") or "")' 2>/dev/null
-SAMBA4_PYTHON3_SITELIBDIR=	lib/python${SAMBA4_PYTHON3_VERSION}/site-packages
-
-CONFIGURE_ENV+=			PYTHON3_SO_ABI_FLAG=.${SAMBA4_PYTHON3_SO_ABI}
-CONFIGURE_ARGS+=		--extra-python=${LOCALBASE}/bin/${SAMBA4_PYTHON3}
-
-PLIST_SUB+=			SAMBA4_PYTHON3="" SAMBA4_PYTHON3_SITELIBDIR="${SAMBA4_PYTHON3_SITELIBDIR}"
-SUB_LIST+=			SAMBA4_PYTHON3="" SAMBA4_PYTHON3_SITELIBDIR="${SAMBA4_PYTHON3_SITELIBDIR}"
-.else
-PLIST_SUB+=			SAMBA4_PYTHON3="@comment "
-SUB_LIST+=			SAMBA4_PYTHON3="@comment "
-.endif
-.endif
 # !SAMBA4_SUBPORT
 .endif
 
@@ -484,12 +453,21 @@ PLIST_FILES+=			lib/samba4/private/libaesni-intel-samb
 CONFIGURE_ARGS+=		--accel-aes=none
 .endif
 
+# 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}
+# LMDB
+SAMBA4_LMDB_DEPENDS=		lmdb>=0.9.16:databases/lmdb
+PLIST_FILES+=			lib/samba4/private/libldb-mdb-int-samba4.so
+.	endif
+.endif
+
 .if ${PORT_OPTIONS:MGSSAPI_MIT}
-PLIST_FILES+=			lib/shared-modules/krb5/winbind_krb5_localauth.so \
+PLIST_FILES+=			${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so \
 				man/man8/winbind_krb5_localauth.8.gz
-.       if ${PORT_OPTIONS:MAD_DC}
+.	if ${PORT_OPTIONS:MAD_DC}
 PLIST_FILES+=			lib/samba4/krb5/plugins/kdb/samba.so
-.       endif
+.	endif
 .endif
 # for libexecinfo: (so that __builtin_frame_address() finds the top of the stack)
 CFLAGS_amd64+=			-fno-omit-frame-pointer
@@ -499,7 +477,7 @@ MAKE_ENV+=			NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)
 .if ${CHOSEN_COMPILER_TYPE} == clang
 CFLAGS+=			-fno-color-diagnostics
 .endif
-# Allow rpcgen ti find proper CPP
+# Allow rpcgen to find proper CPP
 MAKE_ENV+=			RPCGEN_CPP="${CPP}"
 #.if ${readline_ARGS} == port
 #CFLAGS+=			-D_FUNCTION_DEF
@@ -565,7 +543,7 @@ pre-build-MANDOC-off:
 				source4/lib/registry/man/regpatch.1 \
 				source4/lib/registry/man/regshell.1 \
 				source4/lib/registry/man/regtree.1 \
-				source4/scripting/man/samba_gpoupdate.8 \
+				source4/scripting/man/samba-gpupdate.8 \
 				source4/torture/man/gentest.1 \
 				source4/torture/man/locktest.1 \
 				source4/torture/man/masktest.1 \
@@ -583,14 +561,15 @@ pre-build-MANDOC-off:
 				lib/ldb/man/ldbmodify.1 \
 				lib/ldb/man/ldbrename.1 \
 				lib/ldb/man/ldbdel.1 \
-				lib/ldb/man/ldbedit.1
+				lib/ldb/man/ldbedit.1 \
+				docs-xml/manpages/vfs_freebsd.8
 					${MKDIR} `dirname ${BUILD_WRKSRC}/bin/default/${man}`
 					${INSTALL_MAN} ${FILESDIR}/man/`basename ${man}` ${BUILD_WRKSRC}/bin/default/${man}
 .endfor
 .if ${PORT_OPTIONS:MCLUSTER}
 				${MKDIR} ${BUILD_WRKSRC}/bin/default/ctdb/
-.	for man in		ctdb_diagnostics.1 ctdb.1 ctdbd_wrapper.1 ctdbd.1 \
-				ltdbtool.1 onnode.1 ping_pong.1 ctdbd.conf.5 \
+.	for man in		ctdb_diagnostics.1 ctdb.1 ctdbd_wrapper.1 ctdbd.1 ltdbtool.1 onnode.1 ping_pong.1 \
+				ctdb.conf.5 ctdb.sysconfig.5 ctdb-script.options.5 \
 				ctdb.7 ctdb-statistics.7 ctdb-tunables.7
 					${INSTALL_MAN} ${FILESDIR}/man/${man} ${BUILD_WRKSRC}/bin/default/ctdb/
 .	endfor

Modified: head/net/samba410/distinfo
==============================================================================
--- head/net/samba410/distinfo	Sun Jun 30 19:19:45 2019	(r505445)
+++ head/net/samba410/distinfo	Sun Jun 30 19:27:35 2019	(r505446)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1557879791
-SHA256 (samba-4.8.12.tar.gz) = c162d519101e15d1a1d76df063bfefe8d1656f57fb74e1ef19fe05d341a65d8f
-SIZE (samba-4.8.12.tar.gz) = 17764832
+TIMESTAMP = 1560986236
+SHA256 (samba-4.10.5.tar.gz) = 6c10266d5e8c44ce1ea17dc993ace67a83607b4d9a830959c75e3188c6af6375
+SIZE (samba-4.10.5.tar.gz) = 18290612

Modified: head/net/samba410/files/0001-Zfs-provision-1.patch
==============================================================================
--- head/net/samba410/files/0001-Zfs-provision-1.patch	Sun Jun 30 19:19:45 2019	(r505445)
+++ head/net/samba410/files/0001-Zfs-provision-1.patch	Sun Jun 30 19:27:35 2019	(r505446)
@@ -40,8 +40,8 @@ index 5de986463a5..cd3b91f41b9 100644
 +        file = tempfile.NamedTemporaryFile(dir=sysvol_dir)
          try:
              try:
--                smbd.set_simple_acl(file.name, 0755, gid)
-+                set_simple_acl(file.name, 0755, gid)
+-                smbd.set_simple_acl(file.name, 0o755, gid)
++                set_simple_acl(file.name, 0o755, gid)
              except OSError:
 -                if not smbd.have_posix_acls():
 +                if not smbd.have_posix_acls() and not smbd.have_nfsv4_acls():
@@ -69,7 +69,7 @@ index 5de986463a5..cd3b91f41b9 100644
          if not skip_sysvolacl:
 @@ -2184,6 +2194,9 @@ def provision(logger, session_info, smbconf=None,
              if not os.path.isdir(paths.netlogon):
-                 os.makedirs(paths.netlogon, 0755)
+                 os.makedirs(paths.netlogon, 0o755)
  
 +            if smbd.have_nfsv4_acls() and smbd.has_nfsv4_acls(paths.sysvol):
 +                smbd.set_nfsv4_defaults()
@@ -120,7 +120,7 @@ diff --git a/source3/smbd/pysmbd.c b/source3/smbd/pysm
 index 63fc5d68c33..f5a536ee186 100644
 --- a/source3/smbd/pysmbd.c
 +++ b/source3/smbd/pysmbd.c
-@@ -368,6 +368,20 @@ static SMB_ACL_T make_simple_acl(TALLOC_
+@@ -387,6 +387,20 @@ static SMB_ACL_T make_simple_acl(TALLOC_
  	return acl;
  }
  
@@ -141,10 +141,12 @@ index 63fc5d68c33..f5a536ee186 100644
  /*
    set a simple ACL on a file, as a test
   */
-@@ -413,6 +427,53 @@ static PyObject *py_smbd_set_simple_acl(
+@@ -432,6 +446,57 @@ static PyObject *py_smbd_set_simple_acl(
+ 	Py_RETURN_NONE;
  }
  
- /*
++
++/*
 +  set a simple NFSv4 ACL on a file, as a test
 + */
 +static PyObject *py_smbd_set_simple_nfsv4_acl(PyObject *self, PyObject *args, PyObject *kwargs)
@@ -170,8 +172,9 @@ index 63fc5d68c33..f5a536ee186 100644
 +		return NULL;
 +	}
 +
-+	conn = get_conn(frame, service);
++	conn = get_conn_tos(service, NULL);
 +	if (!conn) {
++		TALLOC_FREE(frame);
 +		return NULL;
 +	}
 +
@@ -180,6 +183,8 @@ index 63fc5d68c33..f5a536ee186 100644
 +	 */
 +	ret = 0;
 +
++	/* ret = set_sys_acl_conn(fname, SMB_ACL_TYPE_ACCESS, acl, conn); */
++
 +	if (ret != 0) {
 +		TALLOC_FREE(frame);
 +		errno = ret;
@@ -191,11 +196,10 @@ index 63fc5d68c33..f5a536ee186 100644
 +	Py_RETURN_NONE;
 +}
 +
-+/*
+ /*
    chown a file
   */
- static PyObject *py_smbd_chown(PyObject *self, PyObject *args, PyObject *kwargs)
-@@ -519,7 +580,7 @@ static PyObject *py_smbd_unlink(PyObject
+@@ -540,7 +605,7 @@ static PyObject *py_smbd_unlink(PyObject
  }
  
  /*
@@ -204,7 +208,7 @@ index 63fc5d68c33..f5a536ee186 100644
   */
  static PyObject *py_smbd_have_posix_acls(PyObject *self)
  {
-@@ -530,6 +591,86 @@ static PyObject *py_smbd_have_posix_acls
+@@ -551,6 +616,86 @@ static PyObject *py_smbd_have_posix_acls
  #endif
  }
  
@@ -291,7 +295,7 @@ index 63fc5d68c33..f5a536ee186 100644
  /*
    set the NT ACL on a file
   */
-@@ -717,9 +858,24 @@ static PyMethodDef py_smbd_methods[] = {
+@@ -843,9 +988,24 @@ static PyMethodDef py_smbd_methods[] = {
  	{ "have_posix_acls",
  		(PyCFunction)py_smbd_have_posix_acls, METH_NOARGS,
  		NULL },

Added: head/net/samba410/files/man/ctdb-script.options.5
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/samba410/files/man/ctdb-script.options.5	Sun Jun 30 19:27:35 2019	(r505446)
@@ -0,0 +1,567 @@
+'\" t
+.\"     Title: ctdb-script.options
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>;
+.\"      Date: 11/18/2018
+.\"    Manual: CTDB - clustered TDB database
+.\"    Source: ctdb
+.\"  Language: English
+.\"
+.TH "CTDB\-SCRIPT\&.OPTIO" "5" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ctdb-script.options \- CTDB scripts configuration files
+.SH "DESCRIPTION"
+.PP
+Each CTDB script has 2 possible locations for its configuration options:
+.PP
+/usr/local/etc/ctdb/script\&.options
+.RS 4
+This is a catch\-all global file for general purpose scripts and for options that are used in multiple event scripts\&.
+.RE
+.PP
+\fISCRIPT\fR\&.options
+.RS 4
+That is, options for
+\fISCRIPT\fR
+are placed in a file alongside the script, with a "\&.script" suffix added\&. This style is usually recommended for event scripts\&.
+.sp
+Options in this script\-specific file override those in the global file\&.
+.RE
+.PP
+These files should include simple shell\-style variable assignments and shell\-style comments\&.
+.SH "NETWORK CONFIGURATION"
+.SS "10\&.interface"
+.PP
+This event script handles monitoring of interfaces using by public IP addresses\&.
+.PP
+CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no
+.RS 4
+Whether one or more offline interfaces should cause a monitor event to fail if there are other interfaces that are up\&. If this is "yes" and a node has some interfaces that are down then
+\fBctdb status\fR
+will display the node as "PARTIALLYONLINE"\&.
+.sp
+Note that CTDB_PARTIALLY_ONLINE_INTERFACES=yes is not generally compatible with NAT gateway or LVS\&. NAT gateway relies on the interface configured by CTDB_NATGW_PUBLIC_IFACE to be up and LVS replies on CTDB_LVS_PUBLIC_IFACE to be up\&. CTDB does not check if these options are set in an incompatible way so care is needed to understand the interaction\&.
+.sp
+Default is "no"\&.
+.RE
+.SS "11\&.natgw"
+.PP
+Provides CTDB\*(Aqs NAT gateway functionality\&.
+.PP
+NAT gateway is used to configure fallback routing for nodes when they do not host any public IP addresses\&. For example, it allows unhealthy nodes to reliably communicate with external infrastructure\&. One node in a NAT gateway group will be designated as the NAT gateway master node and other (slave) nodes will be configured with fallback routes via the NAT gateway master node\&. For more information, see the
+NAT GATEWAY
+section in
+\fBctdb\fR(7)\&.
+.PP
+CTDB_NATGW_DEFAULT_GATEWAY=\fIIPADDR\fR
+.RS 4
+IPADDR is an alternate network gateway to use on the NAT gateway master node\&. If set, a fallback default route is added via this network gateway\&.
+.sp
+No default\&. Setting this variable is optional \- if not set that no route is created on the NAT gateway master node\&.
+.RE
+.PP
+CTDB_NATGW_NODES=\fIFILENAME\fR
+.RS 4
+FILENAME contains the list of nodes that belong to the same NAT gateway group\&.
+.sp
+File format:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIIPADDR\fR [slave\-only]
+	      
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+IPADDR is the private IP address of each node in the NAT gateway group\&.
+.sp
+If "slave\-only" is specified then the corresponding node can not be the NAT gateway master node\&. In this case
+\fICTDB_NATGW_PUBLIC_IFACE\fR
+and
+\fICTDB_NATGW_PUBLIC_IP\fR
+are optional and unused\&.
+.sp
+No default, usually
+/usr/local/etc/ctdb/natgw_nodes
+when enabled\&.
+.RE
+.PP
+CTDB_NATGW_PRIVATE_NETWORK=\fIIPADDR/MASK\fR
+.RS 4
+IPADDR/MASK is the private sub\-network that is internally routed via the NAT gateway master node\&. This is usually the private network that is used for node addresses\&.
+.sp
+No default\&.
+.RE
+.PP
+CTDB_NATGW_PUBLIC_IFACE=\fIIFACE\fR
+.RS 4
+IFACE is the network interface on which the CTDB_NATGW_PUBLIC_IP will be configured\&.
+.sp
+No default\&.
+.RE
+.PP
+CTDB_NATGW_PUBLIC_IP=\fIIPADDR/MASK\fR
+.RS 4
+IPADDR/MASK indicates the IP address that is used for outgoing traffic (originating from CTDB_NATGW_PRIVATE_NETWORK) on the NAT gateway master node\&. This
+\fImust not\fR
+be a configured public IP address\&.
+.sp
+No default\&.
+.RE
+.PP
+CTDB_NATGW_STATIC_ROUTES=\fIIPADDR/MASK[@GATEWAY]\fR \&.\&.\&.
+.RS 4
+Each IPADDR/MASK identifies a network or host to which NATGW should create a fallback route, instead of creating a single default route\&. This can be used when there is already a default route, via an interface that can not reach required infrastructure, that overrides the NAT gateway default route\&.
+.sp
+If GATEWAY is specified then the corresponding route on the NATGW master node will be via GATEWAY\&. Such routes are created even if
+\fICTDB_NATGW_DEFAULT_GATEWAY\fR
+is not specified\&. If GATEWAY is not specified for some networks then routes are only created on the NATGW master node for those networks if
+\fICTDB_NATGW_DEFAULT_GATEWAY\fR
+is specified\&.
+.sp
+This should be used with care to avoid causing traffic to unnecessarily double\-hop through the NAT gateway master, even when a node is hosting public IP addresses\&. Each specified network or host should probably have a corresponding automatically created link route or static route to avoid this\&.
+.sp
+No default\&.
+.RE
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBExample\fR
+.RS 4
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
+CTDB_NATGW_PRIVATE_NETWORK=192\&.168\&.1\&.0/24
+CTDB_NATGW_DEFAULT_GATEWAY=10\&.0\&.0\&.1
+CTDB_NATGW_PUBLIC_IP=10\&.0\&.0\&.227/24
+CTDB_NATGW_PUBLIC_IFACE=eth0
+	
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+A variation that ensures that infrastructure (ADS, DNS, \&.\&.\&.) directly attached to the public network (10\&.0\&.0\&.0/24) is always reachable would look like this:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+CTDB_NATGW_NODES=/usr/local/etc/ctdb/natgw_nodes
+CTDB_NATGW_PRIVATE_NETWORK=192\&.168\&.1\&.0/24
+CTDB_NATGW_PUBLIC_IP=10\&.0\&.0\&.227/24
+CTDB_NATGW_PUBLIC_IFACE=eth0
+CTDB_NATGW_STATIC_ROUTES=10\&.0\&.0\&.0/24
+	
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Note that
+\fICTDB_NATGW_DEFAULT_GATEWAY\fR
+is not specified\&.
+.RE
+.SS "13\&.per_ip_routing"
+.PP
+Provides CTDB\*(Aqs policy routing functionality\&.
+.PP
+A node running CTDB may be a component of a complex network topology\&. In particular, public addresses may be spread across several different networks (or VLANs) and it may not be possible to route packets from these public addresses via the system\*(Aqs default route\&. Therefore, CTDB has support for policy routing via the
+13\&.per_ip_routing
+eventscript\&. This allows routing to be specified for packets sourced from each public address\&. The routes are added and removed as CTDB moves public addresses between nodes\&.
+.PP
+For more information, see the
+POLICY ROUTING
+section in
+\fBctdb\fR(7)\&.
+.PP
+CTDB_PER_IP_ROUTING_CONF=\fIFILENAME\fR
+.RS 4
+FILENAME contains elements for constructing the desired routes for each source address\&.
+.sp
+The special FILENAME value
+\fB__auto_link_local__\fR
+indicates that no configuration file is provided and that CTDB should generate reasonable link\-local routes for each public IP address\&.
+.sp
+File format:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+		\fIIPADDR\fR \fIDEST\-IPADDR/MASK\fR [\fIGATEWAY\-IPADDR\fR]
+	      
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+No default, usually
+/usr/local/etc/ctdb/policy_routing
+when enabled\&.
+.RE
+.PP
+CTDB_PER_IP_ROUTING_RULE_PREF=\fINUM\fR
+.RS 4
+NUM sets the priority (or preference) for the routing rules that are added by CTDB\&.
+.sp
+This should be (strictly) greater than 0 and (strictly) less than 32766\&. A priority of 100 is recommended, unless this conflicts with a priority already in use on the system\&. See
+\fBip\fR(8), for more details\&.
+.RE
+.PP
+CTDB_PER_IP_ROUTING_TABLE_ID_LOW=\fILOW\-NUM\fR, CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=\fIHIGH\-NUM\fR
+.RS 4
+CTDB determines a unique routing table number to use for the routing related to each public address\&. LOW\-NUM and HIGH\-NUM indicate the minimum and maximum routing table numbers that are used\&.
+.sp
+\fBip\fR(8)
+uses some reserved routing table numbers below 255\&. Therefore, CTDB_PER_IP_ROUTING_TABLE_ID_LOW should be (strictly) greater than 255\&.
+.sp
+CTDB uses the standard file
+/etc/iproute2/rt_tables
+to maintain a mapping between the routing table numbers and labels\&. The label for a public address
+\fIADDR\fR
+will look like ctdb\&.\fIaddr\fR\&. This means that the associated rules and routes are easy to read (and manipulate)\&.
+.sp
+No default, usually 1000 and 9000\&.
+.RE
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBExample\fR
+.RS 4
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+CTDB_PER_IP_ROUTING_CONF=/usr/local/etc/ctdb/policy_routing
+CTDB_PER_IP_ROUTING_RULE_PREF=100
+CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
+CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
+	
+.fi
+.if n \{\
+.RE
+.\}
+.RE
+.SS "91\&.lvs"
+.PP
+Provides CTDB\*(Aqs LVS functionality\&.
+.PP
+For a general description see the
+LVS
+section in
+\fBctdb\fR(7)\&.
+.PP
+CTDB_LVS_NODES=\fIFILENAME\fR
+.RS 4
+FILENAME contains the list of nodes that belong to the same LVS group\&.
+.sp
+File format:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fIIPADDR\fR [slave\-only]
+	      
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+IPADDR is the private IP address of each node in the LVS group\&.
+.sp
+If "slave\-only" is specified then the corresponding node can not be the LVS master node\&. In this case
+\fICTDB_LVS_PUBLIC_IFACE\fR
+and
+\fICTDB_LVS_PUBLIC_IP\fR
+are optional and unused\&.
+.sp
+No default, usually
+/usr/local/etc/ctdb/lvs_nodes
+when enabled\&.
+.RE
+.PP
+CTDB_LVS_PUBLIC_IFACE=\fIINTERFACE\fR
+.RS 4
+INTERFACE is the network interface that clients will use to connection to
+\fICTDB_LVS_PUBLIC_IP\fR\&. This is optional for slave\-only nodes\&. No default\&.
+.RE
+.PP
+CTDB_LVS_PUBLIC_IP=\fIIPADDR\fR
+.RS 4
+CTDB_LVS_PUBLIC_IP is the LVS public address\&. No default\&.
+.RE
+.SH "SERVICE CONFIGURATION"
+.PP
+CTDB can be configured to manage and/or monitor various NAS (and other) services via its eventscripts\&.
+.PP
+In the simplest case CTDB will manage a service\&. This means the service will be started and stopped along with CTDB, CTDB will monitor the service and CTDB will do any required reconfiguration of the service when public IP addresses are failed over\&.
+.SS "20\&.multipathd"
+.PP
+Provides CTDB\*(Aqs Linux multipathd service management\&.
+.PP
+It can monitor multipath devices to ensure that active paths are available\&.
+.PP
+CTDB_MONITOR_MPDEVICES=\fIMP\-DEVICE\-LIST\fR
+.RS 4
+MP\-DEVICE\-LIST is a list of multipath devices for CTDB to monitor?
+.sp
+No default\&.
+.RE
+.SS "31\&.clamd"
+.PP
+This event script provide CTDB\*(Aqs ClamAV anti\-virus service management\&.
+.PP
+This eventscript is not enabled by default\&. Use
+\fBctdb enablescript\fR
+to enable it\&.
+.PP
+CTDB_CLAMD_SOCKET=\fIFILENAME\fR
+.RS 4
+FILENAME is the socket to monitor ClamAV\&.
+.sp
+No default\&.
+.RE
+.SS "49\&.winbind"
+.PP
+Provides CTDB\*(Aqs Samba winbind service management\&.
+.PP
+CTDB_SERVICE_WINBIND=\fISERVICE\fR
+.RS 4
+Distribution specific SERVICE for managing winbindd\&.
+.sp
+Default is "winbind"\&.
+.RE
+.SS "50\&.samba"
+.PP
+Provides the core of CTDB\*(Aqs Samba file service management\&.
+.PP
+CTDB_SAMBA_CHECK_PORTS=\fIPORT\-LIST\fR
+.RS 4
+When monitoring Samba, check TCP ports in space\-separated PORT\-LIST\&.
+.sp
+Default is to monitor ports that Samba is configured to listen on\&.
+.RE
+.PP
+CTDB_SAMBA_SKIP_SHARE_CHECK=yes|no
+.RS 4
+As part of monitoring, should CTDB skip the check for the existence of each directory configured as share in Samba\&. This may be desirable if there is a large number of shares\&.
+.sp
+Default is no\&.
+.RE
+.PP
+CTDB_SERVICE_NMB=\fISERVICE\fR
+.RS 4
+Distribution specific SERVICE for managing nmbd\&.
+.sp
+Default is distribution\-dependant\&.
+.RE
+.PP
+CTDB_SERVICE_SMB=\fISERVICE\fR
+.RS 4
+Distribution specific SERVICE for managing smbd\&.
+.sp
+Default is distribution\-dependant\&.
+.RE
+.SS "60\&.nfs"
+.PP
+This event script (along with 06\&.nfs) provides CTDB\*(Aqs NFS service management\&.
+.PP
+This includes parameters for the kernel NFS server\&. Alternative NFS subsystems (such as
+\m[blue]\fBNFS\-Ganesha\fR\m[]\&\s-2\u[1]\d\s+2) can be integrated using
+\fICTDB_NFS_CALLOUT\fR\&.
+.PP
+CTDB_NFS_CALLOUT=\fICOMMAND\fR
+.RS 4
+COMMAND specifies the path to a callout to handle interactions with the configured NFS system, including startup, shutdown, monitoring\&.
+.sp
+Default is the included
+\fBnfs\-linux\-kernel\-callout\fR\&.
+.RE
+.PP
+CTDB_NFS_CHECKS_DIR=\fIDIRECTORY\fR
+.RS 4
+Specifies the path to a DIRECTORY containing files that describe how to monitor the responsiveness of NFS RPC services\&. See the README file for this directory for an explanation of the contents of these "check" files\&.
+.sp
+CTDB_NFS_CHECKS_DIR can be used to point to different sets of checks for different NFS servers\&.
+.sp
+One way of using this is to have it point to, say,
+/usr/local/etc/ctdb/nfs\-checks\-enabled\&.d
+and populate it with symbolic links to the desired check files\&. This avoids duplication and is upgrade\-safe\&.
+.sp
+Default is
+/usr/local/etc/ctdb/nfs\-checks\&.d, which contains NFS RPC checks suitable for Linux kernel NFS\&.
+.RE
+.PP
+CTDB_NFS_SKIP_SHARE_CHECK=yes|no
+.RS 4
+As part of monitoring, should CTDB skip the check for the existence of each directory exported via NFS\&. This may be desirable if there is a large number of exports\&.
+.sp
+Default is no\&.
+.RE
+.PP
+CTDB_RPCINFO_LOCALHOST=\fIIPADDR\fR|\fIHOSTNAME\fR
+.RS 4
+IPADDR or HOSTNAME indicates the address that
+\fBrpcinfo\fR
+should connect to when doing
+\fBrpcinfo\fR
+check on IPv4 RPC service during monitoring\&. Optimally this would be "localhost"\&. However, this can add some performance overheads\&.
+.sp
+Default is "127\&.0\&.0\&.1"\&.
+.RE
+.PP
+CTDB_RPCINFO_LOCALHOST6=\fIIPADDR\fR|\fIHOSTNAME\fR
+.RS 4
+IPADDR or HOSTNAME indicates the address that
+\fBrpcinfo\fR
+should connect to when doing
+\fBrpcinfo\fR
+check on IPv6 RPC service during monitoring\&. Optimally this would be "localhost6" (or similar)\&. However, this can add some performance overheads\&.
+.sp
+Default is "::1"\&.
+.RE
+.PP
+CTDB_NFS_STATE_FS_TYPE=\fITYPE\fR
+.RS 4
+The type of filesystem used for a clustered NFS\*(Aq shared state\&. No default\&.
+.RE
+.PP
+CTDB_NFS_STATE_MNT=\fIDIR\fR
+.RS 4
+The directory where a clustered NFS\*(Aq shared state will be located\&. No default\&.
+.RE
+.SS "70\&.iscsi"
+.PP
+Provides CTDB\*(Aqs Linux iSCSI tgtd service management\&.
+.PP
+CTDB_START_ISCSI_SCRIPTS=\fIDIRECTORY\fR
+.RS 4
+DIRECTORY on shared storage containing scripts to start tgtd for each public IP address\&.
+.sp
+No default\&.
+.RE
+.SH "DATABASE SETUP"
+.PP
+CTDB checks the consistency of databases during startup\&.
+.SS "00\&.ctdb"
+.PP
+CTDB_MAX_CORRUPT_DB_BACKUPS=\fINUM\fR
+.RS 4
+NUM is the maximum number of volatile TDB database backups to be kept (for each database) when a corrupt database is found during startup\&. Volatile TDBs are zeroed during startup so backups are needed to debug any corruption that occurs before a restart\&.
+.sp
+Default is 10\&.
+.RE
+.SH "SYSTEM RESOURCE MONITORING"
+.SS "05\&.system"
+.PP
+Provides CTDB\*(Aqs filesystem and memory usage monitoring\&.
+.PP
+CTDB can experience seemingly random (performance and other) issues if system resources become too constrained\&. Options in this section can be enabled to allow certain system resources to be checked\&. They allows warnings to be logged and nodes to be marked unhealthy when system resource usage reaches the configured thresholds\&.
+.PP
+Some checks are enabled by default\&. It is recommended that these checks remain enabled or are augmented by extra checks\&. There is no supported way of completely disabling the checks\&.
+.PP
+CTDB_MONITOR_FILESYSTEM_USAGE=\fIFS\-LIMIT\-LIST\fR
+.RS 4
+FS\-LIMIT\-LIST is a space\-separated list of
+\fIFILESYSTEM\fR:\fIWARN_LIMIT\fR[:\fIUNHEALTHY_LIMIT\fR]
+triples indicating that warnings should be logged if the space used on FILESYSTEM reaches WARN_LIMIT%\&. If usage reaches UNHEALTHY_LIMIT then the node should be flagged unhealthy\&. Either WARN_LIMIT or UNHEALTHY_LIMIT may be left blank, meaning that check will be omitted\&.
+.sp
+Default is to warn for each filesystem containing a database directory (volatile\ \&database\ \&directory,
+persistent\ \&database\ \&directory,
+state\ \&database\ \&directory) with a threshold of 90%\&.
+.RE
+.PP
+CTDB_MONITOR_MEMORY_USAGE=\fIMEM\-LIMITS\fR
+.RS 4
+MEM\-LIMITS takes the form
+\fIWARN_LIMIT\fR[:\fIUNHEALTHY_LIMIT\fR]
+indicating that warnings should be logged if memory usage reaches WARN_LIMIT%\&. If usage reaches UNHEALTHY_LIMIT then the node should be flagged unhealthy\&. Either WARN_LIMIT or UNHEALTHY_LIMIT may be left blank, meaning that check will be omitted\&.
+.sp
+Default is 80, so warnings will be logged when memory usage reaches 80%\&.
+.RE
+.PP
+CTDB_MONITOR_SWAP_USAGE=\fISWAP\-LIMITS\fR
+.RS 4
+SWAP\-LIMITS takes the form
+\fIWARN_LIMIT\fR[:\fIUNHEALTHY_LIMIT\fR]
+indicating that warnings should be logged if swap usage reaches WARN_LIMIT%\&. If usage reaches UNHEALTHY_LIMIT then the node should be flagged unhealthy\&. Either WARN_LIMIT or UNHEALTHY_LIMIT may be left blank, meaning that check will be omitted\&.
+.sp
+Default is 25, so warnings will be logged when swap usage reaches 25%\&.
+.RE
+.SH "EVENT SCRIPT DEBUGGING"
+.SS "debug\-hung\-script\&.sh"
+.PP
+CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=\fIREGEXP\fR
+.RS 4
+REGEXP specifies interesting processes for which stack traces should be logged when debugging hung eventscripts and those processes are matched in pstree output\&. REGEXP is an extended regexp so choices are separated by pipes (\*(Aq|\*(Aq)\&. However, REGEXP should not contain parentheses\&. See also the
+\fBctdb.conf\fR(5)
+[event] "debug\ \&script" option\&.
+.sp
+Default is "exportfs|rpcinfo"\&.
+.RE
+.SH "FILES"
+.RS 4
+/usr/local/etc/ctdb/script\&.options
+.RE
+.SH "SEE ALSO"
+.PP
+\fBctdbd\fR(1),
+\fBctdb\fR(7),
+\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
+.SH "AUTHOR"
+.br
+.PP
+This documentation was written by Amitay Isaacs, Martin Schwenke
+.SH "COPYRIGHT"
+.br
+Copyright \(co 2007 Andrew Tridgell, Ronnie Sahlberg
+.br

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



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