diff options
Diffstat (limited to 'net/samba30/options.mk')
-rw-r--r-- | net/samba30/options.mk | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/net/samba30/options.mk b/net/samba30/options.mk new file mode 100644 index 00000000000..ef1a965e9dc --- /dev/null +++ b/net/samba30/options.mk @@ -0,0 +1,183 @@ +# $NetBSD: options.mk,v 1.1.1.1 2011/12/15 22:23:24 asau Exp $ + +# Recommended package options for various setups: +# +# Standalone Samba server cups +# Domain Member server cups ldap winbind +# Active Directory Member server ads cups winbind +# Domain Controller ldap winbind +# +PKG_OPTIONS_VAR= PKG_OPTIONS.samba +PKG_SUPPORTED_OPTIONS= ads cups fam ldap pam winbind +PKG_SUGGESTED_OPTIONS= ads ldap pam winbind + +.include "../../mk/bsd.fast.prefs.mk" + +SAMBA_ACL_OPSYS= AIX Darwin FreeBSD HPUX IRIX Linux OSF1 SunOS +.if !empty(SAMBA_ACL_OPSYS:M${OPSYS}) +PKG_SUPPORTED_OPTIONS+= acl +.endif + +.include "../../mk/bsd.options.mk" + +SAMBA_STATIC_MODULES:= # empty + +### +### Allow Samba to join as a member server of an Active Directory domain. +### +.if !empty(PKG_OPTIONS:Mads) +. include "../../mk/krb5.buildlink3.mk" +. if empty(PKG_OPTIONS:Mldap) +PKG_OPTIONS+= ldap +. endif +CONFIGURE_ARGS+= --with-ads +CONFIGURE_ARGS+= --with-krb5=${KRB5BASE:Q} + +# Avoid build failures with recent version of Heimdal under NetBSD. +. if ${OPSYS} == "NetBSD" +CONFIGURE_ENV+= samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=no +. endif + +# ignore gssapi.h on Solaris as it conflicts with <gssapi/gssapi.h> +. if ${OPSYS} == "SunOS" +CONFIGURE_ENV+= ac_cv_header_gssapi_h=no +. endif +.else +CONFIGURE_ARGS+= --without-ads +CONFIGURE_ARGS+= --without-krb5 +.endif + +### +### Access Control List support. +### +.if !empty(PKG_OPTIONS:Macl) +CONFIGURE_ARGS+= --with-acl-support +.endif + +### +### Native CUPS support for providing printing services. +### +PLIST_VARS+= cups +.if !empty(PKG_OPTIONS:Mcups) +. include "../../print/cups/buildlink3.mk" +CONFIGURE_ARGS+= --enable-cups +PLIST.cups= yes +INSTALLATION_DIRS+= libexec/cups/backend + +.PHONY: samba-cups-install +post-install: samba-cups-install +samba-cups-install: + cd ${DESTDIR}${PREFIX}/libexec/cups/backend && \ + ${LN} -fs ../../../bin/smbspool smb +.else +CONFIGURE_ARGS+= --disable-cups +.endif + +### +### Access Control List support. +### +PLIST_VARS+= fam +.if !empty(PKG_OPTIONS:Mfam) +. include "../../mk/fam.buildlink3.mk" +CONFIGURE_ARGS+= --enable-fam +PLIST.fam= yes +.else +CONFIGURE_ARGS+= --disable-fam +.endif + +### +### Support LDAP authentication and storage of Samba account information. +### +.if !empty(PKG_OPTIONS:Mldap) +. include "../../databases/openldap-client/buildlink3.mk" +CONFIGURE_ARGS+= --with-ldap +.else +CONFIGURE_ARGS+= --without-ldap +.endif + +### +### Support PAM authentication and build smbpass and winbind PAM modules. +### +PLIST_VARS+= pam +.if !empty(PKG_OPTIONS:Mpam) +. include "../../security/PAM/module.mk" +CONFIGURE_ARGS+= --with-pam +CONFIGURE_ARGS+= --with-pam_smbpass +CONFIGURE_ARGS+= --with-pammodulesdir=${PAM_INSTMODULEDIR} +PLIST.pam= yes +INSTALLATION_DIRS+= ${EGDIR}/pam_smbpass + +.PHONY: samba-pam-smbpass-install +post-install: samba-pam-smbpass-install +samba-pam-smbpass-install: + ${INSTALL_DATA} ${WRKSRC}/pam_smbpass/README \ + ${DESTDIR}${PREFIX}/${DOCDIR}/README.pam_smbpass + cd ${WRKSRC}/pam_smbpass/samples; for f in [a-z]*; do \ + ${INSTALL_DATA} $${f} \ + ${DESTDIR}${PREFIX}/${EGDIR}/pam_smbpass/$${f}; \ + done +.endif + +### +### Support querying a PDC for domain user and group information, e.g., +### through NSS or PAM. +### +PLIST_VARS+= winbind +.if !empty(PKG_OPTIONS:Mwinbind) +CONFIGURE_ARGS+= --with-winbind + +SAMBA_STATIC_MODULES:= ${SAMBA_STATIC_MODULES},idmap_rid +. if !empty(PKG_OPTIONS:Mads) +SAMBA_STATIC_MODULES:= ${SAMBA_STATIC_MODULES},idmap_ad +. endif + +WINBINDD_RCD_SCRIPT= winbindd +PLIST.winbind= yes + +# Install the NSS winbind module if it exists. +PLIST_SUBST+= NSS_WINBIND=${NSS_WINBIND:Q} +NSS_WINBIND= ${NSS_WINBIND_cmd:sh} +NSS_WINBIND_cmd= \ + ${TEST} -x ${WRKSRC}/config.status || \ + { ${ECHO} "@comment no NSS winbind module" ; exit 0; }; \ + cd ${WRKDIR} && ${ECHO} @WINBIND_NSS@ | \ + ${WRKSRC}/config.status --file=-:- | \ + ${AWK} '/^$$/ { print "@comment no NSS winbind module"; exit 0; } \ + { sub(".*/", "lib/"); print; }' && \ + ${RM} -f config.log + +.PHONY: samba-nss-winbind-install +post-install: samba-nss-winbind-install +samba-nss-winbind-install: + lib=${WRKSRC:Q}/nsswitch/${NSS_WINBIND:T:Q}; \ + ${TEST} ! -f $$lib || ${INSTALL_LIB} $$lib ${DESTDIR}${PREFIX:Q}/lib + +# Install the NSS WINS module if it exists. +PLIST_SUBST+= NSS_WINS=${NSS_WINS:Q} +NSS_WINS= ${NSS_WINS_cmd:sh} +NSS_WINS_cmd= \ + ${TEST} -x ${WRKSRC}/config.status || \ + { ${ECHO} "@comment no NSS WINS module" ; exit 0; }; \ + cd ${WRKDIR} && ${ECHO} @WINBIND_WINS_NSS@ | \ + ${WRKSRC}/config.status --file=-:- | \ + ${AWK} '/^$$/ { print "@comment no NSS WINS module"; exit 0; } \ + { sub(".*/", "lib/"); print; }' && \ + ${RM} -f config.log + +.PHONY: samba-nss-wins-install +post-install: samba-nss-wins-install +samba-nss-wins-install: + lib=${WRKSRC:Q}/nsswitch/${NSS_WINS:T:Q}; \ + ${TEST} ! -f $$lib || ${INSTALL_LIB} $$lib ${DESTDIR}${PREFIX:Q}/lib +.else +CONFIGURE_ARGS+= --without-winbind +PLIST_SUBST+= NSS_WINBIND="no NSS winbind module" +PLIST_SUBST+= NSS_WINS="no NSS WINS module" +.endif + +### +### Add the optional static modules to the configuration. +### +.if !empty(SAMBA_STATIC_MODULES) +CONFIGURE_ARGS+= --with-static-modules=${SAMBA_STATIC_MODULES:S/^,//} +.endif |