mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-13 07:34:50 +00:00
193 lines
5.5 KiB
Makefile
193 lines
5.5 KiB
Makefile
# Created by: 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= 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
|
|
USE_RC_SUBR= pure-ftpd
|
|
USES= perl5
|
|
GNU_CONFIGURE= 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_DEFINE= LDAP MYSQL PAM PGSQL TLS PRIVSEP PERUSERLIMITS THROTTLING \
|
|
UPLOADSCRIPT UTF8 SENDFILE LARGEFILE VIRTUALCHROOT ANONRESUME \
|
|
ANONRENAME ANONDELETE DOCS EXAMPLES
|
|
OPTIONS_DEFAULT= PAM PRIVSEP SENDFILE VIRTUALCHROOT
|
|
|
|
LDAP_DESC= Support for users in LDAP directories
|
|
MYSQL_DESC= Support for users in MySQL database
|
|
PAM_DESC= Support for PAM authentication
|
|
PGSQL_DESC= Support for users in PostgreSQL database
|
|
TLS_DESC= Support for TLS (experimental)
|
|
PRIVSEP_DESC= Enable privilege separation
|
|
PERUSERLIMITS_DESC= Per-user concurrency limits
|
|
THROTTLING_DESC= Bandwidth throttling
|
|
UPLOADSCRIPT_DESC= Support uploadscript daemon
|
|
UTF8_DESC= Support for charset conversion
|
|
SENDFILE_DESC= Support for the sendfile syscall
|
|
LARGEFILE_DESC= Support downloading files larger than 2Gb
|
|
VIRTUALCHROOT_DESC= Follow symlinks outside a chroot jail
|
|
ANONRESUME_DESC= Allow anonymous user to resume file upload
|
|
ANONRENAME_DESC= Allow anonymous user to rename file
|
|
ANONDELETE_DESC= Allow anonymous user to delete file
|
|
|
|
NO_STAGE= yes
|
|
.include <bsd.port.options.mk>
|
|
|
|
# language support requested?
|
|
.if ${PORT_OPTIONS:MLANG}
|
|
CONFIGURE_ARGS+= --with-language="${WITH_LANG}"
|
|
.endif
|
|
|
|
# ldap support requested?
|
|
.if ${PORT_OPTIONS:MLDAP}
|
|
USE_OPENLDAP= YES
|
|
CONFIGURE_ARGS+= --with-ldap
|
|
.endif
|
|
|
|
# mysql support requested?
|
|
.if ${PORT_OPTIONS:MMYSQL}
|
|
USE_MYSQL= YES
|
|
CONFIGURE_ARGS+= --with-mysql
|
|
.endif
|
|
|
|
# postgresql support requested?
|
|
.if ${PORT_OPTIONS:MPGSQL}
|
|
USE_PGSQL= YES
|
|
CONFIGURE_ARGS+= --with-pgsql
|
|
.endif
|
|
|
|
# privilege separation requested?
|
|
.if ${PORT_OPTIONS:MPRIVSEP}
|
|
CONFIGURE_ARGS+= --with-privsep
|
|
.endif
|
|
|
|
# per-user concurrency limits requested?
|
|
.if ${PORT_OPTIONS:MPERUSERLIMITS}
|
|
CONFIGURE_ARGS+= --with-peruserlimits
|
|
.endif
|
|
|
|
# throttling requested?
|
|
.if ${PORT_OPTIONS:MTHROTTLING}
|
|
CONFIGURE_ARGS+= --with-throttling
|
|
.endif
|
|
|
|
# TLS
|
|
.if ${PORT_OPTIONS:MTLS}
|
|
CONFIGURE_ARGS+= --with-tls
|
|
# different certificate file location?
|
|
CERTFILE?= /etc/ssl/private/pure-ftpd.pem
|
|
CONFIGURE_ARGS+= --with-certfile=${CERTFILE}
|
|
.endif
|
|
|
|
# if mysql or ldap are disabled, enable pam
|
|
.if ${PORT_OPTIONS:MPAM}
|
|
CONFIGURE_ARGS+= --with-pam
|
|
.endif
|
|
|
|
# support uploadscript?
|
|
.if ${PORT_OPTIONS:MUPLOADSCRIPT}
|
|
CONFIGURE_ARGS+= --with-uploadscript
|
|
.endif
|
|
|
|
# RFC 2640 charset conversion requested?
|
|
.if ${PORT_OPTIONS:MUTF8}
|
|
USES+= iconv
|
|
CONFIGURE_ARGS+= --with-rfc2640
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSENDFILE}
|
|
CONFIGURE_ARGS+= --with-sendfile
|
|
.else
|
|
CONFIGURE_ARGS+= --without-sendfile
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MLARGEFILE}
|
|
CONFIGURE_ARGS+= --enable-largefile
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-largefile
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MVIRTUALCHROOT}
|
|
CONFIGURE_ARGS+= --with-virtualchroot
|
|
.else
|
|
CONFIGURE_ARGS+= --without-virtualchroot
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MANONRESUME}
|
|
CFLAGS+= -DANON_CAN_RESUME
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MANONRENAME}
|
|
CFLAGS+= -DANON_CAN_RENAME
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MANONDELETE}
|
|
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} "CERTFILE=/path - Custom 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|@PERL@|${PERL}|; 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 ${PORT_OPTIONS:MEXAMPLES}
|
|
@${MKDIR} ${EXAMPLESDIR}
|
|
cd ${WRKSRC}/contrib && ${INSTALL_SCRIPT} ${CONTRIB} ${EXAMPLESDIR}
|
|
${MKDIR} ${PAM_DIR}
|
|
${INSTALL_DATA} ${PAM_TEMPL} ${PAM_DIR}/${PAM_TARGET}
|
|
.endif
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
@${MKDIR} ${DOCSDIR}
|
|
. for doc in ${PORTDOCS}
|
|
${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}
|
|
. endfor
|
|
.endif
|
|
@${CAT} ${PKGMESSAGE}
|
|
|
|
.include <bsd.port.mk>
|