openbsd-ports/net/samba/Makefile
2011-09-16 11:13:37 +00:00

202 lines
5.4 KiB
Makefile

# $OpenBSD: Makefile,v 1.150 2011/09/16 11:13:40 espie Exp $
SHARED_ONLY= Yes
COMMENT-main= SMB and CIFS client and server for UNIX
COMMENT-docs= additional documentation and examples for Samba
DISTNAME= samba-3.5.11
PKGNAME-main= ${DISTNAME}
REVISION-main= 1
FULLPKGNAME-docs= ${DISTNAME:S/-/-docs-/}
FULLPKGPATH-docs= net/samba,-docs
SHARED_LIBS= smbclient 2.0 \
smbsharemodes 0.0 \
netapi 0.0 \
wbclient 0.0
CATEGORIES= net
HOMEPAGE= http://www.samba.org/
MAINTAINER= Ian McWilliam <kaosagnt@tpg.com.au>
# GPLv3+
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
WANTLIB= c execinfo ncurses popt pthread readline talloc tdb z
MASTER_SITES= http://download.samba.org/samba/ftp/ \
http://us2.samba.org/samba/ftp/ \
http://us2.samba.org/samba/ftp/old-versions/
MODULES= converters/libiconv
BUILD_DEPENDS= ${MODGNU_AUTOCONF_DEPENDS}
LIB_DEPENDS= databases/tdb>=1.2 \
devel/popt \
devel/libexecinfo \
devel/libtalloc
MAKE_FLAGS+= PASSWD_PROGRAM="/usr/bin/passwd" \
LIBSMBCLIENT_SOVER="${LIBsmbclient_VERSION}" \
LIBSMBSHAREMODES_SOVER="${LIBsmbsharemodes_VERSION}" \
LIBNETAPI_SOVER="${LIBnetapi_VERSION}" \
LIBADDNS_SOVER="${LIBaddns_VERSION}" \
LIBWBCLIENT_SOVER="${LIBwbclient_VERSION}"
CONFDIR= ${SYSCONFDIR}/samba
SAMBA_LOGDIR= /var/log/samba
SUBST_VARS= CONFDIR
USE_GMAKE= Yes
USE_GROFF= Yes
SEPARATE_BUILD= simple
CONFIGURE_STYLE= gnu
AUTOCONF_VERSION= 2.63
CONFIGURE_ARGS= --disable-fam \
--localstatedir="/var" \
--libdir="${PREFIX}/lib/samba" \
--sbindir="${PREFIX}/libexec" \
--with-configdir="${CONFDIR}" \
--with-modulesdir="${PREFIX}/lib/samba" \
--with-lockdir="/var/spool/samba" \
--with-piddir="/var/run" \
--with-logfilebase="${SAMBA_LOGDIR}" \
--with-privatedir="${CONFDIR}" \
--with-libsmbclient \
--with-swatdir="${PREFIX}/share/swat" \
--with-syslog \
--with-utmp \
--with-winbind \
--with-pthreads \
--with-wbclient \
--enable-avahi=no \
--enable-external-libtdb=yes \
--enable-external-libtalloc=yes
# Uncomment to enable debugging symbols.
#CONFIGURE_ARGS+= --enable-debug
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
FLAVORS= cups ldap ads
FLAVOR?=
MULTI_PACKAGES= -main -docs
.if ${FLAVOR:L:Mcups}
LIB_DEPENDS+= print/cups
WANTLIB+= asn1 crypto gssapi krb5 m ssl z cups
.else
CONFIGURE_ARGS+= --disable-cups
.endif
.if ${FLAVOR:L:Mldap} && ${FLAVOR:L:Mads}
ERRORS+= "Fatal: ldap and ads flavors conflict"
.endif
.if ${FLAVOR:L:Mldap} || ${FLAVOR:L:Mads}
LIB_DEPENDS+= databases/openldap
WANTLIB += ldap lber
.else
CONFIGURE_ARGS+= --without-ldap
.endif
.if ${FLAVOR:L:Mads}
CONFIGURE_ARGS+= --with-krb5="${WRKDIR}/usr"
# Merged build cruft needs loads of work. Disable until ready.
#SEPERATE_BUILD= simple
#CONFIGURE_ARGS+= --enable-merged-build
#MODULES+= lang/python
#MODPY_RUNDEP= No
WANTLIB+= asn1 com_err crypto gssapi krb5
.else
CONFIGURE_ARGS+= --without-ads
.endif
PKG_ARCH-docs= *
LIB_DEPENDS-docs=
WANTLIB-docs=
RUN_DEPENDS-docs=
# REGRESSION testing is currently borked. Builds, runs
# tests fail. Fix one day.
NO_REGRESS= Yes
#REGRESS_TARGET= test
#.ifmake regress
#CONFIGURE_ARGS+= --enable-socket-wrapper \
# --enable-nss-wrapper
#.endif
WRKDIST= ${WRKDIR}/${DISTNAME}/source3
SAMBA_DOCS= ${WRKSRC}/../README \
${WRKSRC}/../docs/history \
${WRKSRC}/../docs/registry/*.reg
SAMPLE_CONFIG= ${PREFIX}/share/examples/samba/smb.conf.default
SAMBA_MANPAGES= ${WRKSRC}/../docs/manpages
post-patch:
@cd ${WRKSRC}; \
AUTOCONF_VERSION=${AUTOCONF_VERSION} \
./autogen.sh
pre-configure:
@${SUBST_CMD} ${SAMBA_MANPAGES}/swat.8
post-extract:
@cp ${FILESDIR}/krb5-config ${WRKDIR}/bin
@chmod a+x ${WRKDIR}/bin/krb5-config
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/samba/pdf
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/samba/htmldocs
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/samba
@cp -R ${WRKSRC}/../examples/* ${PREFIX}/share/examples/samba
@chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/examples/samba
@find ${PREFIX}/share/examples/samba -type f | \
xargs chmod ${SHAREMODE}
@find ${PREFIX}/share/examples/samba -type d | \
xargs chmod ${DIRMODE}
@for i in ${SAMBA_DOCS}; do \
${INSTALL_DATA} $$i ${PREFIX}/share/doc/samba ; \
done
@for i in ${WRKSRC}/../docs/*.pdf ; do \
${INSTALL_DATA} $$i ${PREFIX}/share/doc/samba/pdf ; \
done
@for i in ${WRKSRC}/../docs/htmldocs/* ; do \
if [ -f $$i ]; then \
${INSTALL_DATA} $$i ${PREFIX}/share/doc/samba/htmldocs ;\
fi \
done
@sed -e 's:/usr/spool/samba:/var/spool/samba:g' \
-e 's:/usr/local/samba/var/log:${SAMBA_LOGDIR}/smbd:g' \
-e 's:MYGROUP:WORKGROUP:' \
${WRKSRC}/../examples/smb.conf.default > ${SAMPLE_CONFIG}
${INSTALL_SCRIPT} ${WRKSRC}/script/mksmbpasswd.sh \
${PREFIX}/bin/mksmbpasswd
@chown ${BINOWN}:${BINGRP} ${PREFIX}/bin/smbpasswd
@ln -s samba/libsmbclient.so.${LIBsmbclient_VERSION} \
${PREFIX}/lib/libsmbclient.so.${LIBsmbclient_VERSION}
@ln -s samba/libsmbsharemodes.so.${LIBsmbsharemodes_VERSION} \
${PREFIX}/lib/libsmbsharemodes.so.${LIBsmbsharemodes_VERSION}
@ln -s samba/libnetapi.so.${LIBnetapi_VERSION} \
${PREFIX}/lib/libnetapi.so.${LIBnetapi_VERSION}
@ln -s samba/libwbclient.so.${LIBwbclient_VERSION} \
${PREFIX}/lib/libwbclient.so.${LIBwbclient_VERSION}
@rmdir ${WRKINST}${SYSCONFDIR}/samba
@rmdir ${WRKINST}/var/spool/samba
.include <bsd.port.mk>