184 lines
5 KiB
Makefile
184 lines
5 KiB
Makefile
|
# $NetBSD: options.mk,v 1.1 2012/02/01 08:14:47 sbd 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}
|
||
|
|
||
|
# 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}/nsswitch/${NSS_WINBIND:T:Q}; \
|
||
|
${TEST} ! -f $$lib || ${INSTALL_LIB} $$lib ${DESTDIR}${PREFIX}/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}/nsswitch/${NSS_WINS:T:Q}; \
|
||
|
${TEST} ! -f $$lib || ${INSTALL_LIB} $$lib ${DESTDIR}${PREFIX}/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
|