3ca831a356
- Take maintainership
193 lines
5.4 KiB
Makefile
193 lines
5.4 KiB
Makefile
# New ports collection makefile for: pure-ftpd
|
|
# Date created: 22 April 2001
|
|
# Whom: Frank DENIS
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= pure-ftpd
|
|
PORTVERSION= 1.0.36
|
|
CATEGORIES= ftp ipv6
|
|
MASTER_SITES= http://download.pureftpd.org/pub/pure-ftpd/releases/ \
|
|
ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/ \
|
|
SF/pureftpd/Pure-FTPd/${PORTVERSION}
|
|
|
|
MAINTAINER= sunpoet@FreeBSD.org
|
|
COMMENT= A small, easy to set up, fast and very secure FTP server
|
|
|
|
SUB_FILES= pkg-message
|
|
SUB_LIST= PAM_DIR=${PAM_DIR} PAM_TARGET=${PAM_TARGET}
|
|
USE_BZIP2= yes
|
|
USE_PERL5_RUN= yes
|
|
USE_RC_SUBR= pure-ftpd.sh
|
|
GNU_CONFIGURE= yes
|
|
MAKE_JOBS_SAFE= yes
|
|
CONFIGURE_ARGS= --with-everything \
|
|
--with-paranoidmsg \
|
|
--sysconfdir=${PREFIX}/etc \
|
|
--localstatedir=/var
|
|
|
|
MAN8= pure-ftpd.8 pure-ftpwho.8 pure-mrtginfo.8 pure-statsdecode.8 \
|
|
pure-uploadscript.8 pure-pw.8 pure-pwconvert.8 pure-quotacheck.8 \
|
|
pure-authd.8
|
|
|
|
OPTIONS= LDAP "Support for users in LDAP directories" off \
|
|
MYSQL "Support for users in MySQL database" off \
|
|
PAM "Support for PAM authentication" on \
|
|
PGSQL "Support for users in PostgreSQL database" off \
|
|
TLS "Support for TLS (experimental)" off \
|
|
PRIVSEP "Enable privilege separation" on \
|
|
PERUSERLIMITS "Per-user concurrency limits" off \
|
|
THROTTLING "Bandwidth throttling" off \
|
|
UPLOADSCRIPT "Support uploadscript daemon" off \
|
|
UTF8 "Support for charset conversion" off \
|
|
SENDFILE "Support for the sendfile syscall" on \
|
|
LARGEFILE "Support downloading files larger than 2Gb" off \
|
|
VIRTUALCHROOT "Follow symlinks outside a chroot jail" on \
|
|
ANONRESUME "Allow anonymous user to resume file upload" off \
|
|
ANONRENAME "Allow anonymous user to rename file" off \
|
|
ANONDELETE "Allow anonymous user to delete file" off
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
# language support requested?
|
|
.if defined(WITH_LANG)
|
|
CONFIGURE_ARGS+= --with-language="${WITH_LANG}"
|
|
.endif
|
|
|
|
# ldap support requested?
|
|
.if defined(WITH_LDAP)
|
|
USE_OPENLDAP= YES
|
|
CONFIGURE_ARGS+= --with-ldap
|
|
.endif
|
|
|
|
# mysql support requested?
|
|
.if defined(WITH_MYSQL)
|
|
USE_MYSQL= YES
|
|
CONFIGURE_ARGS+= --with-mysql
|
|
.endif
|
|
|
|
# postgresql support requested?
|
|
.if defined(WITH_PGSQL)
|
|
USE_PGSQL= YES
|
|
CONFIGURE_ARGS+= --with-pgsql
|
|
.endif
|
|
|
|
# privilege separation requested?
|
|
.if defined(WITH_PRIVSEP)
|
|
CONFIGURE_ARGS+= --with-privsep
|
|
.endif
|
|
|
|
# per-user concurrency limits requested?
|
|
.if defined(WITH_PERUSERLIMITS)
|
|
CONFIGURE_ARGS+= --with-peruserlimits
|
|
.endif
|
|
|
|
# throttling requested?
|
|
.if defined(WITH_THROTTLING)
|
|
CONFIGURE_ARGS+= --with-throttling
|
|
.endif
|
|
|
|
# TLS
|
|
.if defined(WITH_TLS)
|
|
CONFIGURE_ARGS+= --with-tls
|
|
# different certificate file location?
|
|
. if defined(WITH_CERTFILE)
|
|
CONFIGURE_ARGS+= --with-certfile=${WITH_CERTFILE}
|
|
. endif
|
|
.endif
|
|
|
|
# if mysql or ldap are disabled, enable pam
|
|
.if !defined(WITHOUT_PAM)
|
|
CONFIGURE_ARGS+= --with-pam
|
|
.endif
|
|
|
|
# support uploadscript?
|
|
.if defined (WITH_UPLOADSCRIPT)
|
|
CONFIGURE_ARGS+= --with-uploadscript
|
|
.endif
|
|
|
|
# RFC 2640 charset conversion requested?
|
|
.if defined(WITH_UTF8)
|
|
USE_ICONV= YES
|
|
CONFIGURE_ARGS+= --with-rfc2640
|
|
.endif
|
|
|
|
.if defined(WITH_SENDFILE)
|
|
CONFIGURE_ARGS+= --with-sendfile
|
|
.else
|
|
CONFIGURE_ARGS+= --without-sendfile
|
|
.endif
|
|
|
|
.if defined(WITH_LARGEFILE)
|
|
CONFIGURE_ARGS+= --enable-largefile
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-largefile
|
|
.endif
|
|
|
|
.if defined(WITH_VIRTUALCHROOT)
|
|
CONFIGURE_ARGS+= --with-virtualchroot
|
|
.else
|
|
CONFIGURE_ARGS+= --without-virtualchroot
|
|
.endif
|
|
|
|
.if defined(WITH_ANONRESUME)
|
|
CFLAGS+= -DANON_CAN_RESUME
|
|
.endif
|
|
|
|
.if defined(WITH_ANONRENAME)
|
|
CFLAGS+= -DANON_CAN_RENAME
|
|
.endif
|
|
|
|
.if defined(WITH_ANONDELETE)
|
|
CFLAGS+= -DANON_CAN_DELETE
|
|
.endif
|
|
|
|
PAM_TEMPL?= ${FILESDIR}/pam.conf.5
|
|
PAM_DIR?= ${EXAMPLESDIR}/pam
|
|
PAM_TARGET?= pure-ftpd
|
|
|
|
PORTDOCS= AUTHORS CONTACT COPYING HISTORY NEWS \
|
|
README README.Configuration-File README.Contrib README.LDAP \
|
|
README.MySQL README.PGSQL README.Virtual-Users \
|
|
README.Authentication-Modules THANKS pure-ftpd.png \
|
|
pureftpd.schema README.TLS
|
|
PORTEXAMPLES= *
|
|
|
|
CONTRIB= xml_python_processors.txt pure-stat.pl pure-vpopauth.pl
|
|
|
|
pre-fetch:
|
|
@${ECHO_MSG} "You can use the following additional options:"
|
|
@${ECHO_MSG} "WITH_CERTFILE=/path - Set different location of certificate file for TLS"
|
|
@${ECHO_MSG} "WITH_LANG=lang - Enable compilation of language support, lang is one of"
|
|
@${ECHO_MSG} " english, german, romanian, french, french-funny, polish, spanish,"
|
|
@${ECHO_MSG} " danish, dutch, italian, brazilian-portuguese, slovak, korean, swedish,"
|
|
@${ECHO_MSG} " norwegian, russian, traditional-chinese, simplified-chinese, czech,"
|
|
@${ECHO_MSG} " turkish, hungarian, catalan"
|
|
@${ECHO_MSG} ""
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|$${exec_prefix}|${PREFIX}|g' \
|
|
${WRKSRC}/configuration-file/pure-config.pl.in
|
|
|
|
post-install:
|
|
${INSTALL_DATA} ${WRKSRC}/pureftpd-ldap.conf ${PREFIX}/etc/pureftpd-ldap.conf.sample
|
|
${INSTALL_DATA} ${WRKSRC}/pureftpd-mysql.conf ${PREFIX}/etc/pureftpd-mysql.conf.sample
|
|
${INSTALL_DATA} ${WRKSRC}/pureftpd-pgsql.conf ${PREFIX}/etc/pureftpd-pgsql.conf.sample
|
|
${INSTALL_DATA} ${WRKSRC}/configuration-file/pure-ftpd.conf ${PREFIX}/etc/pure-ftpd.conf.sample
|
|
${INSTALL_SCRIPT} ${WRKSRC}/configuration-file/pure-config.pl ${PREFIX}/sbin/
|
|
.if !defined(NOPORTEXAMPLES)
|
|
@${MKDIR} ${EXAMPLESDIR}
|
|
cd ${WRKSRC}/contrib && ${INSTALL_SCRIPT} ${CONTRIB} ${EXAMPLESDIR}
|
|
${MKDIR} ${PAM_DIR}
|
|
${INSTALL_DATA} ${PAM_TEMPL} ${PAM_DIR}/${PAM_TARGET}
|
|
.endif
|
|
.if !defined(NOPORTDOCS)
|
|
@${MKDIR} ${DOCSDIR}
|
|
. for doc in ${PORTDOCS}
|
|
${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}
|
|
. endfor
|
|
.endif
|
|
@${CAT} ${PKGMESSAGE}
|
|
|
|
.include <bsd.port.mk>
|