diff --git a/databases/ldb25/Makefile b/databases/ldb25/Makefile index 1e4a15bc514a..160ad9b86ba6 100644 --- a/databases/ldb25/Makefile +++ b/databases/ldb25/Makefile @@ -1,150 +1,150 @@ PORTNAME= ldb PORTVERSION= 2.5.3 PORTREVISION= 2 CATEGORIES= databases MASTER_SITES= SAMBA PKGNAMESUFFIX?= 25 MAINTAINER= samba@FreeBSD.org COMMENT= LDAP-like embedded database WWW= https://ldb.samba.org/ LICENSE= GPLv3+ IGNORE_NONTHREAD_PYTHON= needs port lang/python${PYTHON_SUFFIX} to be \ build with THREADS support LDB_DEPENDS= talloc>=2.2.0:devel/talloc tevent>=0.10.0:devel/tevent \ - tdb>=1.4.0:databases/tdb lmdb>=0.9.23:databases/lmdb0 \ + tdb>=1.4.0:databases/tdb lmdb0>=0.9.23:databases/lmdb0 \ popt>=0:devel/popt BUILD_DEPENDS= ${LDB_DEPENDS} \ ${PY_SETUPTOOLS} \ cmocka>=1.1.3:sysutils/cmocka TEST_DEPENDS= ${LDB_DEPENDS} \ cmocka>=1.1.3:sysutils/cmocka RUN_DEPENDS= ${LDB_DEPENDS} USES= compiler ldap localbase:ldflags pkgconfig waf CONFLICTS_INSTALL= ldb[0-9][0-9] # include/ldb.h USE_LDCONFIG= yes WAF_CMD= ${BUILD_WRKSRC}/buildtools/bin/waf CONFIGURE_LOG= ${BUILD_WRKSRC}/bin/config.log PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR:S;${PREFIX}/;;} CONFIGURE_ARGS+= --bundled-libraries=!talloc,!tevent,!tdb,!popt,!cmocka \ --disable-rpath \ --with-modulesdir=${PREFIX}/lib/shared-modules \ --with-openldap=${LOCALBASE} \ --with-privatelibdir=${PREFIX}/lib/ldb \ --without-gettext OPTIONS_DEFINE= DEBUG MANPAGES PYTHON3 OPTIONS_DEFAULT= MANPAGES DEBUG_CONFIGURE_ON= --enable-debug \ --verbose DEBUG_MAKE_ARGS= --verbose DEBUG_FLAGS= -g -ggdb3 -O0 MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" .include LDB_BINS= bin/ldbedit bin/ldbmodify bin/ldbadd bin/ldbdel bin/ldbsearch \ bin/ldbrename LDB_LIBS= lib/libldb.so lib/libldb.so.2 lib/ldb/libldb-tdb-int.so \ lib/ldb/libldb-tdb-err-map.so lib/ldb/libldb-key-value.so \ lib/ldb/libldb-cmdline.so lib/shared-modules/ldb/skel.so \ lib/shared-modules/ldb/server_sort.so \ lib/shared-modules/ldb/sample.so \ lib/shared-modules/ldb/rdn_name.so \ lib/shared-modules/ldb/paged_searches.so \ lib/shared-modules/ldb/ldb.so lib/shared-modules/ldb/ldap.so \ lib/shared-modules/ldb/asq.so lib/shared-modules/ldb/tdb.so # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && \ ${ARCH} != powerpc && ${ARCH} != powerpcspe LDB_LIBS+= lib/ldb/libldb-mdb-int.so lib/shared-modules/ldb/mdb.so .endif PLIST_FILES= ${LDB_BINS} \ ${LDB_LIBS} \ ${PKGCONFIGDIR}/ldb.pc \ include/ldb.h \ include/ldb_errors.h \ include/ldb_handlers.h \ include/ldb_module.h \ include/ldb_version.h .include # Some symbols in ldb'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 .if !${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON) USES+= python:build,test CONFIGURE_ARGS+= --disable-python .else USES+= gettext-runtime python PLIST_FILES+= ${PKGCONFIGDIR}/pyldb-util${PYTHON_TAG}.pc \ ${PYTHON_SITELIBDIR}/_ldb_text.py \ ${PYTHON_SITELIBDIR}/ldb${PYTHON_TAG}.so \ include/pyldb.h \ lib/libpyldb-util${PYTHON_TAG}.so \ lib/libpyldb-util${PYTHON_TAG}.so.2 .endif # No fancy color error messages .if ${COMPILER_TYPE} == "clang" CFLAGS+= -fno-color-diagnostics .endif CONFIGURE_ENV+= NOCOLOR=yes MAKE_ENV+= NOCOLOR=yes LDB_MAN1= share/man/man1/ldbadd.1.gz \ share/man/man1/ldbdel.1.gz \ share/man/man1/ldbedit.1.gz \ share/man/man1/ldbmodify.1.gz \ share/man/man1/ldbrename.1.gz \ share/man/man1/ldbsearch.1.gz LDB_MAN3= share/man/man3/ldb.3.gz .if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= ${LDB_MAN1} \ ${LDB_MAN3} .endif post-patch: @${REINPLACE_CMD} -e 's|%%PKGCONFIGDIR%%|${PKGCONFIGDIR}|g' \ ${BUILD_WRKSRC}/wscript # Use threading (or multiprocessing) but not thread (renamed in python 3+). pre-configure: @if ! ${PYTHON_CMD} -c "import multiprocessing;" 2>/dev/null; then \ ${ECHO_CMD}; \ ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE_NONTHREAD_PYTHON:Q}.; \ ${ECHO_CMD}; \ ${FALSE}; \ fi post-install: .for lib in ${LDB_BINS} ${LDB_LIBS} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${lib} .endfor .if ${PORT_OPTIONS:MPYTHON3} && !defined(NO_PYTHON) ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpyldb-util${PYTHON_TAG}.so ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/ldb${PYTHON_TAG}.so .endif .include diff --git a/databases/ldb28/Makefile b/databases/ldb28/Makefile index 74b440157469..f7850d19ba0e 100644 --- a/databases/ldb28/Makefile +++ b/databases/ldb28/Makefile @@ -1,143 +1,143 @@ PORTNAME= ldb PORTVERSION= 2.8.2 PORTREVISION= 2 CATEGORIES= databases MASTER_SITES= SAMBA PKGNAMESUFFIX?= ${PORTVERSION:C/([[:digit:]]+)[.]([[:digit:]]+).*/\1\2/} MAINTAINER= samba@FreeBSD.org COMMENT= LDAP-like embedded database WWW= https://ldb.samba.org/ LICENSE= GPLv3+ IGNORE_NONTHREAD_PYTHON= needs port lang/python${PYTHON_SUFFIX} to be \ build with THREADS support BUILD_DEPENDS= ${_LDB_DEPENDS} \ cmocka>=1.1.3:sysutils/cmocka RUN_DEPENDS= ${_LDB_DEPENDS} TEST_DEPENDS= ${_LDB_DEPENDS} \ cmocka>=1.1.3:sysutils/cmocka USES= compiler ldap localbase:ldflags pkgconfig USE_LDCONFIG= yes HAS_CONFIGURE= yes CONFIGURE_LOG= ${BUILD_WRKSRC}/bin/config.log PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig CONFIGURE_ARGS+= --bundled-libraries=!talloc,!tevent,!tdb,!popt,!cmocka \ --disable-rpath \ --with-modulesdir=${PREFIX}/lib/shared-modules \ --with-openldap=${LOCALBASE} \ --with-privatelibdir=${PREFIX}/lib/ldb \ --without-gettext CONFIGURE_ENV+= NOCOLOR=yes MAKE_ENV+= NOCOLOR=yes CFLAGS+= ${_CFLAGS_${COMPILER_TYPE}} DEBUG_FLAGS= -g -ggdb3 -O0 # Some symbols in ldb'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= ldb[0-9][0-9] # include/ldb.h BINARY_ALIAS= python3=${PYTHON_CMD} PLIST_FILES= ${_LDB_BINS} \ ${_LDB_LIBS_64} \ ${_LDB_LIBS} \ ${PKGCONFIGDIR}/ldb.pc \ include/ldb.h \ include/ldb_errors.h \ include/ldb_handlers.h \ include/ldb_module.h \ include/ldb_version.h PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR:S;${PREFIX}/;;} OPTIONS_DEFINE= MANPAGES PYTHON3 OPTIONS_DEFAULT= MANPAGES PYTHON3 MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" PYTHON3_USES= gettext-runtime python PYTHON3_USES_OFF= python:build,test PYTHON3_CONFIGURE_OFF= --disable-python PYTHON3_PLIST_FILES= ${PKGCONFIGDIR}/pyldb-util${PYTHON_TAG}.pc \ ${PYTHON_SITELIBDIR}/_ldb_text.py \ ${PYTHON_SITELIBDIR}/ldb${PYTHON_TAG}.so \ include/pyldb.h \ lib/libpyldb-util${PYTHON_TAG}.so \ lib/libpyldb-util${PYTHON_TAG}.so.2 # No fancy color error messages _CFLAGS_clang= -fno-color-diagnostics _LDB_DEPENDS= talloc>=2.2.0:devel/talloc tevent>=0.10.0:devel/tevent \ - tdb>=1.4.0:databases/tdb lmdb>=0.9.23:databases/lmdb0 \ + tdb>=1.4.0:databases/tdb lmdb0>=0.9.23:databases/lmdb0 \ popt>=0:devel/popt _LDB_BINS= bin/ldbedit bin/ldbmodify bin/ldbadd bin/ldbdel bin/ldbsearch \ bin/ldbrename _LDB_LIBS= lib/libldb.so lib/libldb.so.2 lib/ldb/libldb-tdb-int.so \ lib/ldb/libldb-tdb-err-map.so lib/ldb/libldb-key-value.so \ lib/ldb/libldb-cmdline.so lib/shared-modules/ldb/skel.so \ lib/shared-modules/ldb/server_sort.so \ lib/shared-modules/ldb/sample.so \ lib/shared-modules/ldb/rdn_name.so \ lib/shared-modules/ldb/paged_searches.so \ lib/shared-modules/ldb/ldb.so lib/shared-modules/ldb/ldap.so \ lib/shared-modules/ldb/asq.so lib/shared-modules/ldb/tdb.so _LDB_MAN1= share/man/man1/ldbadd.1.gz share/man/man1/ldbdel.1.gz \ share/man/man1/ldbedit.1.gz share/man/man1/ldbmodify.1.gz \ share/man/man1/ldbrename.1.gz share/man/man1/ldbsearch.1.gz _LDB_MAN3= share/man/man3/ldb.3.gz .include .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --enable-debug \ --verbose .endif # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && \ ${ARCH} != powerpc && ${ARCH} != powerpcspe _LDB_LIBS_64= lib/ldb/libldb-mdb-int.so lib/shared-modules/ldb/mdb.so .endif .if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= ${_LDB_MAN1} \ ${_LDB_MAN3} .endif .if defined(NO_PYTHON) WARNING+= "${PKGNAME} does not support NO_PYTHON anymore; use option PYTHON3 instead" .endif post-patch: @${REINPLACE_CMD} -e 's|%%PKGCONFIGDIR%%|${PKGCONFIGDIR}|g' \ ${BUILD_WRKSRC}/wscript # Use threading (or multiprocessing) but not thread (renamed in python 3+). pre-configure: @if ! ${PYTHON_CMD} -c "import multiprocessing;" 2>/dev/null; then \ ${ECHO_CMD}; \ ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE_NONTHREAD_PYTHON:Q}.; \ ${ECHO_CMD}; \ ${FALSE}; \ fi post-install: .for lib in ${_LDB_BINS} ${_LDB_LIBS} ${_LDB_LIBS_64} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${lib} .endfor post-install-PYTHON3-on: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpyldb-util${PYTHON_TAG}.so ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/ldb${PYTHON_TAG}.so .include diff --git a/databases/ldb29/Makefile b/databases/ldb29/Makefile index 5dbfbb368362..b304c5ae09fb 100644 --- a/databases/ldb29/Makefile +++ b/databases/ldb29/Makefile @@ -1,143 +1,143 @@ PORTNAME= ldb PORTVERSION= 2.9.2 PORTREVISION= 3 CATEGORIES= databases MASTER_SITES= SAMBA PKGNAMESUFFIX?= ${PORTVERSION:C/([[:digit:]]+)[.]([[:digit:]]+).*/\1\2/} MAINTAINER= samba@FreeBSD.org COMMENT= LDAP-like embedded database WWW= https://ldb.samba.org/ LICENSE= GPLv3+ IGNORE_NONTHREAD_PYTHON= needs port lang/python${PYTHON_SUFFIX} to be \ build with THREADS support BUILD_DEPENDS= ${_LDB_DEPENDS} \ cmocka>=1.1.3:sysutils/cmocka RUN_DEPENDS= ${_LDB_DEPENDS} TEST_DEPENDS= ${_LDB_DEPENDS} \ cmocka>=1.1.3:sysutils/cmocka USES= compiler ldap localbase:ldflags pkgconfig USE_LDCONFIG= yes HAS_CONFIGURE= yes CONFIGURE_LOG= ${BUILD_WRKSRC}/bin/config.log PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig CONFIGURE_ARGS+= --bundled-libraries=!talloc,!tevent,!tdb,!popt,!cmocka \ --disable-rpath \ --with-modulesdir=${PREFIX}/lib/shared-modules \ --with-openldap=${LOCALBASE} \ --with-privatelibdir=${PREFIX}/lib/ldb \ --without-gettext CONFIGURE_ENV+= NOCOLOR=yes MAKE_ENV+= NOCOLOR=yes CFLAGS+= ${_CFLAGS_${COMPILER_TYPE}} DEBUG_FLAGS= -g -ggdb3 -O0 # Some symbols in ldb'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= ldb[0-9][0-9] # include/ldb.h BINARY_ALIAS= python3=${PYTHON_CMD} PLIST_FILES= ${_LDB_BINS} \ ${_LDB_LIBS_64} \ ${_LDB_LIBS} \ ${PKGCONFIGDIR}/ldb.pc \ include/ldb.h \ include/ldb_errors.h \ include/ldb_handlers.h \ include/ldb_module.h \ include/ldb_version.h PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR:S;${PREFIX}/;;} OPTIONS_DEFINE= MANPAGES PYTHON3 OPTIONS_DEFAULT= MANPAGES PYTHON3 MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" PYTHON3_USES= gettext-runtime python PYTHON3_USES_OFF= python:build,test PYTHON3_CONFIGURE_OFF= --disable-python PYTHON3_PLIST_FILES= ${PKGCONFIGDIR}/pyldb-util${PYTHON_TAG}.pc \ ${PYTHON_SITELIBDIR}/_ldb_text.py \ ${PYTHON_SITELIBDIR}/ldb${PYTHON_TAG}.so \ include/pyldb.h \ lib/libpyldb-util${PYTHON_TAG}.so \ lib/libpyldb-util${PYTHON_TAG}.so.2 # No fancy color error messages _CFLAGS_clang= -fno-color-diagnostics _LDB_DEPENDS= talloc242>=2.4.2:devel/talloc242 tevent016>=0.16.0:devel/tevent016 \ - tdb1410>=1.4.10:databases/tdb1410 lmdb>=0.9.23:databases/lmdb0 \ + tdb1410>=1.4.10:databases/tdb1410 lmdb0>=0.9.23:databases/lmdb0 \ popt>=0:devel/popt _LDB_BINS= bin/ldbedit bin/ldbmodify bin/ldbadd bin/ldbdel bin/ldbsearch \ bin/ldbrename _LDB_LIBS= lib/libldb.so lib/libldb.so.2 lib/ldb/libldb-tdb-int.so \ lib/ldb/libldb-tdb-err-map.so lib/ldb/libldb-key-value.so \ lib/ldb/libldb-cmdline.so lib/shared-modules/ldb/skel.so \ lib/shared-modules/ldb/server_sort.so \ lib/shared-modules/ldb/sample.so \ lib/shared-modules/ldb/rdn_name.so \ lib/shared-modules/ldb/paged_searches.so \ lib/shared-modules/ldb/ldb.so lib/shared-modules/ldb/ldap.so \ lib/shared-modules/ldb/asq.so lib/shared-modules/ldb/tdb.so _LDB_MAN1= share/man/man1/ldbadd.1.gz share/man/man1/ldbdel.1.gz \ share/man/man1/ldbedit.1.gz share/man/man1/ldbmodify.1.gz \ share/man/man1/ldbrename.1.gz share/man/man1/ldbsearch.1.gz _LDB_MAN3= share/man/man3/ldb.3.gz .include .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --enable-debug \ --verbose .endif # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && \ ${ARCH} != powerpc && ${ARCH} != powerpcspe _LDB_LIBS_64= lib/ldb/libldb-mdb-int.so lib/shared-modules/ldb/mdb.so .endif .if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= ${_LDB_MAN1} \ ${_LDB_MAN3} .endif .if defined(NO_PYTHON) WARNING+= "${PKGNAME} does not support NO_PYTHON anymore; use option PYTHON3 instead" .endif post-patch: @${REINPLACE_CMD} -e 's|%%PKGCONFIGDIR%%|${PKGCONFIGDIR}|g' \ ${BUILD_WRKSRC}/wscript # Use threading (or multiprocessing) but not thread (renamed in python 3+). pre-configure: @if ! ${PYTHON_CMD} -c "import multiprocessing;" 2>/dev/null; then \ ${ECHO_CMD}; \ ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE_NONTHREAD_PYTHON:Q}.; \ ${ECHO_CMD}; \ ${FALSE}; \ fi post-install: .for lib in ${_LDB_BINS} ${_LDB_LIBS} ${_LDB_LIBS_64} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${lib} .endfor post-install-PYTHON3-on: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpyldb-util${PYTHON_TAG}.so ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/ldb${PYTHON_TAG}.so .include diff --git a/dns/knot3/Makefile b/dns/knot3/Makefile index b8df4efa5871..f774a9141632 100644 --- a/dns/knot3/Makefile +++ b/dns/knot3/Makefile @@ -1,178 +1,178 @@ PORTNAME= knot DISTVERSION= ${KNOT_VERSION} PORTREVISION= 1 CATEGORIES= dns MASTER_SITES= https://secure.nic.cz/files/knot-dns/ \ https://dns.company/downloads/knot-dns/ PKGNAMESUFFIX?= 3 MAINTAINER= freebsd@dns.company COMMENT= High performance authoritative-only DNS server WWW= https://www.knot-dns.cz/ LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= gsed:textproc/gsed \ - lmdb>=0.9.15:databases/lmdb0 + lmdb0>=0.9.15:databases/lmdb0 LIB_DEPENDS= libgnutls.so:security/gnutls \ liblmdb.so:databases/lmdb0 USES= compiler:c11 libtool localbase pkgconfig tar:xz USE_LDCONFIG= yes HAS_CONFIGURE= yes CONFIGURE_ARGS= --enable-cap-ng=no \ --enable-recvmmsg=no \ --enable-systemd=no \ --mandir=${PREFIX}/share/man \ --with-pkgconfigdir=${PREFIX}/libdata/pkgconfig INSTALL_TARGET= install-strip CONFLICTS= knot-1.* knot1-[0-6].* knot2-[0-9].* DATADIR= /var/db/${PORTNAME} RUNDIR= /var/run/${PORTNAME} BINARY_ALIAS= sed=${LOCALBASE}/bin/gsed SUB_LIST= GROUPS=${GROUPS} \ USERS=${USERS} USERS= ${PORTNAME} GROUPS= ${PORTNAME} PLIST_SUB= RUNDIR=${RUNDIR} \ GROUPS=${GROUPS} \ USERS=${USERS} PORTDOCS= COPYING NEWS OPTIONS_DEFINE= DAEMON UTILS DOCS EXAMPLES OPTIONS_DEFAULT= DAEMON FASTPARSER DOH DOQ IDN MODACL MODAUTH \ MODCOOKIES MODPROXY MODNOUDP MODPROBE MODRRL \ MODSIGN MODSTATS MODSYNTH MODWHOAMI UTILS OPTIONS_GROUP= DAEMONGR UTILGR OPTIONS_GROUP_DAEMONGR= DNSTAP FASTPARSER MODACL MODAUTH MODCOOKIES \ MODPROXY MODGEO MODNOUDP MODPROBE MODRRL \ MODSIGN MODSTATS MODSYNTH MODWHOAMI OPTIONS_GROUP_UTILGR= DOH DOQ IDN NO_OPTIONS_SORT= yes OPTIONS_SUB= yes DAEMONGR_DESC= Options for daemon DAEMON_DESC= Install daemon DNSTAP_DESC= dnstap support (see dnstap.info) DOCS_DESC= Install documentation DOH_DESC= Support for DNS over HTTPS (DoH) DOQ_DESC= Support for DNS over QUIC (DoQ) FASTPARSER_DESC= Fast zone parser (demands compiling) IDN_DESC= Support for International Domain Names (IDN) MODACL_DESC= Build 'queryacl' module MODAUTH_DESC= Build 'authsignal' module MODCOOKIES_DESC= Build 'cookies' module MODGEO_DESC= Build 'geodb' module MODNOUDP_DESC= Build 'noudp' module MODPROBE_DESC= Build 'probe' module MODPROXY_DESC= Build 'dnsproxy' module MODRRL_DESC= Build 'rrl' module MODSIGN_DESC= Build 'onlinesign' module MODSTATS_DESC= Build 'stats' module MODSYNTH_DESC= Build 'synthrecord' module MODWHOAMI_DESC= Build 'whoami' module UTILGR_DESC= Options for utilities UTILS_DESC= Install utulities DAEMON_LIB_DEPENDS= liburcu.so:sysutils/liburcu DAEMON_USES= libedit DAEMON_CONFIGURE_ENABLE= daemon modules DAEMON_CONFIGURE_WITH= rundir=${RUNDIR} storage=${DATADIR} DAEMON_SUB_FILES= pkg-message DAEMON_VARS= USE_RC_SUBR=${PORTNAME} DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm \ libprotobuf-c.so:devel/protobuf-c DNSTAP_CONFIGURE_ENABLE= dnstap DNSTAP_CONFIGURE_WITH= module-dnstap=yes # # XXX: because `kdig_CPPFLAGS += $(DNSTAP_CFLAGS)' line is missing from # `src/Makefile.am' file (and thus pre-generated `src/Makefile.in') which # should contain "$libfstrm_CFLAGS $libprotobuf_c_CFLAGS" set by configure # script, provide it here explicitly as patching those files would result # in higher line count. Ideally this bug should be fixed upstream. DNSTAP_CPPFLAGS= -I${LOCALBASE}/include DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx DOCS_CONFIGURE_ENABLE= documentation DOH_LIB_DEPENDS= libnghttp2.so:www/libnghttp2 DOQ_LIB_DEPENDS= libngtcp2.so:net/libngtcp2 \ libngtcp2_crypto_gnutls.so:net/libngtcp2-gnutls DOQ_CONFIGURE_ON= --enable-quic=yes DOQ_CONFIGURE_OFF= --enable-quic=no FASTPARSER_CONFIGURE_ENABLE= fastparser IDN_LIB_DEPENDS= libidn2.so:dns/libidn2 IDN_CONFIGURE_WITH= libidn MODACL_CONFIGURE_WITH= module-queryacl=yes MODAUTH_CONFIGURE_WITH= module-authsignal=yes MODCOOKIES_CONFIGURE_WITH= module-cookies=yes MODGEO_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb MODGEO_CONFIGURE_ENABLE= maxminddb MODGEO_CONFIGURE_WITH= module-geoip=yes MODNOUDP_CONFIGURE_WITH= module-noudp=yes MODPROBE_CONFIGURE_WITH= module-probe=yes MODPROXY_CONFIGURE_WITH= module-dnsproxy=yes MODRRL_CONFIGURE_WITH= module-rrl=yes MODSIGN_CONFIGURE_WITH= module-onlinesign=yes MODSTATS_CONFIGURE_WITH= module-stats=yes MODSYNTH_CONFIGURE_WITH= module-synthrecord=yes MODWHOAMI_CONFIGURE_WITH= module-whoami=yes UTILS_CONFIGURE_ENABLE= utilities .include .if ${ARCH} == i386 USES+= autoreconf .endif post-patch-DAEMON-on: @${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|' \ ${WRKSRC}/src/Makefile.in @${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|' \ ${WRKSRC}/src/Makefile.in @${RM} -r ${WRKSRC}/src/zscanner/scanner.c do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/ ${INSTALL_MAN} ${WRKSRC}/doc/man/*.1 ${STAGEDIR}${PREFIX}/share/man/man1 ${INSTALL_MAN} ${WRKSRC}/doc/man/*.5 ${STAGEDIR}${PREFIX}/share/man/man5 ${INSTALL_MAN} ${WRKSRC}/doc/man/*.8 ${STAGEDIR}${PREFIX}/share/man/man8 post-install-DAEMON-on: @${MKDIR} ${STAGEDIR}${DATADIR} ${STAGEDIR}${RUNDIR} post-install: .if ${PORT_OPTIONS:MDAEMON} && ${PORT_OPTIONS:MEXAMPLES} ${MV} ${STAGEDIR}${ETCDIR}/knot.sample.conf ${STAGEDIR}${ETCDIR}/knot.conf.sample .else ${RM} ${STAGEDIR}${ETCDIR}/knot.sample.conf .endif .include "knotdns.mk" .include diff --git a/net/samba416/Makefile b/net/samba416/Makefile index 38a44c00b65e..e488d5b0b201 100644 --- a/net/samba416/Makefile +++ b/net/samba416/Makefile @@ -1,709 +1,709 @@ PORTNAME= ${SAMBA4_BASENAME}416 PORTVERSION= ${SAMBA4_VERSION} PORTREVISION= 12 CATEGORIES?= net MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc DISTNAME= ${SAMBA4_DISTNAME} MAINTAINER= samba@FreeBSD.org COMMENT= Free SMB/CIFS and AD/DC server and client for Unix WWW= https://gitlab.com/samba-freebsd/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING DEPRECATED= Discontinued upstream; transition to a supported versions of Samba (refer to https://wiki.samba.org/index.php/Samba_Release_Planning) USES= cpe CONFLICTS_INSTALL?= samba4* EXTRA_PATCHES= \ ${PATCHDIR}/0001-Compact-and-simplify-modules-build-and-config-genera.patch:-p1 \ ${PATCHDIR}/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch:-p1 \ ${PATCHDIR}/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch:-p1 \ ${PATCHDIR}/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch:-p1 \ ${PATCHDIR}/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch:-p1 \ ${PATCHDIR}/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch:-p1 \ ${PATCHDIR}/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch:-p1 \ ${PATCHDIR}/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch:-p1 \ ${PATCHDIR}/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch:-p1 \ ${PATCHDIR}/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch:-p1 \ ${PATCHDIR}/0011-Use-provided-by-port-location-of-the-XML-catalog.patch:-p1 \ ${PATCHDIR}/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch:-p1 \ ${PATCHDIR}/0013-Pass-additional-msg-parameter-to-CHECK_LIB-so-it-can.patch:-p1 \ ${PATCHDIR}/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch:-p1 \ ${PATCHDIR}/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch:-p1 \ ${PATCHDIR}/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch:-p1 \ ${PATCHDIR}/0017-Use-arc4random-when-available-to-generate-random-tal.patch:-p1 \ ${PATCHDIR}/0018-Add-configuration-option-that-allows-to-choose-alter.patch:-p1 \ ${PATCHDIR}/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch:-p1 \ ${PATCHDIR}/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch:-p1 \ ${PATCHDIR}/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch:-p1 \ ${PATCHDIR}/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch:-p1 \ ${PATCHDIR}/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch:-p1 \ ${PATCHDIR}/0024-Cherry-pick-ZFS-provisioning-code-by-iXsystems-Inc.patch:-p1 \ ${PATCHDIR}/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch:-p1 \ ${PATCHDIR}/0026-vfs-add-a-compatibility-option-to-the-vfs_streams_xa.patch:-p1 \ ${PATCHDIR}/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch:-p1 \ ${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch:-p1 \ ${PATCHDIR}/0029-Fix-rl_completion_func_t.patch:-p1 \ ${PATCHDIR}/0099-s3-modules-zfsacl-fix-get-set-ACL-on-FreeBSD-13.patch:-p1 \ ${PATCHDIR}/0099-s4-mitkdc-Add-support-for-MIT-Kerberos-1.20.patch:-p1 SAMBA4_BASENAME= samba SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4 SAMBA4_VERSION= 4.16.11 SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|} WRKSRC?= ${WRKDIR}/${DISTNAME} PLIST?= ${PKGDIR}/pkg-plist CPE_VENDOR= samba CPE_PRODUCT= samba # 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= ${PREFIX}/lib/${SAMBA4_PORTNAME} SAMBA4_INCLUDEDIR= ${PREFIX}/include/${SAMBA4_PORTNAME} 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 CONFIGURE_ARGS= --mandir="${PREFIX}/share/man" \ --sysconfdir="${SAMBA4_CONFDIR}" \ --includedir="${SAMBA4_INCLUDEDIR}" \ --datadir="${DATADIR}" \ --libdir="${SAMBA4_LIBDIR}" \ --with-privatelibdir="${SAMBA4_LIBDIR}/private" \ --with-pammodulesdir="${SAMBA4_PAMDIR}" \ --with-modulesdir="${SAMBA4_MODULEDIR}" \ --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}" # XXX: Flags CONFIGURE_ENV= PTHREAD_LDFLAGS="-lpthread" FORTIFY_UNSAFE= yes MAKE_ENV= PYTHONHASHSEED=1 USES= compiler:c++11-lang iconv localbase:ldflags \ perl5 pkgconfig shebangfix waf gettext-runtime USE_PERL5= build USE_LDCONFIG= ${SAMBA4_LIBDIR} WAF_CMD= buildtools/bin/waf CONFIGURE_LOG= bin/config.log FLAVORS= default externalldb FLAVOR?= ${FLAVORS:[1]} externalldb_PKGNAMESUFFIX= -externalldb .if ${FLAVOR:U} == externalldb BROKEN= fails to build; databases/ldb25 is not built with Python support by default .endif # Make sure that the right version of Python is used by the tools # https://bugzilla.samba.org/show_bug.cgi?id=7305 SHEBANG_FILES= ${PATCH_WRKSRC}/source4/scripting/bin/* ${PATCH_WRKSRC}/selftest/* PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig PKGCONFIGDIR_REL?= ${PKGCONFIGDIR:S,^${PREFIX}/,,} PLIST_SUB= PKGCONFIGDIR=${PKGCONFIGDIR_REL} SUB_LIST= PKGCONFIGDIR=${PKGCONFIGDIR_REL} ############################################################################## OPTIONS_SUB= yes OPTIONS_DEFINE= AD_DC ADS CLUSTER CUPS DOCS FAM GPGME \ LDAP MANDOC PROFILE PYTHON3 QUOTAS \ SYSLOG UTMP #OPTIONS_DEFINE+= DEVELOPER MEMORY_DEBUG OPTIONS_GROUP= VFS OPTIONS_GROUP_VFS= FRUIT GLUSTERFS OPTIONS_SINGLE= GSSAPI ZEROCONF OPTIONS_SINGLE_GSSAPI= GSSAPI_BUILTIN GSSAPI_MIT #GSSAPI_HEIMDAL OPTIONS_SINGLE_ZEROCONF= ZEROCONF_NONE AVAHI MDNSRESPONDER # Make those default options OPTIONS_DEFAULT= AD_DC ADS DOCS FAM LDAP \ PROFILE PYTHON3 QUOTAS SYSLOG UTMP \ FRUIT GSSAPI_BUILTIN AVAHI ############################################################################## ADS_DESC= Active Directory client(implies LDAP) AD_DC_DESC= Active Directory Domain Controller(implies PYTHON3) CLUSTER_DESC= Clustering support DEVELOPER_DESC= With developer framework FAM_DESC= File Alteration Monitor GPGME_DESC= GpgME support LDAP_DESC= LDAP client LIBZFS_DESC= LibZFS MANDOC_DESC= Build manpages from DOCBOOK templates MEMORY_DEBUG_DESC= Debug memory allocator PICKY_DEVELOPER_DESC= Treat compiler warnings as errors(implies DEVELOPER) PROFILE_DESC= Profiling data QUOTAS_DESC= Disk quota support UTMP_DESC= UTMP accounting VFS_DESC= VFS modules FRUIT_DESC= MacOSX and TimeMachine support GLUSTERFS_DESC= GlusterFS support GSSAPI_BUILTIN_DESC= GSSAPI support via bundled Heimdal ZEROCONF_DESC= Zero configuration networking ZEROCONF_NONE_DESC= Zeroconf support is absent ############################################################################## # XXX: Unconditional dependencies which can't be switched off(if present in # the system) # Iconv(picked up unconditionaly) LIB_DEPENDS= libiconv.so:converters/libiconv # unwind LIB_DEPENDS+= libunwind.so:devel/libunwind # Readline(sponsored by Python) # XXX: USES=readline pollutes CPPFLAGS, so we explicitly put dependency LIB_DEPENDS+= libreadline.so:devel/readline # popt LIB_DEPENDS+= libpopt.so:devel/popt # inotify LIB_DEPENDS+= libinotify.so:devel/libinotify # GNUTLS LIB_DEPENDS+= libgnutls.so:security/gnutls LIB_DEPENDS+= libgcrypt.so:security/libgcrypt # NFSv4 ACL glue LIB_DEPENDS+= libsunacl.so:sysutils/libsunacl # Jansson BUILD_DEPENDS+= jansson>=2.10:devel/jansson RUN_DEPENDS+= jansson>=2.10:devel/jansson # tasn1 BUILD_DEPENDS+= libtasn1>=3.8:security/libtasn1 RUN_DEPENDS+= libtasn1>=3.8:security/libtasn1 # External Samba dependencies # Needed for IDL compiler BUILD_DEPENDS+= p5-Parse-Yapp>=0:devel/p5-Parse-Yapp # Libarchive SAMBA4_BUNDLED_LIBS= !libarchive BUILD_DEPENDS+= libarchive>=3.1.2:archivers/libarchive RUN_DEPENDS+= libarchive>=3.1.2:archivers/libarchive ### Bundled libraries SAMBA4_BUNDLED_CMOCKA?= no SAMBA4_BUNDLED_TALLOC?= no SAMBA4_BUNDLED_TEVENT?= no SAMBA4_BUNDLED_TDB?= no .if ${FLAVOR:U} != externalldb SAMBA4_BUNDLED_LDB?= yes .else SAMBA4_BUNDLED_LDB?= no .endif # cmocka .if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes SAMBA4_BUNDLED_LIBS+= cmocka CONFLICTS_INSTALL+= cmocka-1.* PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA="" SUB_LIST+= SAMBA4_BUNDLED_CMOCKA="" .else SAMBA4_BUNDLED_LIBS+= !cmocka BUILD_DEPENDS+= cmocka>=1.1.3:sysutils/cmocka TEST_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_INSTALL+= talloc-* talloc1-* PLIST_SUB+= SAMBA4_BUNDLED_TALLOC="" SUB_LIST+= SAMBA4_BUNDLED_TALLOC="" .else SAMBA4_BUNDLED_LIBS+= !talloc BUILD_DEPENDS+= talloc>=2.3.3:devel/talloc RUN_DEPENDS+= talloc>=2.3.3: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_INSTALL+= tevent-* tevent1-* PLIST_SUB+= SAMBA4_BUNDLED_TEVENT="" SUB_LIST+= SAMBA4_BUNDLED_TEVENT="" .else SAMBA4_BUNDLED_LIBS+= !tevent BUILD_DEPENDS+= tevent>=0.11.0:devel/tevent RUN_DEPENDS+= tevent>=0.11.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_INSTALL+= tdb-* tdb1-* PLIST_SUB+= SAMBA4_BUNDLED_TDB="" SUB_LIST+= SAMBA4_BUNDLED_TDB="" .else SAMBA4_BUNDLED_LIBS+= !tdb BUILD_DEPENDS+= tdb>=1.4.6:databases/tdb RUN_DEPENDS+= tdb>=1.4.6:databases/tdb PLIST_SUB+= SAMBA4_BUNDLED_TDB="@comment " SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment " .endif # ldb .if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes SAMBA4_BUNDLED_LDB= yes SAMBA4_BUNDLED_LIBS+= ldb PLIST_SUB+= SAMBA4_BUNDLED_LDB="" SUB_LIST+= SAMBA4_BUNDLED_LDB="" SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules .else SAMBA4_BUNDLED_LIBS+= !ldb BUILD_DEPENDS+= ldb25>=2.5.2:databases/ldb25 RUN_DEPENDS+= ldb25>=2.5.2:databases/ldb25 PLIST_SUB+= SAMBA4_BUNDLED_LDB="@comment " SUB_LIST+= SAMBA4_BUNDLED_LDB="@comment " SAMBA4_MODULEDIR= ${PREFIX}/lib/shared-modules .endif .if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes) \ || (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \ || (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) \ || (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes) SAMBA4_BUNDLED_LIBS+= replace .endif # Don't use external libcom_err SAMBA4_BUNDLED_LIBS+= com_err # Set the test environment variables TEST_USES= python TEST_ENV= PYTHON="${PYTHON_CMD}" \ SHA1SUM=/sbin/sha1 \ SHA256SUM=/sbin/sha256 \ MD5SUM=/sbin/md5 \ PYTHONDONTWRITEBYTECODE=1 TEST_DEPENDS= bash:shells/bash \ tshark:net/wireshark@nox11 # External Python modules TEST_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} TEST_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} ############################################################################## CONFIGURE_ARGS+= \ --with-pam \ --with-iconv \ --with-winbind \ --with-regedit \ --disable-rpath \ --without-lttng \ --without-gettext \ --enable-pthreadpool \ --without-fake-kaserver \ --without-systemd \ --with-libarchive \ --with-acl-support \ --with-sendfile-support \ --disable-ctdb-tests \ --disable-spotlight # ${ICONV_CONFIGURE_BASE} ############################################################################## FRUIT_PREVENTS= ZEROCONF_NONE FRUIT_PREVENTS_MSG= MacOSX support requires Zeroconf(AVAHI or MDNSRESPONDER) FRUIT_VARS= SAMBA4_MODULES+=vfs_fruit FRUIT_PLIST_FILES= share/man/man8/vfs_fruit.8.gz GLUSTERFS_CONFIGURE_ENABLE= glusterfs GLUSTERFS_LIB_DEPENDS= libglusterfs.so:net/glusterfs GLUSTERFS_VARS= SAMBA4_MODULES+=vfs_glusterfs GLUSTERFS_PLIST_FILES= share/man/man8/vfs_glusterfs.8.gz ZEROCONF_NONE_MAKE_ENV= ZEROCONF=none ############################################################################## AVAHI_CONFIGURE_ENABLE= avahi AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_VARS= SAMBA4_SERVICES+=avahi_daemon MDNSRESPONDER_CONFIGURE_ENABLE= dnssd MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_VARS= SAMBA4_SERVICES+=mdnsd ############################################################################## MEMORY_DEBUG_IMPLIES= DEBUG MEMORY_DEBUG_CONFIGURE_ENV= ADDITIONAL_CFLAGS="-DENABLE_JEMALLOC `pkg-config --cflags jemalloc`" ADDITIONAL_LDFLAGS="`pkg-config --libs jemalloc`" MEMORY_DEBUG_LIB_DEPENDS= libjemalloc.so.2:devel/jemalloc # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046 GDB_CMD?= ${LOCALBASE}/bin/gdb # https://bugzilla.samba.org/show_bug.cgi?id=8969 PICKY_DEVELOPER_IMPLIES= DEVELOPER PICKY_DEVELOPER_CONFIGURE_ON= --picky-developer DEVELOPER_CONFIGURE_ON= --enable-developer --enable-selftest --abi-check-disable DEVELOPER_CONFIGURE_ENV= WAF_CMD_FORMAT=string DEVELOPER_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} \ ${GDB_CMD}:devel/gdb DEVELOPER_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} DEVELOPER_TEST_DEPENDS= ${GDB_CMD}:devel/gdb DEVELOPER_VARS_OFF= GDB_CMD=true ############################################################################## AD_DC_IMPLIES= PYTHON3 AD_DC_CONFIGURE_OFF= --without-ad-dc AD_DC_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} AD_DC_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} AD_DC_VARS= PLIST+=${PKGDIR}/pkg-plist.ad_dc # samba-tool requires those for *upgrade AD_DC_BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} AD_DC_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} ADS_IMPLIES= LDAP ADS_CONFIGURE_WITH= ads CLUSTER_CONFIGURE_WITH= cluster-support CLUSTER_VARS= PLIST+=${PKGDIR}/pkg-plist.cluster CUPS_CONFIGURE_ENABLE= cups iprint CUPS_LIB_DEPENDS= libcups.so:print/cups # https://bugzilla.samba.org/show_bug.cgi?id=9545 FAM_LIB_DEPENDS= libfam.so.0:devel/gamin FAM_CONFIGURE_WITH= fam GPGME_CONFIGURE_WITH= gpgme GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme GPGME_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gpg>=2.0.0:security/py-gpg@${PY_FLAVOR} GSSAPI_BUILTIN_USES= bison gssapi GSSAPI_BUILTIN_BUILD_DEPENDS= p5-JSON>=4.0:converters/p5-JSON GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ --with-system-mitkdc=${GSSAPIBASEDIR}/sbin/krb5kdc \ --with-experimental-mit-ad-dc GSSAPI_MIT_USES= gssapi:mit GSSAPI_HEIMDAL_CONFIGURE_ON= --with-system-heimdalkrb5 ${GSSAPIBASEDIR} GSSAPI_HEIMDAL_USES= gssapi:heimdal GSSAPI_HEIMDAL_PREVENTS= AD_DC GSSAPI_HEIMDAL_PREVENTS_MSG= GSSAPI_HEIMDAL and AD_DC enable conflicting options LDAP_CONFIGURE_WITH= ldap LDAP_CONFIGURE_ON= --with-openldap=${LOCALBASE} LDAP_USES= ldap LDAP_VARS= SAMBA4_MODULES+=idmap_ldap LIBZFS_CONFIGURE_WITH= libzfs LIBZFS_VARS= SAMBA4_MODULES+=vfs_zfs_space MANDOC_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANDOC_CONFIGURE_ENV_OFF= XSLTPROC="true" PROFILE_CONFIGURE_WITH= profiling-data QUOTAS_CONFIGURE_WITH= quotas SYSLOG_CONFIGURE_WITH= syslog UTMP_CONFIGURE_WITH= utmp ############################################################################## .include ############################################################################## .if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES) WANT_EXP_MODULES= vfs_cacheprime .endif .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 .endif SAMBA4_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 # List of extra modules taken from RHEL build # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197320 .if ${PORT_OPTIONS:MADS} SAMBA4_MODULES+= idmap_ad idmap_rfc2307 nss-info_template \ nss-info_rfc2307 nss-info_sfu nss-info_sfu20 .endif # 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 \ 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 \ vfs_linux_xfs_sgid vfs_media_harmony vfs_offline \ vfs_preopen vfs_readahead vfs_readonly vfs_recycle \ vfs_shadow_copy vfs_shadow_copy2 vfs_shell_snap \ vfs_streams_depot vfs_streams_xattr vfs_syncops \ vfs_time_audit vfs_unityed_media vfs_virusfilter \ vfs_widelinks vfs_worm vfs_xattr_tdb vfs_zfsacl .if ${PORT_OPTIONS:MDEVELOPER} SAMBA4_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 .endif # Python bindings BUILD_DEPENDS+= ${PY_SETUPTOOLS} .if ! ${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON) USES+= python:build,test,3.11-3.14 CONFIGURE_ARGS+= --disable-python .else USES+= python:3.11-3.14 PLIST+= ${PKGDIR}/pkg-plist.python # Don't cache Python modules CONFIGURE_ARGS+= --nopycache MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 . if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes SAMBA4_BUNDLED_LIBS+= pytalloc-util . else SAMBA4_BUNDLED_LIBS+= !pytalloc-util . endif . if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes SAMBA4_BUNDLED_LIBS+= pytevent . else SAMBA4_BUNDLED_LIBS+= !pytevent . endif . if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes SAMBA4_BUNDLED_LIBS+= pytdb . else SAMBA4_BUNDLED_LIBS+= !pytdb . endif . if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes SAMBA4_BUNDLED_LIBS+= pyldb pyldb-util . else SAMBA4_BUNDLED_LIBS+= !pyldb !pyldb-util . endif .endif .if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES) SAMBA4_MODULES+= ${WANT_EXP_MODULES} .endif .if defined(SAMBA4_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 .for module_class in ${SAMBA4_MODULES_CLASS} PLIST_DIRS+= ${SAMBA4_MODULEDIR}/${module_class} .endfor PLIST_DIRS+= ${SAMBA4_MODULEDIR} .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --verbose --enable-debug MAKE_ARGS+= --verbose DEBUG_FLAGS?= -g -ggdb3 -O0 .endif ############################################################################## .include ############################################################################## # Implemented in the gcrypt on AMD64 .if ${ARCH} == "amd64" CONFIGURE_ARGS+= --accel-aes=intelaesni .else CONFIGURE_ARGS+= --accel-aes=none .endif # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != powerpc && ${ARCH} != powerpcspe . if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes && (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER}) # LMDB -SAMBA4_LMDB_DEPENDS= lmdb>=0.9.16:databases/lmdb0 +SAMBA4_LMDB_DEPENDS= lmdb0>=0.9.16:databases/lmdb0 PLIST_FILES+= ${SAMBA4_LIBDIR}/private/libldb-mdb-int-samba4.so \ ${SAMBA4_MODULEDIR}/ldb/mdb.so . endif .endif .if ${PORT_OPTIONS:MGSSAPI_MIT} PLIST_FILES+= ${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so \ share/man/man8/winbind_krb5_localauth.8.gz . if ${PORT_OPTIONS:MAD_DC} PLIST_FILES+= ${SAMBA4_LIBDIR}/krb5/plugins/kdb/samba.so . endif .endif # for libexecinfo: (so that __builtin_frame_address() finds the top of the stack) CFLAGS_amd64+= -fno-omit-frame-pointer # No fancy color error messages CFLAGS+= ${CFLAGS_${CHOSEN_COMPILER_TYPE}} CFLAGS_clang= -fno-color-diagnostics 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' # Allow rpcgen to find proper CPP MAKE_ENV+= RPCGEN_CPP="${CPP}" #.if ${readline_ARGS} == port #CFLAGS+= -D_FUNCTION_DEF #.endif # 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 SAMBA4_SUB= SAMBA4_LOGDIR="${SAMBA4_LOGDIR}" \ SAMBA4_RUNDIR="${SAMBA4_RUNDIR}" \ SAMBA4_LOCKDIR="${SAMBA4_LOCKDIR}" \ SAMBA4_LIBDIR="${SAMBA4_LIBDIR}" \ SAMBA4_MODULEDIR="${SAMBA4_MODULEDIR}" \ SAMBA4_BINDDNSDIR="${SAMBA4_BINDDNSDIR}" \ SAMBA4_PRIVATEDIR="${SAMBA4_PRIVATEDIR}" \ SAMBA4_CONFDIR="${SAMBA4_CONFDIR}" \ SAMBA4_CONFIG="${SAMBA4_CONFIG}" \ SAMBA4_SERVICES="${SAMBA4_SERVICES}" PLIST_SUB+= ${SAMBA4_SUB} SUB_LIST+= ${SAMBA4_SUB} USE_RC_SUBR= samba_server SUB_FILES= pkg-message README.FreeBSD PORTDOCS= README.FreeBSD post-extract: @${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp post-patch: @${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' \ ${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${SAMBA4_CONFIG}|g' \ ${PATCH_WRKSRC}/dynconfig/wscript # Use threading (or multiprocessing) but not thread (renamed in python 3+). pre-configure: .if (!${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON)) && ${PORT_OPTIONS:MAD_DC} @${ECHO_CMD}; \ ${ECHO_MSG} "===> AD_DC option requires PYTHON3 to be set"; \ ${ECHO_CMD}; \ ${FALSE} .endif pre-build-MANDOC-off: ${MKDIR} ${BUILD_WRKSRC}/bin/default/docs-xml/ ${CP} -rp ${BUILD_WRKSRC}/docs/manpages ${BUILD_WRKSRC}/bin/default/docs-xml/ .for man in libcli/nbt/man/nmblookup4.1 \ librpc/tools/ndrdump.1 \ source4/lib/registry/man/regdiff.1 \ source4/lib/registry/man/regpatch.1 \ source4/lib/registry/man/regshell.1 \ source4/lib/registry/man/regtree.1 \ source4/scripting/man/samba-gpupdate.8 \ source4/torture/man/gentest.1 \ source4/torture/man/locktest.1 \ source4/torture/man/masktest.1 \ source4/torture/man/smbtorture.1 \ source4/utils/man/ntlm_auth4.1 \ source4/utils/oLschema2ldif/oLschema2ldif.1 \ lib/tdb/man/tdbdump.8 \ lib/tdb/man/tdbbackup.8 \ lib/tdb/man/tdbtool.8 \ lib/talloc/man/talloc.3 \ lib/tdb/man/tdbrestore.8 \ lib/ldb/man/ldb.3 \ lib/ldb/man/ldbadd.1 \ lib/ldb/man/ldbdel.1 \ lib/ldb/man/ldbedit.1 \ lib/ldb/man/ldbmodify.1 \ lib/ldb/man/ldbrename.1 \ lib/ldb/man/ldbsearch.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 \ 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 .endif post-install-rm-junk: ${RM} -r ${STAGEDIR}${PYTHON_SITELIBDIR}/samba/third_party ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name __pycache__ \ -type d -print0 | ${XARGS} -0 -n 1 -t ${RM} -r ${FIND} ${STAGEDIR} -type f -empty -delete post-install-fix-manpages: .for f in vfs_aio_linux.8 vfs_btrfs.8 vfs_ceph.8 vfs_gpfs.8 ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f} .endfor .if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes . for f in ldbadd.1 ldbdel.1 ldbedit.1 ldbmodify.1 ldbrename.1 ldbsearch.1 ${MV} ${STAGEDIR}${PREFIX}/share/man/man1/${f} ${STAGEDIR}${PREFIX}/share/man/man1/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 post-install: post-install-rm-junk post-install-fix-manpages ${LN} -sf smb.conf.5.gz ${STAGEDIR}${PREFIX}/share/man/man5/smb4.conf.5.gz # Run post-install script .for dir in ${SAMBA4_LOGDIR} ${SAMBA4_RUNDIR} ${SAMBA4_LOCKDIR} ${SAMBA4_MODULEDIR} ${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}" .endfor .if !defined(WITH_DEBUG) -${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin ${STAGEDIR}${PREFIX}/libexec \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} -${FIND} ${STAGEDIR}${PREFIX}/lib -name '*.so*' \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} .endif post-install-FRUIT-off: ${RM} ${STAGEDIR}${SAMBA4_MODULEDIR}/vfs/fruit.so ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8 post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} .for doc in ${PORTDOCS} ${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR} .endfor post-install-CLUSTER-on: ${LN} -nfs ../../../../share/ctdb/events/legacy/00.ctdb.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/00.ctdb.script ${LN} -nfs ../../../../share/ctdb/events/legacy/10.interface.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/10.interface.script ${LN} -nfs ../../../../share/ctdb/events/legacy/05.system.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/05.system.script ${LN} -nfs ../../../../share/ctdb/events/legacy/01.reclock.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/01.reclock.script .include diff --git a/net/samba419/Makefile b/net/samba419/Makefile index e0962013a913..14f25d823269 100644 --- a/net/samba419/Makefile +++ b/net/samba419/Makefile @@ -1,681 +1,681 @@ PORTNAME= ${SAMBA4_BASENAME}419 PORTVERSION= ${SAMBA4_VERSION} PORTREVISION= 13 CATEGORIES?= net MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc DISTNAME= ${SAMBA4_DISTNAME} MAINTAINER= samba@FreeBSD.org COMMENT= Free SMB/CIFS and AD/DC server and client for Unix WWW= https://gitlab.com/samba-freebsd/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING DEPRECATED= Discontinued upstream; transition to a supported versions of Samba (refer to https://wiki.samba.org/index.php/Samba_Release_Planning) USES= cpe CONFLICTS_INSTALL?= samba4* EXTRA_PATCHES= \ ${PATCHDIR}/0001-Compact-and-simplify-modules-build-and-config-genera.patch:-p1 \ ${PATCHDIR}/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch:-p1 \ ${PATCHDIR}/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch:-p1 \ ${PATCHDIR}/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch:-p1 \ ${PATCHDIR}/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch:-p1 \ ${PATCHDIR}/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch:-p1 \ ${PATCHDIR}/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch:-p1 \ ${PATCHDIR}/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch:-p1 \ ${PATCHDIR}/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch:-p1 \ ${PATCHDIR}/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch:-p1 \ ${PATCHDIR}/0011-Use-provided-by-port-location-of-the-XML-catalog.patch:-p1 \ ${PATCHDIR}/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch:-p1 \ ${PATCHDIR}/0013-Pass-additional-msg-parameter-to-CHECK_LIB-so-it-can.patch:-p1 \ ${PATCHDIR}/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch:-p1 \ ${PATCHDIR}/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch:-p1 \ ${PATCHDIR}/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch:-p1 \ ${PATCHDIR}/0017-Use-arc4random-when-available-to-generate-random-tal.patch:-p1 \ ${PATCHDIR}/0018-Add-configuration-option-that-allows-to-choose-alter.patch:-p1 \ ${PATCHDIR}/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch:-p1 \ ${PATCHDIR}/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch:-p1 \ ${PATCHDIR}/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch:-p1 \ ${PATCHDIR}/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch:-p1 \ ${PATCHDIR}/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch:-p1 \ ${PATCHDIR}/0024-Cherry-pick-ZFS-provisioning-code-by-iXsystems-Inc.patch:-p1 \ ${PATCHDIR}/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch:-p1 \ ${PATCHDIR}/0026-vfs-add-a-compatibility-option-to-the-vfs_streams_xa.patch:-p1 \ ${PATCHDIR}/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch:-p1 \ ${PATCHDIR}/0028-Fix-rl_completion_func_t.patch:-p1 \ ${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch:-p1 \ ${PATCHDIR}/0100-Fix-pathref-handling-for-FreeBSD-13plus.patch SAMBA4_BASENAME= samba SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4 SAMBA4_VERSION= 4.19.9 SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|} WRKSRC?= ${WRKDIR}/${DISTNAME} PLIST?= ${PKGDIR}/pkg-plist CPE_VENDOR= samba CPE_PRODUCT= samba # 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= ${PREFIX}/lib/${SAMBA4_PORTNAME} SAMBA4_INCLUDEDIR= ${PREFIX}/include/${SAMBA4_PORTNAME} 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 CONFIGURE_ARGS= --mandir="${PREFIX}/share/man" \ --sysconfdir="${SAMBA4_CONFDIR}" \ --includedir="${SAMBA4_INCLUDEDIR}" \ --datadir="${DATADIR}" \ --libdir="${SAMBA4_LIBDIR}" \ --with-privatelibdir="${SAMBA4_LIBDIR}/private" \ --with-pammodulesdir="${SAMBA4_PAMDIR}" \ --with-modulesdir="${SAMBA4_MODULEDIR}" \ --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}" # XXX: Flags CONFIGURE_ENV= PTHREAD_LDFLAGS="-lpthread" \ PYTHONHASHSEED=1 FORTIFY_UNSAFE= yes MAKE_ENV= PYTHONHASHSEED=1 USES= compiler:c++11-lang iconv localbase:ldflags \ perl5 pkgconfig shebangfix waf gettext-runtime USE_PERL5= build USE_LDCONFIG= ${SAMBA4_LIBDIR} WAF_CMD= buildtools/bin/waf CONFIGURE_LOG= bin/config.log # Make sure that the right version of Python is used by the tools # https://bugzilla.samba.org/show_bug.cgi?id=7305 SHEBANG_FILES= source3/script* source4/scripting/bin/* selftest/* PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig PKGCONFIGDIR_REL?= ${PKGCONFIGDIR:S,^${PREFIX}/,,} PLIST_SUB= PKGCONFIGDIR=${PKGCONFIGDIR_REL} SUB_LIST= PKGCONFIGDIR=${PKGCONFIGDIR_REL} ############################################################################## OPTIONS_SUB= yes OPTIONS_DEFINE= AD_DC ADS CLUSTER CUPS DOCS FAM GPGME \ LDAP MANPAGES PROFILE PYTHON3 QUOTAS \ SYSLOG UTMP #OPTIONS_DEFINE+= DEVELOPER MEMORY_DEBUG OPTIONS_GROUP= VFS OPTIONS_GROUP_VFS= FRUIT GLUSTERFS OPTIONS_SINGLE= GSSAPI ZEROCONF OPTIONS_SINGLE_GSSAPI= GSSAPI_BUILTIN GSSAPI_MIT #GSSAPI_HEIMDAL OPTIONS_SINGLE_ZEROCONF= ZEROCONF_NONE AVAHI MDNSRESPONDER # Make those default options OPTIONS_DEFAULT= AD_DC ADS DOCS FAM LDAP MANPAGES \ PROFILE PYTHON3 QUOTAS SYSLOG UTMP \ FRUIT GSSAPI_BUILTIN AVAHI ############################################################################## ADS_DESC= Active Directory client(implies LDAP) AD_DC_DESC= Active Directory Domain Controller(implies PYTHON3) CLUSTER_DESC= Clustering support DEVELOPER_DESC= With developer framework FAM_DESC= File Alteration Monitor GPGME_DESC= GpgME support LDAP_DESC= LDAP client LIBZFS_DESC= LibZFS MEMORY_DEBUG_DESC= Debug memory allocator PICKY_DEVELOPER_DESC= Treat compiler warnings as errors(implies DEVELOPER) PROFILE_DESC= Profiling data QUOTAS_DESC= Disk quota support UTMP_DESC= UTMP accounting VFS_DESC= VFS modules FRUIT_DESC= MacOSX and TimeMachine support GLUSTERFS_DESC= GlusterFS support GSSAPI_BUILTIN_DESC= GSSAPI support via bundled Heimdal ZEROCONF_DESC= Zero configuration networking ZEROCONF_NONE_DESC= Zeroconf support is absent ############################################################################## # XXX: Unconditional dependencies which can't be switched off(if present in # the system) # Iconv(picked up unconditionaly) LIB_DEPENDS= libiconv.so:converters/libiconv # unwind LIB_DEPENDS+= libunwind.so:devel/libunwind # Readline(sponsored by Python) # XXX: USES=readline pollutes CPPFLAGS, so we explicitly put dependency LIB_DEPENDS+= libreadline.so:devel/readline # popt LIB_DEPENDS+= libpopt.so:devel/popt # inotify LIB_DEPENDS+= libinotify.so:devel/libinotify # GNUTLS LIB_DEPENDS+= libgnutls.so:security/gnutls LIB_DEPENDS+= libgcrypt.so:security/libgcrypt # NFSv4 ACL glue LIB_DEPENDS+= libsunacl.so:sysutils/libsunacl # Jansson BUILD_DEPENDS+= jansson>=2.10:devel/jansson RUN_DEPENDS+= jansson>=2.10:devel/jansson # tasn1 BUILD_DEPENDS+= libtasn1>=3.8:security/libtasn1 RUN_DEPENDS+= libtasn1>=3.8:security/libtasn1 # External Samba dependencies # Needed for IDL compiler BUILD_DEPENDS+= p5-Parse-Yapp>=0:devel/p5-Parse-Yapp # Libarchive SAMBA4_BUNDLED_LIBS= !libarchive BUILD_DEPENDS+= libarchive>=3.1.2:archivers/libarchive RUN_DEPENDS+= libarchive>=3.1.2:archivers/libarchive ### Bundled libraries SAMBA4_BUNDLED_CMOCKA?= no SAMBA4_BUNDLED_TALLOC?= no SAMBA4_BUNDLED_TEVENT?= no SAMBA4_BUNDLED_TDB?= no SAMBA4_BUNDLED_LDB?= no # cmocka .if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes SAMBA4_BUNDLED_LIBS+= cmocka CONFLICTS_INSTALL+= cmocka-1.* PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA="" SUB_LIST+= SAMBA4_BUNDLED_CMOCKA="" .else SAMBA4_BUNDLED_LIBS+= !cmocka BUILD_DEPENDS+= cmocka>=1.1.3:sysutils/cmocka TEST_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 PLIST_SUB+= SAMBA4_BUNDLED_TALLOC="" SUB_LIST+= SAMBA4_BUNDLED_TALLOC="" .else SAMBA4_BUNDLED_LIBS+= !talloc BUILD_DEPENDS+= talloc>=2.4.1:devel/talloc RUN_DEPENDS+= talloc>=2.4.1: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_INSTALL+= tevent-* tevent1-* PLIST_SUB+= SAMBA4_BUNDLED_TEVENT="" SUB_LIST+= SAMBA4_BUNDLED_TEVENT="" .else SAMBA4_BUNDLED_LIBS+= !tevent BUILD_DEPENDS+= tevent>=0.15.0:devel/tevent RUN_DEPENDS+= tevent>=0.15.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_INSTALL+= tdb-* tdb1-* PLIST_SUB+= SAMBA4_BUNDLED_TDB="" SUB_LIST+= SAMBA4_BUNDLED_TDB="" .else SAMBA4_BUNDLED_LIBS+= !tdb BUILD_DEPENDS+= tdb>=1.4.9:databases/tdb RUN_DEPENDS+= tdb>=1.4.9:databases/tdb PLIST_SUB+= SAMBA4_BUNDLED_TDB="@comment " SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment " .endif # ldb .if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes SAMBA4_BUNDLED_LDB= yes SAMBA4_BUNDLED_LIBS+= ldb PLIST_SUB+= SAMBA4_BUNDLED_LDB="" SUB_LIST+= SAMBA4_BUNDLED_LDB="" SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules .else SAMBA4_BUNDLED_LIBS+= !ldb BUILD_DEPENDS+= ldb28>=2.8.1:databases/ldb28 RUN_DEPENDS+= ldb28>=2.8.1:databases/ldb28 PLIST_SUB+= SAMBA4_BUNDLED_LDB="@comment " SUB_LIST+= SAMBA4_BUNDLED_LDB="@comment " SAMBA4_MODULEDIR= ${PREFIX}/lib/shared-modules .endif .if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes) \ || (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \ || (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) \ || (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes) SAMBA4_BUNDLED_LIBS+= replace .endif # Don't use external libcom_err SAMBA4_BUNDLED_LIBS+= com_err # Set the test environment variables TEST_USES= python TEST_ENV= PYTHON="${PYTHON_CMD}" \ SHA1SUM=/sbin/sha1 \ SHA256SUM=/sbin/sha256 \ MD5SUM=/sbin/md5 \ PYTHONDONTWRITEBYTECODE=1 TEST_DEPENDS= bash:shells/bash \ tshark:net/wireshark@nox11 # External Python modules TEST_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} TEST_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} ############################################################################## CONFIGURE_ARGS+= \ --with-pam \ --with-iconv \ --with-winbind \ --with-regedit \ --disable-rpath \ --without-lttng \ --without-gettext \ --enable-pthreadpool \ --without-fake-kaserver \ --without-systemd \ --with-libarchive \ --with-acl-support \ --with-sendfile-support \ --disable-ctdb-tests \ --disable-spotlight # ${ICONV_CONFIGURE_BASE} ############################################################################## FRUIT_PREVENTS= ZEROCONF_NONE FRUIT_PREVENTS_MSG= MacOSX support requires Zeroconf(AVAHI or MDNSRESPONDER) FRUIT_VARS= SAMBA4_MODULES+=vfs_fruit GLUSTERFS_CONFIGURE_ENABLE= glusterfs GLUSTERFS_LIB_DEPENDS= libglusterfs.so:net/glusterfs GLUSTERFS_VARS= SAMBA4_MODULES+=vfs_glusterfs ZEROCONF_NONE_MAKE_ENV= ZEROCONF=none ############################################################################## AVAHI_CONFIGURE_ENABLE= avahi AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_VARS= SAMBA4_SERVICES+=avahi_daemon MDNSRESPONDER_CONFIGURE_ENABLE= dnssd MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_VARS= SAMBA4_SERVICES+=mdnsd ############################################################################## MEMORY_DEBUG_IMPLIES= DEBUG MEMORY_DEBUG_CONFIGURE_ENV= ADDITIONAL_CFLAGS="-DENABLE_JEMALLOC `pkg-config --cflags jemalloc`" ADDITIONAL_LDFLAGS="`pkg-config --libs jemalloc`" MEMORY_DEBUG_LIB_DEPENDS= libjemalloc.so.2:devel/jemalloc # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046 GDB_CMD?= ${LOCALBASE}/bin/gdb # https://bugzilla.samba.org/show_bug.cgi?id=8969 PICKY_DEVELOPER_IMPLIES= DEVELOPER PICKY_DEVELOPER_CONFIGURE_ON= --picky-developer DEVELOPER_CONFIGURE_ON= --enable-developer --enable-selftest --abi-check-disable DEVELOPER_CONFIGURE_ENV= WAF_CMD_FORMAT=string DEVELOPER_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} \ ${GDB_CMD}:devel/gdb DEVELOPER_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} DEVELOPER_TEST_DEPENDS= ${GDB_CMD}:devel/gdb DEVELOPER_VARS_OFF= GDB_CMD=true ############################################################################## AD_DC_IMPLIES= PYTHON3 AD_DC_CONFIGURE_OFF= --without-ad-dc AD_DC_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} AD_DC_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} AD_DC_VARS= PLIST+=${PKGDIR}/pkg-plist.ad_dc # samba-tool requires those for *upgrade AD_DC_BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} AD_DC_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} ADS_IMPLIES= LDAP ADS_CONFIGURE_WITH= ads CLUSTER_CONFIGURE_WITH= cluster-support CLUSTER_VARS= PLIST+=${PKGDIR}/pkg-plist.cluster CUPS_CONFIGURE_ENABLE= cups iprint CUPS_LIB_DEPENDS= libcups.so:print/cups # https://bugzilla.samba.org/show_bug.cgi?id=9545 FAM_LIB_DEPENDS= libfam.so.0:devel/gamin FAM_CONFIGURE_WITH= fam GPGME_CONFIGURE_WITH= gpgme GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme GPGME_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gpg>=2.0.0:security/py-gpg@${PY_FLAVOR} .if exists(/usr/libexec/krb5kdc) GSSAPI_BUILTIN_USES= bison gssapi GSSAPI_BUILTIN_BUILD_DEPENDS= p5-JSON>=4.0:converters/p5-JSON GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ --with-system-mitkdc=${GSSAPIBASEDIR}/libexec/krb5kdc .else GSSAPI_BUILTIN_USES= bison GSSAPI_BUILTIN_BUILD_DEPENDS= p5-JSON>=4.0:converters/p5-JSON .endif GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ --with-system-mitkdc=${GSSAPIBASEDIR}/sbin/krb5kdc \ --with-experimental-mit-ad-dc GSSAPI_MIT_USES= gssapi:mit GSSAPI_HEIMDAL_CONFIGURE_ON= --with-system-heimdalkrb5 ${GSSAPIBASEDIR} GSSAPI_HEIMDAL_USES= gssapi:heimdal GSSAPI_HEIMDAL_PREVENTS= AD_DC GSSAPI_HEIMDAL_PREVENTS_MSG= GSSAPI_HEIMDAL and AD_DC enable conflicting options LDAP_CONFIGURE_WITH= ldap LDAP_CONFIGURE_ON= --with-openldap=${LOCALBASE} LDAP_USES= ldap LDAP_VARS= SAMBA4_MODULES+=idmap_ldap LIBZFS_CONFIGURE_WITH= libzfs LIBZFS_VARS= SAMBA4_MODULES+=vfs_zfs_space MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" PROFILE_CONFIGURE_WITH= profiling-data QUOTAS_CONFIGURE_WITH= quotas SYSLOG_CONFIGURE_WITH= syslog UTMP_CONFIGURE_WITH= utmp ############################################################################## .include ############################################################################## .if !${PORT_OPTIONS:MADS} && ${PORT_OPTIONS:MAD_DC} IGNORE=To disable ADS option you also need to disable AD_DC option .endif .if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES) WANT_EXP_MODULES= vfs_cacheprime .endif .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 .endif SAMBA4_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 # List of extra modules taken from RHEL build # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197320 .if ${PORT_OPTIONS:MADS} SAMBA4_MODULES+= idmap_ad idmap_rfc2307 nss-info_template \ nss-info_rfc2307 nss-info_sfu nss-info_sfu20 .endif # 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 \ 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 \ vfs_linux_xfs_sgid vfs_media_harmony vfs_offline \ vfs_preopen vfs_readahead vfs_readonly vfs_recycle \ vfs_shadow_copy vfs_shadow_copy2 vfs_shell_snap \ vfs_streams_depot vfs_streams_xattr vfs_syncops \ vfs_time_audit vfs_unityed_media vfs_virusfilter \ vfs_widelinks vfs_worm vfs_xattr_tdb vfs_zfsacl .if ${PORT_OPTIONS:MDEVELOPER} SAMBA4_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 .endif # Python bindings .if ! ${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON) USES+= python:build,test CONFIGURE_ARGS+= --disable-python .else USES+= python PLIST+= ${PKGDIR}/pkg-plist.python # Don't cache Python modules CONFIGURE_ARGS+= --nopycache MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 . if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes SAMBA4_BUNDLED_LIBS+= pytalloc-util . else SAMBA4_BUNDLED_LIBS+= !pytalloc-util . endif . if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes SAMBA4_BUNDLED_LIBS+= pytevent . else SAMBA4_BUNDLED_LIBS+= !pytevent . endif . if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes SAMBA4_BUNDLED_LIBS+= pytdb . else SAMBA4_BUNDLED_LIBS+= !pytdb . endif . if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes SAMBA4_BUNDLED_LIBS+= pyldb pyldb-util . else SAMBA4_BUNDLED_LIBS+= !pyldb !pyldb-util . endif .endif .if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES) SAMBA4_MODULES+= ${WANT_EXP_MODULES} .endif .if defined(SAMBA4_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 .for module_class in ${SAMBA4_MODULES_CLASS} PLIST_DIRS+= ${SAMBA4_MODULEDIR}/${module_class} .endfor PLIST_DIRS+= ${SAMBA4_MODULEDIR} .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --verbose --enable-debug MAKE_ARGS+= --verbose DEBUG_FLAGS?= -g -ggdb3 -O0 .endif ############################################################################## .include ############################################################################## # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != powerpc && ${ARCH} != powerpcspe . if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes && (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER}) # LMDB -SAMBA4_LMDB_DEPENDS= lmdb>=0.9.16:databases/lmdb0 +SAMBA4_LMDB_DEPENDS= lmdb0>=0.9.16:databases/lmdb0 PLIST_FILES+= ${SAMBA4_LIBDIR}/private/libldb-mdb-int-samba4.so \ ${SAMBA4_MODULEDIR}/ldb/mdb.so . endif .endif .if ${PORT_OPTIONS:MGSSAPI_MIT} PLIST_FILES+= ${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so . if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= share/man/man8/winbind_krb5_localauth.8.gz . endif . if ${PORT_OPTIONS:MAD_DC} PLIST_FILES+= ${SAMBA4_LIBDIR}/krb5/plugins/kdb/samba.so . endif .endif .if ${PORT_OPTIONS:MFRUIT} . if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= share/man/man8/vfs_fruit.8.gz . endif .endif .if ${PORT_OPTIONS:MGLUSTERFS} . if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= share/man/man8/vfs_glusterfs.8.gz . endif .endif # for libexecinfo: (so that __builtin_frame_address() finds the top of the stack) CFLAGS_amd64+= -fno-omit-frame-pointer # No fancy color error messages CFLAGS+= ${CFLAGS_${CHOSEN_COMPILER_TYPE}} CFLAGS_clang= -fno-color-diagnostics 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' # Allow rpcgen to find proper CPP MAKE_ENV+= RPCGEN_CPP="${CPP}" #.if ${readline_ARGS} == port #CFLAGS+= -D_FUNCTION_DEF #.endif # 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 SAMBA4_SUB= SAMBA4_LOGDIR="${SAMBA4_LOGDIR}" \ SAMBA4_RUNDIR="${SAMBA4_RUNDIR}" \ SAMBA4_LOCKDIR="${SAMBA4_LOCKDIR}" \ SAMBA4_LIBDIR="${SAMBA4_LIBDIR}" \ SAMBA4_MODULEDIR="${SAMBA4_MODULEDIR}" \ SAMBA4_BINDDNSDIR="${SAMBA4_BINDDNSDIR}" \ SAMBA4_PRIVATEDIR="${SAMBA4_PRIVATEDIR}" \ SAMBA4_CONFDIR="${SAMBA4_CONFDIR}" \ SAMBA4_CONFIG="${SAMBA4_CONFIG}" \ SAMBA4_SERVICES="${SAMBA4_SERVICES}" PLIST_SUB+= ${SAMBA4_SUB} SUB_LIST+= ${SAMBA4_SUB} USE_RC_SUBR= samba_server SUB_FILES= pkg-message README.FreeBSD PORTDOCS= README.FreeBSD post-extract: @${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp post-patch: @${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' \ ${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${SAMBA4_CONFIG}|g' \ ${PATCH_WRKSRC}/dynconfig/wscript # Use threading (or multiprocessing) but not thread (renamed in python 3+). pre-configure: .if (!${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON)) && ${PORT_OPTIONS:MAD_DC} @${ECHO_CMD}; \ ${ECHO_MSG} "===> AD_DC option requires PYTHON3 to be set"; \ ${ECHO_CMD}; \ ${FALSE} .endif post-install-rm-junk: ${RM} -r ${STAGEDIR}${PYTHON_SITELIBDIR}/samba/third_party ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name __pycache__ \ -type d -print0 | ${XARGS} -0 -n 1 -t ${RM} -r ${FIND} ${STAGEDIR} -type f -empty -delete post-install-fix-manpages: .if ${PORT_OPTIONS:MMANPAGES} .for f in vfs_aio_linux.8 vfs_btrfs.8 vfs_ceph.8 vfs_gpfs.8 ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f} .endfor .if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes . for f in ldbadd.1 ldbdel.1 ldbedit.1 ldbmodify.1 ldbrename.1 ldbsearch.1 ${MV} ${STAGEDIR}${PREFIX}/share/man/man1/${f} ${STAGEDIR}${PREFIX}/share/man/man1/samba-${f} . endfor .endif .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 .endif post-install: post-install-rm-junk post-install-fix-manpages .if ${PORT_OPTIONS:MMANPAGES} ${LN} -sf smb.conf.5.gz ${STAGEDIR}${PREFIX}/share/man/man5/smb4.conf.5.gz .endif # Run post-install script .for dir in ${SAMBA4_LOGDIR} ${SAMBA4_RUNDIR} ${SAMBA4_LOCKDIR} ${SAMBA4_MODULEDIR} ${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}" .endfor .if !defined(WITH_DEBUG) -${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin ${STAGEDIR}${PREFIX}/libexec \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} -${FIND} ${STAGEDIR}${PREFIX}/lib -name '*.so*' \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} .endif post-install-FRUIT-off: ${RM} ${STAGEDIR}${SAMBA4_MODULEDIR}/vfs/fruit.so .if ${PORT_OPTIONS:MMANPAGES} ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8 .endif post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} .for doc in ${PORTDOCS} ${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR} .endfor post-install-CLUSTER-on: ${LN} -nfs ../../../../share/ctdb/events/legacy/00.ctdb.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/00.ctdb.script ${LN} -nfs ../../../../share/ctdb/events/legacy/10.interface.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/10.interface.script ${LN} -nfs ../../../../share/ctdb/events/legacy/05.system.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/05.system.script ${LN} -nfs ../../../../share/ctdb/events/legacy/01.reclock.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/01.reclock.script .include diff --git a/net/samba420/Makefile b/net/samba420/Makefile index 50901d10cecf..063a3bdce4a2 100644 --- a/net/samba420/Makefile +++ b/net/samba420/Makefile @@ -1,681 +1,681 @@ PORTNAME= ${SAMBA4_BASENAME}420 PORTVERSION= ${SAMBA4_VERSION} PORTREVISION= 2 CATEGORIES?= net MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc DISTNAME= ${SAMBA4_DISTNAME} MAINTAINER= samba@FreeBSD.org COMMENT= Free SMB/CIFS and AD/DC server and client for Unix WWW= https://gitlab.com/samba-freebsd/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING DEPRECATED= Discontinued upstream; transition to a supported versions of Samba (refer to https://wiki.samba.org/index.php/Samba_Release_Planning) USES= cpe CONFLICTS_INSTALL?= samba4* EXTRA_PATCHES= \ ${PATCHDIR}/0001-Compact-and-simplify-modules-build-and-config-genera.patch:-p1 \ ${PATCHDIR}/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch:-p1 \ ${PATCHDIR}/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch:-p1 \ ${PATCHDIR}/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch:-p1 \ ${PATCHDIR}/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch:-p1 \ ${PATCHDIR}/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch:-p1 \ ${PATCHDIR}/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch:-p1 \ ${PATCHDIR}/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch:-p1 \ ${PATCHDIR}/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch:-p1 \ ${PATCHDIR}/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch:-p1 \ ${PATCHDIR}/0011-Use-provided-by-port-location-of-the-XML-catalog.patch:-p1 \ ${PATCHDIR}/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch:-p1 \ ${PATCHDIR}/0013-Pass-additional-msg-parameter-to-CHECK_LIB-so-it-can.patch:-p1 \ ${PATCHDIR}/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch:-p1 \ ${PATCHDIR}/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch:-p1 \ ${PATCHDIR}/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch:-p1 \ ${PATCHDIR}/0017-Use-arc4random-when-available-to-generate-random-tal.patch:-p1 \ ${PATCHDIR}/0018-Add-configuration-option-that-allows-to-choose-alter.patch:-p1 \ ${PATCHDIR}/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch:-p1 \ ${PATCHDIR}/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch:-p1 \ ${PATCHDIR}/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch:-p1 \ ${PATCHDIR}/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch:-p1 \ ${PATCHDIR}/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch:-p1 \ ${PATCHDIR}/0024-Cherry-pick-ZFS-provisioning-code-by-iXsystems-Inc.patch:-p1 \ ${PATCHDIR}/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch:-p1 \ ${PATCHDIR}/0026-vfs-add-a-compatibility-option-to-the-vfs_streams_xa.patch:-p1 \ ${PATCHDIR}/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch:-p1 \ ${PATCHDIR}/0028-Fix-rl_completion_func_t.patch:-p1 \ ${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch \ ${PATCHDIR}/0100-Fix-pathref-handling-for-FreeBSD-13plus_samba42x.patch:-p1 \ ${PATCHDIR}/0102-FreeBSD-vfs_freebsd-fix-sys_proc_fd_path-args.patch:-p1 \ ${PATCHDIR}/Oct25CVEs.patch:-p1 SAMBA4_BASENAME= samba SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4 SAMBA4_VERSION= 4.20.8 SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|} WRKSRC?= ${WRKDIR}/${DISTNAME} PLIST?= ${PKGDIR}/pkg-plist CPE_VENDOR= samba CPE_PRODUCT= samba # 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= ${PREFIX}/lib/${SAMBA4_PORTNAME} SAMBA4_INCLUDEDIR= ${PREFIX}/include/${SAMBA4_PORTNAME} 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 CONFIGURE_ARGS= --mandir="${PREFIX}/share/man" \ --sysconfdir="${SAMBA4_CONFDIR}" \ --includedir="${SAMBA4_INCLUDEDIR}" \ --datadir="${DATADIR}" \ --libdir="${SAMBA4_LIBDIR}" \ --with-privatelibdir="${SAMBA4_LIBDIR}/private" \ --with-pammodulesdir="${SAMBA4_PAMDIR}" \ --with-modulesdir="${SAMBA4_MODULEDIR}" \ --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}" # XXX: Flags CONFIGURE_ENV= PTHREAD_LDFLAGS="-lpthread" \ PYTHONHASHSEED=1 FORTIFY_UNSAFE= yes MAKE_ENV= PYTHONHASHSEED=1 USES= bison compiler:c++11-lang iconv localbase:ldflags \ perl5 pkgconfig shebangfix waf gettext-runtime USE_PERL5= build USE_LDCONFIG= ${SAMBA4_LIBDIR} WAF_CMD= buildtools/bin/waf CONFIGURE_LOG= bin/config.log # Make sure that the right version of Python is used by the tools # https://bugzilla.samba.org/show_bug.cgi?id=7305 SHEBANG_FILES= source3/script* source4/scripting/bin/* selftest/* PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig PKGCONFIGDIR_REL?= ${PKGCONFIGDIR:S,^${PREFIX}/,,} PLIST_SUB= PKGCONFIGDIR=${PKGCONFIGDIR_REL} SUB_LIST= PKGCONFIGDIR=${PKGCONFIGDIR_REL} ############################################################################## OPTIONS_SUB= yes OPTIONS_DEFINE= AD_DC ADS CLUSTER CUPS DOCS FAM GPGME \ LDAP MANPAGES PROFILE PYTHON3 QUOTAS \ SYSLOG UTMP #OPTIONS_DEFINE+= DEVELOPER MEMORY_DEBUG OPTIONS_GROUP= VFS OPTIONS_GROUP_VFS= FRUIT GLUSTERFS OPTIONS_SINGLE= GSSAPI ZEROCONF OPTIONS_SINGLE_GSSAPI= GSSAPI_BUILTIN GSSAPI_MIT #GSSAPI_HEIMDAL OPTIONS_SINGLE_ZEROCONF= ZEROCONF_NONE AVAHI MDNSRESPONDER # Make those default options OPTIONS_DEFAULT= AD_DC ADS DOCS FAM LDAP MANPAGES \ PROFILE PYTHON3 QUOTAS SYSLOG UTMP \ FRUIT GSSAPI_BUILTIN AVAHI ############################################################################## ADS_DESC= Active Directory client(implies LDAP) AD_DC_DESC= Active Directory Domain Controller(implies PYTHON3) CLUSTER_DESC= Clustering support DEVELOPER_DESC= With developer framework FAM_DESC= File Alteration Monitor GPGME_DESC= GpgME support LDAP_DESC= LDAP client LIBZFS_DESC= LibZFS MEMORY_DEBUG_DESC= Debug memory allocator PICKY_DEVELOPER_DESC= Treat compiler warnings as errors(implies DEVELOPER) PROFILE_DESC= Profiling data QUOTAS_DESC= Disk quota support UTMP_DESC= UTMP accounting VFS_DESC= VFS modules FRUIT_DESC= MacOSX and TimeMachine support GLUSTERFS_DESC= GlusterFS support GSSAPI_BUILTIN_DESC= GSSAPI support via bundled Heimdal ZEROCONF_DESC= Zero configuration networking ZEROCONF_NONE_DESC= Zeroconf support is absent ############################################################################## # XXX: Unconditional dependencies which can't be switched off(if present in # the system) # Iconv(picked up unconditionaly) LIB_DEPENDS= libiconv.so:converters/libiconv # unwind LIB_DEPENDS+= libunwind.so:devel/libunwind # Readline(sponsored by Python) # XXX: USES=readline pollutes CPPFLAGS, so we explicitly put dependency LIB_DEPENDS+= libreadline.so:devel/readline # popt LIB_DEPENDS+= libpopt.so:devel/popt # inotify LIB_DEPENDS+= libinotify.so:devel/libinotify # GNUTLS LIB_DEPENDS+= libgnutls.so:security/gnutls LIB_DEPENDS+= libgcrypt.so:security/libgcrypt # NFSv4 ACL glue LIB_DEPENDS+= libsunacl.so:sysutils/libsunacl # Jansson BUILD_DEPENDS+= jansson>=2.10:devel/jansson RUN_DEPENDS+= jansson>=2.10:devel/jansson # tasn1 BUILD_DEPENDS+= libtasn1>=3.8:security/libtasn1 RUN_DEPENDS+= libtasn1>=3.8:security/libtasn1 # External Samba dependencies # Needed for IDL compiler BUILD_DEPENDS+= p5-Parse-Yapp>=0:devel/p5-Parse-Yapp # Libarchive SAMBA4_BUNDLED_LIBS= !libarchive BUILD_DEPENDS+= libarchive>=3.1.2:archivers/libarchive RUN_DEPENDS+= libarchive>=3.1.2:archivers/libarchive ### Bundled libraries SAMBA4_BUNDLED_CMOCKA?= no SAMBA4_BUNDLED_TALLOC?= no SAMBA4_BUNDLED_TEVENT?= no SAMBA4_BUNDLED_TDB?= no SAMBA4_BUNDLED_LDB?= no # cmocka .if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes SAMBA4_BUNDLED_LIBS+= cmocka CONFLICTS_INSTALL+= cmocka-1.* PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA="" SUB_LIST+= SAMBA4_BUNDLED_CMOCKA="" .else SAMBA4_BUNDLED_LIBS+= !cmocka BUILD_DEPENDS+= cmocka>=1.1.3:sysutils/cmocka TEST_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 PLIST_SUB+= SAMBA4_BUNDLED_TALLOC="" SUB_LIST+= SAMBA4_BUNDLED_TALLOC="" .else SAMBA4_BUNDLED_LIBS+= !talloc BUILD_DEPENDS+= talloc242>=2.4.2:devel/talloc242 RUN_DEPENDS+= talloc242>=2.4.2:devel/talloc242 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_INSTALL+= tevent-* tevent1-* PLIST_SUB+= SAMBA4_BUNDLED_TEVENT="" SUB_LIST+= SAMBA4_BUNDLED_TEVENT="" .else SAMBA4_BUNDLED_LIBS+= !tevent BUILD_DEPENDS+= tevent016>=0.16.1:devel/tevent016 RUN_DEPENDS+= tevent016>=0.16.1:devel/tevent016 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_INSTALL+= tdb-* tdb1-* PLIST_SUB+= SAMBA4_BUNDLED_TDB="" SUB_LIST+= SAMBA4_BUNDLED_TDB="" .else SAMBA4_BUNDLED_LIBS+= !tdb BUILD_DEPENDS+= tdb1410>=1.4.10:databases/tdb1410 RUN_DEPENDS+= tdb1410>=1.4.10:databases/tdb1410 PLIST_SUB+= SAMBA4_BUNDLED_TDB="@comment " SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment " .endif # ldb .if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes SAMBA4_BUNDLED_LDB= yes SAMBA4_BUNDLED_LIBS+= ldb PLIST_SUB+= SAMBA4_BUNDLED_LDB="" SUB_LIST+= SAMBA4_BUNDLED_LDB="" SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules .else SAMBA4_BUNDLED_LIBS+= !ldb BUILD_DEPENDS+= ldb29>=2.9.1:databases/ldb29 RUN_DEPENDS+= ldb29>=2.9.1:databases/ldb29 PLIST_SUB+= SAMBA4_BUNDLED_LDB="@comment " SUB_LIST+= SAMBA4_BUNDLED_LDB="@comment " SAMBA4_MODULEDIR= ${PREFIX}/lib/shared-modules .endif .if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes) \ || (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \ || (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) \ || (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes) SAMBA4_BUNDLED_LIBS+= replace .endif # Don't use external libcom_err SAMBA4_BUNDLED_LIBS+= com_err # Set the test environment variables TEST_USES= python TEST_ENV= PYTHON="${PYTHON_CMD}" \ SHA1SUM=/sbin/sha1 \ SHA256SUM=/sbin/sha256 \ MD5SUM=/sbin/md5 \ PYTHONDONTWRITEBYTECODE=1 TEST_DEPENDS= bash:shells/bash \ tshark:net/wireshark@nox11 # External Python modules TEST_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} TEST_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} ############################################################################## CONFIGURE_ARGS+= \ --with-pam \ --with-iconv \ --with-winbind \ --with-regedit \ --disable-rpath \ --without-lttng \ --without-gettext \ --enable-pthreadpool \ --without-fake-kaserver \ --without-systemd \ --with-libarchive \ --with-acl-support \ --with-sendfile-support \ --disable-ctdb-tests \ --disable-spotlight # ${ICONV_CONFIGURE_BASE} ############################################################################## FRUIT_PREVENTS= ZEROCONF_NONE FRUIT_PREVENTS_MSG= MacOSX support requires Zeroconf(AVAHI or MDNSRESPONDER) FRUIT_VARS= SAMBA4_MODULES+=vfs_fruit GLUSTERFS_CONFIGURE_ENABLE= glusterfs GLUSTERFS_LIB_DEPENDS= libglusterfs.so:net/glusterfs GLUSTERFS_VARS= SAMBA4_MODULES+=vfs_glusterfs ZEROCONF_NONE_MAKE_ENV= ZEROCONF=none ############################################################################## AVAHI_CONFIGURE_ENABLE= avahi AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_VARS= SAMBA4_SERVICES+=avahi_daemon MDNSRESPONDER_CONFIGURE_ENABLE= dnssd MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_VARS= SAMBA4_SERVICES+=mdnsd ############################################################################## MEMORY_DEBUG_IMPLIES= DEBUG MEMORY_DEBUG_CONFIGURE_ENV= ADDITIONAL_CFLAGS="-DENABLE_JEMALLOC `pkg-config --cflags jemalloc`" ADDITIONAL_LDFLAGS="`pkg-config --libs jemalloc`" MEMORY_DEBUG_LIB_DEPENDS= libjemalloc.so.2:devel/jemalloc # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046 GDB_CMD?= ${LOCALBASE}/bin/gdb # https://bugzilla.samba.org/show_bug.cgi?id=8969 PICKY_DEVELOPER_IMPLIES= DEVELOPER PICKY_DEVELOPER_CONFIGURE_ON= --picky-developer DEVELOPER_CONFIGURE_ON= --enable-developer --enable-selftest --abi-check-disable DEVELOPER_CONFIGURE_ENV= WAF_CMD_FORMAT=string DEVELOPER_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} \ ${GDB_CMD}:devel/gdb DEVELOPER_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} DEVELOPER_TEST_DEPENDS= ${GDB_CMD}:devel/gdb DEVELOPER_VARS_OFF= GDB_CMD=true ############################################################################## AD_DC_IMPLIES= PYTHON3 AD_DC_CONFIGURE_OFF= --without-ad-dc AD_DC_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} AD_DC_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} AD_DC_VARS= PLIST+=${PKGDIR}/pkg-plist.ad_dc # samba-tool requires those for *upgrade AD_DC_BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} AD_DC_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} ADS_IMPLIES= LDAP ADS_CONFIGURE_WITH= ads CLUSTER_CONFIGURE_WITH= cluster-support CLUSTER_VARS= PLIST+=${PKGDIR}/pkg-plist.cluster CUPS_CONFIGURE_ENABLE= cups iprint CUPS_LIB_DEPENDS= libcups.so:print/cups # https://bugzilla.samba.org/show_bug.cgi?id=9545 FAM_LIB_DEPENDS= libfam.so.0:devel/gamin FAM_CONFIGURE_WITH= fam GPGME_CONFIGURE_WITH= gpgme GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme GPGME_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gpg>=2.0.0:security/py-gpg@${PY_FLAVOR} .if exists(/usr/libexec/krb5kdc) GSSAPI_BUILTIN_USES= gssapi GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ --with-system-mitkdc=${GSSAPIBASEDIR}/libexec/krb5kdc .endif GSSAPI_BUILTIN_BUILD_DEPENDS= p5-JSON>=4.0:converters/p5-JSON GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ --with-system-mitkdc=${GSSAPIBASEDIR}/sbin/krb5kdc \ --with-experimental-mit-ad-dc GSSAPI_MIT_USES= gssapi:mit GSSAPI_HEIMDAL_CONFIGURE_ON= --with-system-heimdalkrb5 ${GSSAPIBASEDIR} GSSAPI_HEIMDAL_USES= gssapi:heimdal GSSAPI_HEIMDAL_PREVENTS= AD_DC GSSAPI_HEIMDAL_PREVENTS_MSG= GSSAPI_HEIMDAL and AD_DC enable conflicting options LDAP_CONFIGURE_WITH= ldap LDAP_CONFIGURE_ON= --with-openldap=${LOCALBASE} LDAP_USES= ldap LDAP_VARS= SAMBA4_MODULES+=idmap_ldap LIBZFS_CONFIGURE_WITH= libzfs LIBZFS_VARS= SAMBA4_MODULES+=vfs_zfs_space MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" PROFILE_CONFIGURE_WITH= profiling-data QUOTAS_CONFIGURE_WITH= quotas SYSLOG_CONFIGURE_WITH= syslog UTMP_CONFIGURE_WITH= utmp ############################################################################## .include ############################################################################## .if !${PORT_OPTIONS:MADS} && ${PORT_OPTIONS:MAD_DC} IGNORE=To disable ADS option you also need to disable AD_DC option .endif .if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES) WANT_EXP_MODULES= vfs_cacheprime .endif .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 .endif SAMBA4_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 # List of extra modules taken from RHEL build # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197320 .if ${PORT_OPTIONS:MADS} SAMBA4_MODULES+= idmap_ad idmap_rfc2307 nss-info_template \ nss-info_rfc2307 nss-info_sfu nss-info_sfu20 .endif # 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 \ 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 \ vfs_linux_xfs_sgid vfs_media_harmony vfs_offline \ vfs_preopen vfs_readahead vfs_readonly vfs_recycle \ vfs_shadow_copy vfs_shadow_copy2 vfs_shell_snap \ vfs_streams_depot vfs_streams_xattr vfs_syncops \ vfs_time_audit vfs_unityed_media vfs_virusfilter \ vfs_widelinks vfs_worm vfs_xattr_tdb vfs_zfsacl .if ${PORT_OPTIONS:MDEVELOPER} SAMBA4_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 .endif # Python bindings .if ! ${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON) USES+= python:build,test CONFIGURE_ARGS+= --disable-python .else USES+= python PLIST+= ${PKGDIR}/pkg-plist.python # Don't cache Python modules CONFIGURE_ARGS+= --nopycache MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 . if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes SAMBA4_BUNDLED_LIBS+= pytalloc-util . else SAMBA4_BUNDLED_LIBS+= !pytalloc-util . endif . if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes SAMBA4_BUNDLED_LIBS+= pytevent . else SAMBA4_BUNDLED_LIBS+= !pytevent . endif . if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes SAMBA4_BUNDLED_LIBS+= pytdb . else SAMBA4_BUNDLED_LIBS+= !pytdb . endif . if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes SAMBA4_BUNDLED_LIBS+= pyldb pyldb-util . else SAMBA4_BUNDLED_LIBS+= !pyldb !pyldb-util . endif .endif .if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES) SAMBA4_MODULES+= ${WANT_EXP_MODULES} .endif .if defined(SAMBA4_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 .for module_class in ${SAMBA4_MODULES_CLASS} PLIST_DIRS+= ${SAMBA4_MODULEDIR}/${module_class} .endfor PLIST_DIRS+= ${SAMBA4_MODULEDIR} .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --verbose --enable-debug MAKE_ARGS+= --verbose DEBUG_FLAGS?= -g -ggdb3 -O0 .endif ############################################################################## .include ############################################################################## # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != powerpc && ${ARCH} != powerpcspe . if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes && (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER}) # LMDB -SAMBA4_LMDB_DEPENDS= lmdb>=0.9.16:databases/lmdb0 +SAMBA4_LMDB_DEPENDS= lmdb0>=0.9.16:databases/lmdb0 PLIST_FILES+= ${SAMBA4_LIBDIR}/private/libldb-mdb-int-private-samba.so \ ${SAMBA4_MODULEDIR}/ldb/mdb.so . endif .endif .if ${PORT_OPTIONS:MGSSAPI_MIT} PLIST_FILES+= ${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so . if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= share/man/man8/winbind_krb5_localauth.8.gz . endif . if ${PORT_OPTIONS:MAD_DC} PLIST_FILES+= ${SAMBA4_LIBDIR}/krb5/plugins/kdb/samba.so . endif .endif .if ${PORT_OPTIONS:MFRUIT} . if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= share/man/man8/vfs_fruit.8.gz . endif .endif .if ${PORT_OPTIONS:MGLUSTERFS} . if ${PORT_OPTIONS:MMANPAGES} PLIST_FILES+= share/man/man8/vfs_glusterfs.8.gz . endif .endif # for libexecinfo: (so that __builtin_frame_address() finds the top of the stack) CFLAGS_amd64+= -fno-omit-frame-pointer # No fancy color error messages CFLAGS+= ${CFLAGS_${CHOSEN_COMPILER_TYPE}} CFLAGS_clang= -fno-color-diagnostics 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' # Allow rpcgen to find proper CPP MAKE_ENV+= RPCGEN_CPP="${CPP}" #.if ${readline_ARGS} == port #CFLAGS+= -D_FUNCTION_DEF #.endif # 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 SAMBA4_SUB= SAMBA4_LOGDIR="${SAMBA4_LOGDIR}" \ SAMBA4_RUNDIR="${SAMBA4_RUNDIR}" \ SAMBA4_LOCKDIR="${SAMBA4_LOCKDIR}" \ SAMBA4_LIBDIR="${SAMBA4_LIBDIR}" \ SAMBA4_MODULEDIR="${SAMBA4_MODULEDIR}" \ SAMBA4_BINDDNSDIR="${SAMBA4_BINDDNSDIR}" \ SAMBA4_PRIVATEDIR="${SAMBA4_PRIVATEDIR}" \ SAMBA4_CONFDIR="${SAMBA4_CONFDIR}" \ SAMBA4_CONFIG="${SAMBA4_CONFIG}" \ SAMBA4_SERVICES="${SAMBA4_SERVICES}" PLIST_SUB+= ${SAMBA4_SUB} SUB_LIST+= ${SAMBA4_SUB} USE_RC_SUBR= samba_server SUB_FILES= pkg-message README.FreeBSD PORTDOCS= README.FreeBSD post-extract: @${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp post-patch: @${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' \ ${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${SAMBA4_CONFIG}|g' \ ${PATCH_WRKSRC}/dynconfig/wscript # Use threading (or multiprocessing) but not thread (renamed in python 3+). pre-configure: .if (!${PORT_OPTIONS:MPYTHON3} || defined(NO_PYTHON)) && ${PORT_OPTIONS:MAD_DC} @${ECHO_CMD}; \ ${ECHO_MSG} "===> AD_DC option requires PYTHON3 to be set"; \ ${ECHO_CMD}; \ ${FALSE} .endif post-install-rm-junk: ${RM} -r ${STAGEDIR}${PYTHON_SITELIBDIR}/samba/third_party ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name __pycache__ \ -type d -print0 | ${XARGS} -0 -n 1 -t ${RM} -r ${FIND} ${STAGEDIR} -type f -empty -delete post-install-fix-manpages: .if ${PORT_OPTIONS:MMANPAGES} .for f in vfs_aio_linux.8 vfs_btrfs.8 vfs_ceph.8 vfs_gpfs.8 ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f} .endfor .if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes . for f in ldbadd.1 ldbdel.1 ldbedit.1 ldbmodify.1 ldbrename.1 ldbsearch.1 ${MV} ${STAGEDIR}${PREFIX}/share/man/man1/${f} ${STAGEDIR}${PREFIX}/share/man/man1/samba-${f} . endfor .endif .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 .endif post-install: post-install-rm-junk post-install-fix-manpages .if ${PORT_OPTIONS:MMANPAGES} ${LN} -sf smb.conf.5.gz ${STAGEDIR}${PREFIX}/share/man/man5/smb4.conf.5.gz .endif # Run post-install script .for dir in ${SAMBA4_LOGDIR} ${SAMBA4_RUNDIR} ${SAMBA4_LOCKDIR} ${SAMBA4_MODULEDIR} ${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}" .endfor .if !defined(WITH_DEBUG) -${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin ${STAGEDIR}${PREFIX}/libexec \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} -${FIND} ${STAGEDIR}${PREFIX}/lib -name '*.so*' \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} .endif post-install-FRUIT-off: ${RM} ${STAGEDIR}${SAMBA4_MODULEDIR}/vfs/fruit.so .if ${PORT_OPTIONS:MMANPAGES} ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8 .endif post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} .for doc in ${PORTDOCS} ${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR} .endfor post-install-CLUSTER-on: ${LN} -nfs ../../../../share/ctdb/events/legacy/00.ctdb.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/00.ctdb.script ${LN} -nfs ../../../../share/ctdb/events/legacy/10.interface.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/10.interface.script ${LN} -nfs ../../../../share/ctdb/events/legacy/05.system.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/05.system.script ${LN} -nfs ../../../../share/ctdb/events/legacy/01.reclock.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/01.reclock.script .include diff --git a/net/samba422/Makefile b/net/samba422/Makefile index 1264dea99d91..0cd447c06f12 100644 --- a/net/samba422/Makefile +++ b/net/samba422/Makefile @@ -1,521 +1,521 @@ PORTNAME= samba422 DISTVERSION= 4.22.10 PORTREVISION= 1 CATEGORIES?= net MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc 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 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} \ p5-Parse-Yapp>=0:devel/p5-Parse-Yapp # Unconditional dependencies which can't be switched off if present: # - GnuTLS: libgnutls.so and libgcrypt.so # - Iconv # - inotify # - libsunacl: provides NFSv4 ACL glue. # - libicu # - unwind # - p5-Parse-Yapp: needed for the IDL compiler. # - popt # - Readline: required by Python; USES=readline pollutes CPPFLAGS, so we add # devel/readline to LIB_DEPENDS explicitly instead. LIB_DEPENDS= libgnutls.so:security/gnutls \ libgcrypt.so:security/libgcrypt \ libiconv.so:converters/libiconv \ libinotify.so:devel/libinotify \ libsunacl.so:sysutils/libsunacl \ libreadline.so:devel/readline \ libpopt.so:devel/popt \ libunwind.so:devel/libunwind \ libicui18n.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 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= ${SAMBA_LIBDIR} USE_PERL5= build USE_RC_SUBR= samba_server WAF_CMD= buildtools/bin/waf # Make sure that the right version of Python is used by the tools # https://bugzilla.samba.org/show_bug.cgi?id=7305 SHEBANG_FILES= source3/script* source4/scripting/bin/* selftest/* CONFIGURE_LOG= bin/config.log CONFIGURE_ARGS= --mandir="${PREFIX}/share/man" \ --sysconfdir="${_CONFDIR}" \ --includedir="${SAMBA_INCLUDEDIR}" \ --datadir="${DATADIR}" \ --libdir="${SAMBA_LIBDIR}" \ --with-privatelibdir="${SAMBA_LIBDIR}/private" \ --with-pammodulesdir="${_PAMDIR}" \ --with-modulesdir="${SAMBA_MODULESDIR}" \ --with-ldbmodulesdir="${SAMBA_LDB_MODULESDIR}" \ --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 \ --with-libiconv="${ICONV_PREFIX}" \ --with-winbind \ --with-regedit \ --disable-rpath \ --without-lttng \ --without-gettext \ --enable-pthreadpool \ --without-fake-kaserver \ --without-systemd \ --with-libarchive \ --with-acl-support \ --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}" \ SHA1SUM=/sbin/sha1 \ SHA256SUM=${SHA256} \ MD5SUM=${MD5} \ PYTHONDONTWRITEBYTECODE=1 # No fancy color error messages 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' FORTIFY_UNSAFE= yes 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= ldb2[0-9]-* samba4* EXTRA_PATCHES= \ ${PATCHDIR}/0001-Compact-and-simplify-modules-build-and-config-genera.patch:-p1 \ ${PATCHDIR}/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch:-p1 \ ${PATCHDIR}/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch:-p1 \ ${PATCHDIR}/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch:-p1 \ ${PATCHDIR}/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch:-p1 \ ${PATCHDIR}/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch:-p1 \ ${PATCHDIR}/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch:-p1 \ ${PATCHDIR}/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch:-p1 \ ${PATCHDIR}/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch:-p1 \ ${PATCHDIR}/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch:-p1 \ ${PATCHDIR}/0011-Use-provided-by-port-location-of-the-XML-catalog.patch:-p1 \ ${PATCHDIR}/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch:-p1 \ ${PATCHDIR}/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch:-p1 \ ${PATCHDIR}/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch:-p1 \ ${PATCHDIR}/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch:-p1 \ ${PATCHDIR}/0017-Use-arc4random-when-available-to-generate-random-tal.patch:-p1 \ ${PATCHDIR}/0018-Add-configuration-option-that-allows-to-choose-alter.patch:-p1 \ ${PATCHDIR}/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch:-p1 \ ${PATCHDIR}/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch:-p1 \ ${PATCHDIR}/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch:-p1 \ ${PATCHDIR}/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch:-p1 \ ${PATCHDIR}/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch:-p1 \ ${PATCHDIR}/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch:-p1 \ ${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch \ SUB_FILES= pkg-message README.FreeBSD 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_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= 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 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 FAM_DESC= File Alteration Monitor FRUIT_DESC= MacOSX and TimeMachine support GLUSTERFS_DESC= GlusterFS support GPGME_DESC= GpgME support GSSAPI_BUILTIN_DESC= GSSAPI support via bundled Heimdal LDAP_DESC= LDAP client MEMORY_DEBUG_DESC= Debug memory allocator PICKY_DEVELOPER_DESC= Treat compiler warnings as errors(implies DEVELOPER) PROFILE_DESC= Profiling data QUOTAS_DESC= Disk quota support UTMP_DESC= UTMP accounting VFS_DESC= VFS modules ZEROCONF_DESC= Zero configuration networking ZEROCONF_NONE_DESC= Zeroconf support is absent 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= _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= ${_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 AD_DC_BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} AD_DC_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_CONFIGURE_ENABLE= avahi 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 CLUSTER_VARS= PLIST+=${PKGDIR}/pkg-plist.cluster CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_CONFIGURE_ENABLE= cups iprint 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= _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 # https://bugzilla.samba.org/show_bug.cgi?id=9545 FAM_LIB_DEPENDS= libfam.so.0:devel/gamin 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= _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= _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} GPGME_CONFIGURE_WITH= gpgme GSSAPI_BUILTIN_USES= bison 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= ${SAMBA_MODULESDIR}/krb5/winbind_krb5_localauth.so \ %%MANPAGES%%share/man/man8/winbind_krb5_localauth.8.gz \ %%AD_DC%%${SAMBA_LIBDIR}/krb5/plugins/kdb/samba.so LDAP_USES= ldap LDAP_CONFIGURE_WITH= ldap LDAP_VARS= _SHARED_MODULES+=idmap_ldap MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_CONFIGURE_ENABLE= dnssd MDNSRESPONDER_VARS= _SAMBA_SERVICES+=mdnsd 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`" # https://bugzilla.samba.org/show_bug.cgi?id=8969 PICKY_DEVELOPER_IMPLIES= DEVELOPER PICKY_DEVELOPER_CONFIGURE_ON= --picky-developer PROFILE_CONFIGURE_WITH= profiling-data PYTHON3_USES= python PYTHON3_USES_OFF= python:build,test # Don't cache Python modules PYTHON3_CONFIGURE_ON= --nopycache # Use PYTHON3_CONFIGURE_OFF instead of PYTHON3_CONFIGURE_ENABLE=python because # Samba's configure script does not recognize --enable-python. PYTHON3_CONFIGURE_OFF= --disable-python PYTHON3_MAKE_ENV= PYTHONDONTWRITEBYTECODE=1 PYTHON3_VARS= PLIST+=${PKGDIR}/pkg-plist.python \ _BUNDLED_LIBS+="pyldb pyldb-util" QUOTAS_CONFIGURE_WITH= quotas SYSLOG_CONFIGURE_WITH= syslog TEST_BUILD_DEPENDS= ${_ISO8601_DEPENDS} TEST_RUN_DEPENDS= ${_ISO8601_DEPENDS} UTMP_CONFIGURE_WITH= utmp ZEROCONF_NONE_MAKE_ENV= ZEROCONF=none .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} _VFS_SNAPPER_LIB_DEPENDS= libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib .endif _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 _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 \ vfs_linux_xfs_sgid vfs_media_harmony vfs_offline \ vfs_preopen vfs_readahead vfs_readonly vfs_recycle \ vfs_shadow_copy vfs_shadow_copy2 vfs_shell_snap \ vfs_streams_depot vfs_streams_xattr vfs_syncops \ vfs_time_audit vfs_unityed_media vfs_virusfilter \ vfs_widelinks vfs_worm vfs_xattr_tdb vfs_zfsacl _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 .include .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 # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != powerpc && ${ARCH} != powerpcspe . if (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER}) # LMDB -_LMDB_DEPDENDS= lmdb>=0.9.16:databases/lmdb0 +_LMDB_DEPDENDS= lmdb0>=0.9.16:databases/lmdb0 PLIST_FILES+= ${SAMBA_LIBDIR}/private/libldb-mdb-int-private-samba.so \ ${SAMBA_LDB_MODULESDIR}/mdb.so . endif .endif post-extract: @${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp post-patch: @${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' \ ${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${_SAMBA_CONFIG}|g' \ ${PATCH_WRKSRC}/dynconfig/wscript post-install: ${RM} -r ${STAGEDIR}${PYTHON_SITELIBDIR}/samba/third_party ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name __pycache__ \ -type d -print0 | ${XARGS} -0 -n 1 -t ${RM} -r ${FIND} ${STAGEDIR} -type f -empty -delete .for dir in ${_LOGDIR} ${_RUNDIR} ${_LOCKDIR} ${SAMBA_MODULESDIR} ${INSTALL} -d -m 0755 "${STAGEDIR}${dir}" .endfor ${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 \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} -${FIND} ${STAGEDIR}${PREFIX}/lib -name '*.so*' \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} .endif 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 ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/01.reclock.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/01.reclock.script ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/05.system.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/05.system.script ${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}${SAMBA_MODULESDIR}/vfs/fruit.so ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8 post-install-MANPAGES-on: ${RLN} ${STAGEDIR}${PREFIX}/share/man/man5/smb.conf.5 ${STAGEDIR}${PREFIX}/share/man/man5/smb4.conf.5 .for f in vfs_aio_linux.8 vfs_btrfs.8 vfs_ceph.8 vfs_gpfs.8 ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f} .endfor .include diff --git a/net/samba423/Makefile b/net/samba423/Makefile index b060d792ee3f..bca37e77d82c 100644 --- a/net/samba423/Makefile +++ b/net/samba423/Makefile @@ -1,513 +1,513 @@ PORTNAME= samba423 DISTVERSION= 4.23.8 PORTREVISION= 1 CATEGORIES?= net MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc 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 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} \ p5-Parse-Yapp>=0:devel/p5-Parse-Yapp # Unconditional dependencies which can't be switched off if present: # - GnuTLS: libgnutls.so and libgcrypt.so # - Iconv # - inotify # - libsunacl: provides NFSv4 ACL glue. # - libicu # - unwind # - p5-Parse-Yapp: needed for the IDL compiler. # - popt # - Readline: required by Python; USES=readline pollutes CPPFLAGS, so we add # devel/readline to LIB_DEPENDS explicitly instead. LIB_DEPENDS= libgnutls.so:security/gnutls \ libgcrypt.so:security/libgcrypt \ libiconv.so:converters/libiconv \ libinotify.so:devel/libinotify \ libsunacl.so:sysutils/libsunacl \ libreadline.so:devel/readline \ libpopt.so:devel/popt \ libunwind.so:devel/libunwind \ libicui18n.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 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= ${SAMBA_LIBDIR} USE_PERL5= build USE_RC_SUBR= samba_server WAF_CMD= buildtools/bin/waf # Make sure that the right version of Python is used by the tools # https://bugzilla.samba.org/show_bug.cgi?id=7305 SHEBANG_FILES= source3/script* source4/scripting/bin/* selftest/* CONFIGURE_LOG= bin/config.log CONFIGURE_ARGS= --mandir="${PREFIX}/share/man" \ --sysconfdir="${ETCDIR}" \ --includedir="${SAMBA_INCLUDEDIR}" \ --datadir="${DATADIR}" \ --libdir="${SAMBA_LIBDIR}" \ --with-privatelibdir="${SAMBA_LIBDIR}/private" \ --with-pammodulesdir="${_PAMDIR}" \ --with-modulesdir="${SAMBA_MODULESDIR}" \ --with-ldbmodulesdir="${SAMBA_LDB_MODULESDIR}" \ --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 \ --with-libiconv="${ICONV_PREFIX}" \ --with-winbind \ --with-regedit \ --disable-rpath \ --without-lttng \ --without-gettext \ --enable-pthreadpool \ --without-fake-kaserver \ --without-systemd \ --with-libarchive \ --with-acl-support \ --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}" \ SHA1SUM=/sbin/sha1 \ SHA256SUM=${SHA256} \ MD5SUM=${MD5} \ PYTHONDONTWRITEBYTECODE=1 # No fancy color error messages 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' FORTIFY_UNSAFE= yes 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= ldb2[0-9]-* samba4* ETCDIR= ${PREFIX}/etc EXTRA_PATCHES= \ ${PATCHDIR}/0001-Compact-and-simplify-modules-build-and-config-genera.patch:-p1 \ ${PATCHDIR}/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch:-p1 \ ${PATCHDIR}/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch:-p1 \ ${PATCHDIR}/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch:-p1 \ ${PATCHDIR}/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch:-p1 \ ${PATCHDIR}/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch:-p1 \ ${PATCHDIR}/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch:-p1 \ ${PATCHDIR}/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch:-p1 \ ${PATCHDIR}/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch:-p1 \ ${PATCHDIR}/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch:-p1 \ ${PATCHDIR}/0011-Use-provided-by-port-location-of-the-XML-catalog.patch:-p1 \ ${PATCHDIR}/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch:-p1 \ ${PATCHDIR}/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch:-p1 \ ${PATCHDIR}/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch:-p1 \ ${PATCHDIR}/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch:-p1 \ ${PATCHDIR}/0017-Use-arc4random-when-available-to-generate-random-tal.patch:-p1 \ ${PATCHDIR}/0018-Add-configuration-option-that-allows-to-choose-alter.patch:-p1 \ ${PATCHDIR}/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch:-p1 \ ${PATCHDIR}/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch:-p1 \ ${PATCHDIR}/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch:-p1 \ ${PATCHDIR}/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch:-p1 \ ${PATCHDIR}/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch:-p1 \ ${PATCHDIR}/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch:-p1 \ ${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch \ SUB_FILES= pkg-message README.FreeBSD SUB_LIST= ${_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_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= ${_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= BUNDLED_DEPS DEVELOPMENT VFS OPTIONS_GROUP_BUNDLED_DEPS= BUNDLED_CMOCKA BUNDLED_TALLOC BUNDLED_TDB BUNDLED_TEVENT OPTIONS_GROUP_DEVELOPMENT= DEVELOPER MEMORY_DEBUG TEST OPTIONS_GROUP_VFS= FRUIT GLUSTERFS OPTIONS_SINGLE= GSSAPI ZEROCONF 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 FAM_DESC= File Alteration Monitor FRUIT_DESC= MacOSX and TimeMachine support GLUSTERFS_DESC= GlusterFS support GPGME_DESC= GpgME support GSSAPI_BUILTIN_DESC= GSSAPI support via bundled Heimdal LDAP_DESC= LDAP client MEMORY_DEBUG_DESC= Debug memory allocator PROFILE_DESC= Profiling data QUOTAS_DESC= Disk quota support UTMP_DESC= UTMP accounting VFS_DESC= VFS modules ZEROCONF_DESC= Zero configuration networking ZEROCONF_NONE_DESC= Zeroconf support is absent 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= _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= ${_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 AD_DC_BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} AD_DC_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_CONFIGURE_ENABLE= avahi 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= tdb1>=1.4.14:databases/tdb1 BUNDLED_TDB_RUN_DEPENDS_OFF= tdb1>=1.4.14:databases/tdb1 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.1:devel/tevent017 BUNDLED_TEVENT_RUN_DEPENDS_OFF= tevent017>=0.17.1: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 CLUSTER_VARS= PLIST+=${PKGDIR}/pkg-plist.cluster CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_CONFIGURE_ENABLE= cups iprint 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= _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 # https://bugzilla.samba.org/show_bug.cgi?id=9545 FAM_LIB_DEPENDS= libfam.so.0:devel/gamin 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= _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= _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} GPGME_CONFIGURE_WITH= gpgme GSSAPI_BUILTIN_USES= bison GSSAPI_MIT_USES= bison gssapi:mit GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 \ --with-system-mitkdc=${GSSAPIBASEDIR}/sbin/krb5kdc \ --with-experimental-mit-ad-dc GSSAPI_MIT_PLIST_FILES= ${SAMBA_MODULESDIR}/krb5/winbind_krb5_localauth.so \ %%MANPAGES%%share/man/man8/winbind_krb5_localauth.8.gz \ %%AD_DC%%${SAMBA_LIBDIR}/krb5/plugins/kdb/samba.so LDAP_USES= ldap LDAP_CONFIGURE_WITH= ldap LDAP_VARS= _SHARED_MODULES+=idmap_ldap MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_CONFIGURE_ENABLE= dnssd MDNSRESPONDER_VARS= _SAMBA_SERVICES+=mdnsd 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`" PROFILE_CONFIGURE_WITH= profiling-data PYTHON3_USES= python PYTHON3_USES_OFF= python:build,test # Don't cache Python modules PYTHON3_CONFIGURE_ON= --nopycache # Use PYTHON3_CONFIGURE_OFF instead of PYTHON3_CONFIGURE_ENABLE=python because # Samba's configure script does not recognize --enable-python. PYTHON3_CONFIGURE_OFF= --disable-python PYTHON3_MAKE_ENV= PYTHONDONTWRITEBYTECODE=1 PYTHON3_VARS= PLIST+=${PKGDIR}/pkg-plist.python \ _BUNDLED_LIBS+="pyldb pyldb-util" QUOTAS_CONFIGURE_WITH= quotas SYSLOG_CONFIGURE_WITH= syslog TEST_BUILD_DEPENDS= ${_ISO8601_DEPENDS} TEST_RUN_DEPENDS= ${_ISO8601_DEPENDS} UTMP_CONFIGURE_WITH= utmp ZEROCONF_NONE_MAKE_ENV= ZEROCONF=none .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} _VFS_SNAPPER_LIB_DEPENDS= libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib .endif _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 _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 \ vfs_linux_xfs_sgid vfs_media_harmony vfs_offline \ vfs_preopen vfs_readahead vfs_readonly vfs_recycle \ vfs_shadow_copy vfs_shadow_copy2 vfs_shell_snap \ vfs_streams_depot vfs_streams_xattr vfs_syncops \ vfs_time_audit vfs_unityed_media vfs_virusfilter \ vfs_widelinks vfs_worm vfs_xattr_tdb vfs_zfsacl _SAMBA_MAJVERNAME= samba4 _SAMBA_SUB= PKGCONFIGDIR=${_PKGCONFIGDIR_REL} \ 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_CONFIG="${_SAMBA_CONFIG}" \ SAMBA4_SERVICES="${_SAMBA_SERVICES}" _SAMBA_CONFIG= smb4.conf _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 .include .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 # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != powerpc && ${ARCH} != powerpcspe . if (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER}) # LMDB -_LMDB_DEPDENDS= lmdb>=0.9.16:databases/lmdb0 +_LMDB_DEPDENDS= lmdb0>=0.9.16:databases/lmdb0 PLIST_FILES+= ${SAMBA_LIBDIR}/private/libldb-mdb-int-private-samba.so \ ${SAMBA_LDB_MODULESDIR}/mdb.so . endif .endif post-extract: @${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp post-patch: @${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' \ ${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${_SAMBA_CONFIG}|g' \ ${PATCH_WRKSRC}/dynconfig/wscript post-install: ${RM} -r ${STAGEDIR}${PYTHON_SITELIBDIR}/samba/third_party ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name __pycache__ \ -type d -print0 | ${XARGS} -0 -n 1 -t ${RM} -r ${FIND} ${STAGEDIR} -type f -empty -delete .for dir in ${_LOGDIR} ${_RUNDIR} ${_LOCKDIR} ${SAMBA_MODULESDIR} ${INSTALL} -d -m 0755 "${STAGEDIR}${dir}" .endfor ${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 \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} -${FIND} ${STAGEDIR}${PREFIX}/lib -name '*.so*' \ -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} .endif 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 ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/01.reclock.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/01.reclock.script ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/05.system.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/05.system.script ${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}${SAMBA_MODULESDIR}/vfs/fruit.so ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8 post-install-MANPAGES-on: ${RLN} ${STAGEDIR}${PREFIX}/share/man/man5/smb.conf.5 ${STAGEDIR}${PREFIX}/share/man/man5/smb4.conf.5 .for f in vfs_aio_linux.8 vfs_btrfs.8 vfs_ceph.8 vfs_gpfs.8 ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f} .endfor .include