1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-27 05:10:36 +00:00
freebsd-ports/net/samba/Makefile
2002-05-13 14:33:08 +00:00

224 lines
7.4 KiB
Makefile

# New ports collection makefile for: samba
# Date created: 11th Feb 1995
# Whom: gpalmer
#
# $FreeBSD$
#
PORTNAME= samba
PORTVERSION= 2.2.4
PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= ftp://ftp.samba.org/pub/samba/%SUBDIR%/ \
ftp://samba.anu.edu.au/pub/samba/%SUBDIR%/ \
ftp://de.samba.org/pub/mirror/samba/%SUBDIR%/ \
ftp://se.samba.org/pub/samba/%SUBDIR%/ \
ftp://ftp.sunet.se/pub/unix/utilities/samba/%SUBDIR%/
MASTER_SITE_SUBDIR= . old-versions old
MAINTAINER= dwcjr@FreeBSD.org
USE_BZIP2= YES
.if defined(WITH_AUDIT) || defined(WITH_RECYCLE)
USE_GMAKE= YES
.endif
AUDIT= "@comment "
RECYCLE= "@comment "
LIBSAMBA= "@comment "
.if defined(WITH_AUDIT)
AUDIT= ""
LIBSAMBA= ""
.endif
.if defined(WITH_RECYCLE)
RECYCLE= ""
LIBSAMBA= ""
.endif
# directories
VARDIR= /var
SAMBA_SPOOL= ${VARDIR}/spool/samba
SAMBA_LOGDIR= ${VARDIR}/log
SAMBA_PRIVATE= ${PREFIX}/private
SAMBA_CONFDIR= ${PREFIX}/etc
SAMBA_VFSDIR= ${PREFIX}/lib/samba
# sample files
STARTUP_SCRIPT= ${PREFIX}/etc/rc.d/samba.sh.sample
SAMPLE_CONFIG= ${SAMBA_CONFDIR}/smb.conf.default
USE_AUTOCONF= yes
CONFIGURE_ARGS= --libdir=${SAMBA_CONFDIR} \
--localstatedir=${VARDIR} --with-swatdir=${PREFIX}/share/swat \
--with-sambabook=${PREFIX}/share/swat/using_samba \
--with-lockdir=${VARDIR}/lock --with-privatedir=${SAMBA_PRIVATE} \
--with-pam --with-piddir=${VARDIR}/run \
--with-logfilebase=${SAMBA_LOGDIR}
.include <bsd.port.pre.mk>
.if defined(WITH_SYSLOG)
CONFIGURE_ARGS+= --with-syslog
.endif
.if defined(WITH_SSL)
CONFIGURE_ARGS+= --with-ssl --with-sslinc=/usr/include/openssl --with-ssllib=/usr/lib
.endif
.if defined(WITH_QUOTAS)
CONFIGURE_ARGS+= --with-quotas
.endif
.if defined(WITH_UTMP)
CONFIGURE_ARGS+= --with-utmp
.endif
.if defined(WITH_MSDFS)
CONFIGURE_ARGS+= --with-msdfs
.endif
.if defined(WITH_LDAP)
LIB_DEPENDS+= ldap.2:${PORTSDIR}/net/openldap2
CONFIGURE_ARGS+= --with-ldapsam
CONFIGURE_ENV+= CPPFLAGS=-I${LOCALBASE}/include \
LDFLAGS=-L${LOCALBASE}/lib
.endif
.if !defined(WITHOUT_CUPS)
WITH_CUPS= yes
.endif
.if defined(WITH_CUPS)
LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
CONFIGURE_ENV+= CPPFLAGS=-I${LOCALBASE}/include \
LDFLAGS=-L${LOCALBASE}/lib
.endif
.if defined(KRB5_HOME) && exists(${KRB5_HOME})
CONFIGURE_ARGS+= --with-krb5=${KRB5_HOME}
.endif
.if defined(WITH_ACL_SUPPORT)
.if ${OSVERSION} < 500018
BROKEN= "Requires a recent FreeBSD 5.0-CURRENT"
.else
CONFIGURE_ARGS+= --with-acl-support
.endif
.endif
WRKSRC= ${WRKDIR}/${DISTNAME}/source
PATCH_WRKSRC= ${WRKDIR}/${DISTNAME}
MAN1= findsmb.1 make_smbcodepage.1 rpcclient.1 make_unicodemap.1 \
nmblookup.1 smbcacls.1 smbclient.1 smbcontrol.1 \
smbsh.1 smbstatus.1 smbtar.1 testparm.1 \
testprns.1 wbinfo.1
MAN5= lmhosts.5 smb.conf.5 smbpasswd.5
MAN7= samba.7
MAN8= nmbd.8 pdbedit.8 smbd.8 smbmnt.8 smbmount.8 \
smbpasswd.8 smbspool.8 smbumount.8 swat.8 winbindd.8
SED_PLIST= ${SED} -e 's!${PREFIX}!%D!g'
PLIST_SUB= AUDIT=${AUDIT} \
RECYCLE=${RECYCLE} \
LIBSAMBA=${LIBSAMBA}
.if defined(WITH_RECYCLE) || defined(WITH_AUDIT)
post-build:
cd ${WRKDIR}/${DISTNAME}/examples/VFS; \
${GMAKE}
.endif
post-install:
.if defined(WITH_AUDIT) || defined(WITH_RECYCLE)
@test -d ${SAMBA_VFSDIR} || ${MKDIR} ${SAMBA_VFSDIR}
.if defined(WITH_AUDIT)
${INSTALL_PROGRAM} ${WRKDIR}/${DISTNAME}/examples/VFS/audit.so ${SAMBA_VFSDIR}
.endif
.if defined(WITH_RECYCLE)
${INSTALL_PROGRAM} ${WRKDIR}/${DISTNAME}/examples/VFS/recycle.so ${SAMBA_VFSDIR}
.endif
.endif
${MKDIR} ${PREFIX}/share/examples/samba
${CP} -rp ${WRKDIR}/${DISTNAME}/examples/* ${PREFIX}/share/examples/samba
.if defined(WITH_AUDIT) || defined(WITH_RECYCLE)
@${RM} -rf ${PREFIX}/share/examples/samba/VFS/.libs
@for file in Makefile.orig audit.o audit.so recycle.c.orig recycle.o recycle.so skel.o skel.so ; do \
${RM} ${PREFIX}/share/examples/samba/VFS/$${file} ; \
done
.endif
@if [ ! -f ${STARTUP_SCRIPT} ]; then \
${ECHO} "Installing ${STARTUP_SCRIPT} startup file." ; \
${INSTALL_SCRIPT} ${FILESDIR}/samba.sh.sample \
${STARTUP_SCRIPT} ; \
fi
@test -d ${SAMBA_SPOOL} || ${MKDIR} ${SAMBA_SPOOL} && ${CHMOD} 1777 ${SAMBA_SPOOL}
@if [ ! -f ${SAMPLE_CONFIG} ]; then \
${SED} -e 's!%%SAMBA_SPOOL%%!${SAMBA_SPOOL}!' \
-e 's!%%SAMBA_LOGDIR%%!${SAMBA_LOGDIR}!' \
-e 's!%%SAMBA_CONFDIR%%!${SAMBA_CONFDIR}!' \
-e 's!%%SAMBA_VFSDIR%%!${SAMBA_VFSDIR}!' \
${FILESDIR}/smb.conf.default \
> ${SAMPLE_CONFIG} ; \
fi
${INSTALL_SCRIPT} ${WRKDIR}/${DISTNAME}/source/script/mksmbpasswd.sh ${PREFIX}/bin/make_smbpasswd
if [ ! -d ${SAMBA_PRIVATE} ] ; then \
${MKDIR} ${SAMBA_PRIVATE} ; \
${CHOWN} root:wheel ${SAMBA_PRIVATE} ; \
fi
${CHMOD} 700 ${SAMBA_PRIVATE}
if [ ! -f ${SAMBA_PRIVATE}/smbpasswd.default ] ; then \
${CAT} /etc/passwd | ${GREP} -v "^#" | ${PREFIX}/bin/make_smbpasswd > ${SAMBA_PRIVATE}/smbpasswd.default ; \
${CHMOD} 600 ${SAMBA_PRIVATE}/smbpasswd.default ; \
fi
if [ ! -f ${SAMBA_PRIVATE}/smbpasswd ] ; then \
${CP} -p ${SAMBA_PRIVATE}/smbpasswd.default ${SAMBA_PRIVATE}/smbpasswd ; \
${CHMOD} 600 ${SAMBA_PRIVATE}/smbpasswd ; \
fi
${CHMOD} 500 ${SAMBA_PRIVATE}
${CHOWN} root:wheel ${PREFIX}/bin/smbpasswd
${CHMOD} 111 ${PREFIX}/bin/smbpasswd
${ECHO_CMD} "@exec ${TEST} -d ${SAMBA_SPOOL} || ${MKDIR} ${SAMBA_SPOOL} && ${CHMOD} 1777 ${SAMBA_SPOOL}" | ${SED_PLIST} >> ${TMPPLIST}
${ECHO_CMD} "@unexec ${RM} -rf ${SAMBA_SPOOL}" | ${SED_PLIST} >> ${TMPPLIST}
${ECHO_CMD} "@exec ${MKDIR} -m 500 ${SAMBA_PRIVATE}" | ${SED_PLIST} >> ${TMPPLIST}
${ECHO_CMD} "@exec ${CHOWN} root:wheel ${SAMBA_PRIVATE}" | ${SED_PLIST} >> ${TMPPLIST}
${ECHO_CMD} "@exec ${CAT} /etc/passwd | ${GREP} -v "^#" | ${PREFIX}/bin/make_smbpasswd > ${SAMBA_PRIVATE}/smbpasswd.default" | ${SED_PLIST} >> ${TMPPLIST}
${ECHO_CMD} "@exec ${TEST} -e ${SAMBA_PRIVATE}/smbpasswd || ${CP} -p ${SAMBA_PRIVATE}/smbpasswd.default ${SAMBA_PRIVATE}/smbpasswd" | ${SED_PLIST} >> ${TMPPLIST}
${ECHO_CMD} "@exec ${CHMOD} 600 ${SAMBA_PRIVATE}/smbpasswd*" | ${SED_PLIST} >> ${TMPPLIST}
${ECHO_CMD} "@unexec /usr/bin/cmp -s ${SAMBA_PRIVATE}/smbpasswd ${SAMBA_PRIVATE}/smbpasswd.default && ${RM} -f ${SAMBA_PRIVATE}/smbpasswd ${SAMBA_PRIVATE}/secrets.tdb || ${TRUE}" | ${SED_PLIST} >> ${TMPPLIST}
${ECHO_CMD} "@unexec ${RM} -f ${SAMBA_PRIVATE}/smbpasswd.default" | ${SED_PLIST} >> ${TMPPLIST}
${ECHO_CMD} "@unexec ${RMDIR} ${SAMBA_PRIVATE} || (${ECHO_CMD} \"Warning: If you will *NOT* use this package anymore,\" && ${ECHO_CMD} \" please remove ${SAMBA_PRIVATE} and its contents manually.\")" | ${SED_PLIST} >> ${TMPPLIST}
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
@${INSTALL_DATA} ${FILESDIR}/README.FreeBSD ${DOCSDIR}
for i in ${WRKDIR}/${DISTNAME}/README \
${WRKDIR}/${DISTNAME}/COPYING \
${WRKDIR}/${DISTNAME}/Manifest \
${WRKDIR}/${DISTNAME}/Read-Manifest-Now \
${WRKDIR}/${DISTNAME}/Roadmap \
${WRKDIR}/${DISTNAME}/WHATSNEW.txt \
${WRKDIR}/${DISTNAME}/docs/THANKS \
${WRKDIR}/${DISTNAME}/docs/announce \
${WRKDIR}/${DISTNAME}/docs/history ; do \
${INSTALL_DATA} $$i ${DOCSDIR} ; \
done
for i in faq htmldocs textdocs Registry ; do \
${MKDIR} ${DOCSDIR}/$$i ; \
for j in ${WRKDIR}/${DISTNAME}/docs/$$i/* ; do \
if [ $$j != ${WRKDIR}/${DISTNAME}/docs/htmldocs/using_samba ] ; then \
if [ $$j != ${WRKDIR}/${DISTNAME}/docs/textdocs/outdated ] ; then \
${INSTALL_DATA} $$j ${DOCSDIR}/$$i ;\
fi; \
fi; \
done \
done
@${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/swat/README ${DOCSDIR}/README.swat
.endif
.include <bsd.port.post.mk>