aboutsummaryrefslogtreecommitdiff
path: root/net/samba410/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'net/samba410/Makefile')
-rw-r--r--net/samba410/Makefile100
1 files changed, 59 insertions, 41 deletions
diff --git a/net/samba410/Makefile b/net/samba410/Makefile
index 8fd39d82fecc..83ad9d7f3bc1 100644
--- a/net/samba410/Makefile
+++ b/net/samba410/Makefile
@@ -15,10 +15,12 @@ LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
IGNORE_NONTHREAD_PYTHON= needs port lang/python${PYTHON_SUFFIX} to be build with THREADS support
-
CONFLICTS_INSTALL?= samba4-4.0.* samba4[1-9]-4.* p5-Parse-Pidl-4.*
+USES= cpe
+
EXTRA_PATCHES+= ${PATCHDIR}/0001-Zfs-provision-1.patch:-p1
+EXTRA_PATCHES+= ${PATCHDIR}/0001-provision-use-ASCII-quotes.patch:-p1
SAMBA4_BASENAME= samba
SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4
@@ -65,12 +67,10 @@ CONFIGURE_ARGS+= --mandir="${MANPREFIX}/man" \
# XXX: Flags
CONFIGURE_ENV+= PTHREAD_LDFLAGS="-lpthread"
-USES= compiler:c++11-lang cpe iconv gettext-runtime \
- localbase:ldflags perl5 pkgconfig shebangfix \
- ssl waf
+USES+= compiler:c++11-lang iconv localbase:ldflags \
+ perl5 pkgconfig shebangfix ssl waf gettext-runtime
USE_PERL5= build
USE_LDCONFIG= ${SAMBA4_LIBDIR}
-LLD_UNSAFE= yes
WAF_CMD= buildtools/bin/waf
CONFIGURE_LOG= bin/config.log
@@ -79,57 +79,67 @@ PKGCONFIGDIR_REL?= ${PKGCONFIGDIR:S,^${PREFIX}/,,}
PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR_REL}
SUB_LIST+= PKGCONFIGDIR=${PKGCONFIGDIR_REL}
##############################################################################
-# Options
OPTIONS_SUB= yes
-OPTIONS_DEFINE= AD_DC ADS DEBUG DOCS FAM LDAP \
- QUOTAS SYSLOG UTMP PROFILE
-# Make those default options
-OPTIONS_DEFAULT:= ${OPTIONS_DEFINE} GSSAPI_BUILTIN AVAHI
+OPTIONS_DEFINE= AD_DC ADS CLUSTER CUPS DEBUG DOCS FAM GPGME \
+ LDAP NTVFS PROFILE QUOTAS SPOTLIGHT SYSLOG UTMP
# This shouldn't be default in the release
OPTIONS_DEFINE+= DEVELOPER MANDOC
+#OPTIONS_DEFINE+= MEMORY_DEBUG
OPTIONS_DEFINE_amd64= AESNI
OPTIONS_DEFAULT_amd64= AESNI
-OPTIONS_DEFINE+= CLUSTER CUPS GLUSTERFS GPGME NTVFS SPOTLIGHT
-#OPTIONS_DEFINE+= MEMORY_DEBUG
+OPTIONS_GROUP= VFS
+OPTIONS_GROUP_VFS= FRUIT GLUSTERFS
OPTIONS_SINGLE= GSSAPI ZEROCONF
# GSSAPI_HEIMDAL
OPTIONS_SINGLE_GSSAPI= GSSAPI_BUILTIN GSSAPI_MIT
-OPTIONS_SINGLE_ZEROCONF= AVAHI MDNSRESPONDER
+OPTIONS_SINGLE_ZEROCONF= ZEROCONF_NONE AVAHI MDNSRESPONDER
OPTIONS_RADIO= DNS
OPTIONS_RADIO_DNS= NSUPDATE BIND911 BIND914
+# Make those default options
+OPTIONS_DEFAULT= AD_DC ADS DEBUG DOCS FAM LDAP \
+ QUOTAS SYSLOG UTMP PROFILE \
+ FRUIT GSSAPI_BUILTIN AVAHI
##############################################################################
AD_DC_DESC= Active Directory Domain Controller
ADS_DESC= Active Directory client(implies LDAP)
AESNI_DESC= Accelerated AES crypto functions(amd64 only)
-CLUSTER_DESC= Clustering
+CLUSTER_DESC= Clustering support
DEVELOPER_DESC= With developer framework(implies NTVFS)
FAM_DESC= File Alteration Monitor
-GPGME_DESC= GpgME
-GLUSTERFS_DESC= GlusterFS
+GPGME_DESC= GpgME support
LDAP_DESC= LDAP client
LIBZFS_DESC= LibZFS
-SPOTLIGHT_DESC= Spotlight
+SPOTLIGHT_DESC= Spotlight server-side search support
MANDOC_DESC= Build manpages from DOCBOOK templates
-MEMORY_DEBUG_DESC= Debug memory allocation
+MEMORY_DEBUG_DESC= Debug memory allocator
NTVFS_DESC= Build *DEPRECATED* NTVFS file server
PICKY_DEVELOPER_DESC= Treat compiler warnings as errors(implies DEVELOPER)
PROFILE_DESC= Profiling data
-QUOTAS_DESC= Disk quota
+QUOTAS_DESC= Disk quota support
UTMP_DESC= UTMP accounting
+VFS_DESC= VFS modules
+GLUSTERFS_DESC= GlusterFS support
+FRUIT_DESC= MacOSX and TimeMachine support
+
GSSAPI_BUILTIN_DESC= GSSAPI support via bundled Heimdal
+ZEROCONF_DESC= Zero configuration networking
+ZEROCONF_NONE_DESC= Zeroconf support is absent
+
+DNS_DESC= DNS frontend
BIND911_DESC= Use Bind 9.11 as AD DC DNS server frontend
BIND914_DESC= Use Bind 9.14 as AD DC DNS server frontend
NSUPDATE_DESC= Use samba NSUPDATE utility for AD DC
##############################################################################
# XXX: Unconditional dependencies which can't be switched off(if present in
# the system)
+
# Readline(sponsored by Python)
# XXX: USES=readline pollutes CPPFLAGS, so we explicitly put dependency
LIB_DEPENDS+= libreadline.so:devel/readline
@@ -139,7 +149,8 @@ LIB_DEPENDS+= libpopt.so:devel/popt
LIB_DEPENDS+= libinotify.so:devel/libinotify
# GNUTLS
LIB_DEPENDS+= libgnutls.so:security/gnutls
-# NFS4 ACL glue
+LIB_DEPENDS+= libgcrypt.so:security/libgcrypt
+# NFSv4 ACL glue
LIB_DEPENDS+= libsunacl.so:sysutils/libsunacl
# Jansson
BUILD_DEPENDS+= jansson>=2.10:devel/jansson
@@ -153,6 +164,7 @@ BUILD_DEPENDS+= p5-Parse-Yapp>=0:devel/p5-Parse-Yapp
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
@@ -162,7 +174,6 @@ SAMBA4_BUNDLED_LDB?= yes
# cmocka
.if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes
SAMBA4_BUNDLED_LIBS+= cmocka
-SAMBA4_BUILTIN_LIBS+= cmocka
CONFLICTS+= cmocka-1.*
PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA=""
SUB_LIST+= SAMBA4_BUNDLED_CMOCKA=""
@@ -176,7 +187,6 @@ SUB_LIST+= SAMBA4_BUNDLED_CMOCKA="@comment "
# talloc
.if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes
SAMBA4_BUNDLED_LIBS+= talloc
-SAMBA4_BUILTIN_LIBS+= talloc
CONFLICTS+= talloc-* talloc1-*
PLIST_SUB+= SAMBA4_BUNDLED_TALLOC=""
SUB_LIST+= SAMBA4_BUNDLED_TALLOC=""
@@ -190,7 +200,6 @@ SUB_LIST+= SAMBA4_BUNDLED_TALLOC="@comment "
# tevent
.if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes
SAMBA4_BUNDLED_LIBS+= tevent
-SAMBA4_BUILTIN_LIBS+= tevent
CONFLICTS+= tevent-* tevent1-*
PLIST_SUB+= SAMBA4_BUNDLED_TEVENT=""
SUB_LIST+= SAMBA4_BUNDLED_TEVENT=""
@@ -204,7 +213,6 @@ SUB_LIST+= SAMBA4_BUNDLED_TEVENT="@comment "
# tdb
.if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes
SAMBA4_BUNDLED_LIBS+= tdb
-SAMBA4_BUILTIN_LIBS+= tdb
CONFLICTS+= tdb-* tdb1-*
PLIST_SUB+= SAMBA4_BUNDLED_TDB=""
SUB_LIST+= SAMBA4_BUNDLED_TDB=""
@@ -219,7 +227,6 @@ SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment "
.if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes
SAMBA4_BUNDLED_LDB= yes
SAMBA4_BUNDLED_LIBS+= ldb
-SAMBA4_BUILTIN_LIBS+= ldb
PLIST_SUB+= SAMBA4_BUNDLED_LDB=""
SUB_LIST+= SAMBA4_BUNDLED_LDB=""
SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules
@@ -237,7 +244,6 @@ SAMBA4_MODULEDIR= ${PREFIX}/lib/shared-modules
|| (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) \
|| (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes)
SAMBA4_BUNDLED_LIBS+= replace
-#SAMBA4_BUILTIN_LIBS+= replace
.endif
# Don't use external libcom_err
SAMBA4_BUNDLED_LIBS+= com_err
@@ -266,11 +272,20 @@ CONFIGURE_ARGS+= \
--with-acl-support \
--with-sendfile-support \
--disable-ctdb-tests \
- ${ICONV_CONFIGURE_BASE}
+
+# ${ICONV_CONFIGURE_BASE}
##############################################################################
-BIND911_RUN_DEPENDS= bind911>=9.11.0.0:dns/bind911
-BIND914_RUN_DEPENDS= bind914>=9.14.0.0:dns/bind914
-NSUPDATE_RUN_DEPENDS= samba-nsupdate:dns/samba-nsupdate
+FRUIT_PREVENTS= ZEROCONF_NONE
+FRUIT_PREVENTS_MSG= MacOSX support requires Zeroconf(AVAHI or MDNSRESPONDER)
+FRUIT_VARS= SAMBA4_MODULES+=vfs_fruit
+FRUIT_PLIST_FILES+= 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+= man/man8/vfs_glusterfs.8.gz
+##############################################################################
+ZEROCONF_NONE_VARS= MAKE_ENV+=ZEROCONF=none
AVAHI_CONFIGURE_ENABLE= avahi
AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app
@@ -280,6 +295,10 @@ MDNSRESPONDER_CONFIGURE_ENABLE= dnssd
MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder
MDNSRESPONDER_VARS= SAMBA4_SERVICES+=mdnsd
##############################################################################
+BIND911_RUN_DEPENDS= bind911>=9.11.0.0:dns/bind911
+BIND914_RUN_DEPENDS= bind914>=9.14.0.0:dns/bind914
+NSUPDATE_RUN_DEPENDS= samba-nsupdate:dns/samba-nsupdate
+##############################################################################
DEBUG_CONFIGURE_ON= --verbose --enable-debug
DEBUG_MAKE_ARGS= --verbose
DEBUG_FLAGS= -g -ggdb3 -O0
@@ -315,11 +334,6 @@ CUPS_LIB_DEPENDS= libcups.so:print/cups
FAM_USES= fam
FAM_CONFIGURE_WITH= fam
-GLUSTERFS_CONFIGURE_ENABLE= glusterfs
-GLUSTERFS_LIB_DEPENDS= libglusterfs.so:net/glusterfs
-GLUSTERFS_VARS= SAMBA4_MODULES+=vfs_glusterfs
-GLUSTERFS_PLIST_FILES+= man/man8/vfs_glusterfs.8.gz
-
GPGME_CONFIGURE_WITH= gpgme
GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme
@@ -330,7 +344,7 @@ QUOTAS_CONFIGURE_WITH= quotas
SPOTLIGHT_CONFIGURE_ENABLE= spotlight
SPOTLIGHT_BUILD_DEPENDS= tracker>=1.4.1:sysutils/tracker
SPOTLIGHT_RUN_DEPENDS= tracker>=1.4.1:sysutils/tracker
-SPOTLIGHT_USES= bison
+SPOTLIGHT_USES= bison gnome
SPOTLIGHT_USE= gnome=glib20
SYSLOG_CONFIGURE_WITH= syslog
@@ -403,6 +417,7 @@ SUB_LIST+= SAMBA4_PYTHON="@comment "
USES+= python:3.4+
PLIST_SUB+= SAMBA4_PYTHON=""
SUB_LIST+= SAMBA4_PYTHON=""
+CONFIGURE_ARGS+= --nopycache
.if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes
SAMBA4_BUNDLED_LIBS+= pytalloc-util
@@ -441,7 +456,6 @@ SAMBA4_MODULES+= ${WANT_EXP_MODULES}
.if defined(SAMBA4_BUNDLED_LIBS) && !empty(SAMBA4_BUNDLED_LIBS)
CONFIGURE_ARGS+= --bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"
-CONFIGURE_ARGS+= --builtin-libraries="${SAMBA4_BUILTIN_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"
.endif
.if defined(SAMBA4_MODULES) && !empty(SAMBA4_MODULES)
@@ -623,6 +637,10 @@ post-install: post-install-rm-junk post-install-fix-manpages
${INSTALL} -d -m 0755 "${STAGEDIR}${SAMBA4_MODULEDIR}/${dir}"
.endfor
+post-install-FRUIT-off:
+ ${RM} ${STAGEDIR}${SAMBA4_MODULEDIR}/vfs/fruit.so
+ ${RM} ${STAGEDIR}${PREFIX}/man/man8/vfs_fruit.8
+
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
.for doc in ${PORTDOCS}
@@ -630,10 +648,10 @@ post-install-DOCS-on:
.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
+ ${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
# !SAMBA4_SUBPORT
.endif