aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ftp/pure-ftpd/Makefile239
-rw-r--r--ftp/pure-ftpd/pkg-descr16
-rw-r--r--ftp/pure-ftpd/pkg-plist9
3 files changed, 98 insertions, 166 deletions
diff --git a/ftp/pure-ftpd/Makefile b/ftp/pure-ftpd/Makefile
index a44e24a139f6..2ff3d7d9957c 100644
--- a/ftp/pure-ftpd/Makefile
+++ b/ftp/pure-ftpd/Makefile
@@ -11,182 +11,105 @@ MASTER_SITES= http://download.pureftpd.org/pub/pure-ftpd/releases/ \
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Small, easy to set up, fast, and secure FTP server
+LICENSE= ISCL
+
+OPTIONS_DEFINE= ANONDELETE ANONRENAME ANONRESUME DOCS EXAMPLES LARGEFILE LDAP \
+ MYSQL PAM PERUSERLIMITS PGSQL PRIVSEP SENDFILE THROTTLING TLS \
+ UPLOADSCRIPT UTF8 VIRTUALCHROOT
+OPTIONS_DEFAULT=PAM PRIVSEP SENDFILE VIRTUALCHROOT
+ANONDELETE_DESC= Allow anonymous user to delete files
+ANONRENAME_DESC= Allow anonymous user to rename files
+ANONRESUME_DESC= Allow anonymous user to resume file upload
+LARGEFILE_DESC= 2GB+ file download
+LDAP_DESC= User accounts in LDAP directories
+MYSQL_DESC= User accounts in MySQL database
+PAM_DESC= PAM authentication
+PGSQL_DESC= User accounts in PostgreSQL database
+PERUSERLIMITS_DESC= Per-user concurrency limits
+PRIVSEP_DESC= Privilege separation (recommended)
+SENDFILE_DESC= Sendfile syscall
+THROTTLING_DESC= Bandwidth throttling
+UPLOADSCRIPT_DESC= Uploadscript daemon support
+UTF8_DESC= UTF-8 filenames
+VIRTUALCHROOT_DESC= Follow symlinks outside a chroot jail
+
+CONFIGURE_ARGS= --localstatedir=/var --sysconfdir=${PREFIX}/etc \
+ --with-everything --with-ftpwho --with-language=${LANG} \
+ --with-paranoidmsg
+GNU_CONFIGURE= yes
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
+USES= perl5 shebangfix
-# 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
+PORTDOCS= AUTHORS CONTACT COPYING HISTORY NEWS README \
+ README.Authentication-Modules README.Configuration-File \
+ README.Contrib README.LDAP README.MySQL README.PGSQL \
+ README.TLS README.Virtual-Users THANKS pure-ftpd.png \
+ pureftpd.schema
+PORTEXAMPLES= *
-.if ${PORT_OPTIONS:MANONRENAME}
-CFLAGS+= -DANON_CAN_RENAME
-.endif
+SHEBANG_FILES= contrib/pure-stat.pl contrib/pure-vpopauth.pl
-.if ${PORT_OPTIONS:MANONDELETE}
-CFLAGS+= -DANON_CAN_DELETE
-.endif
-PAM_TEMPL?= ${FILESDIR}/pam.conf.5
+CONTRIB= pure-stat.pl pure-vpopauth.pl xml_python_processors.txt
+LANG?= english
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
+PAM_TEMPL?= ${FILESDIR}/pam.conf.5
+TLS_CERTFILE?= /etc/ssl/private/pure-ftpd.pem
+
+ANONDELETE_CFLAGS= -DANON_CAN_DELETE
+ANONRENAME_CFLAGS= -DANON_CAN_RENAME
+ANONRESUME_CFLAGS= -DANON_CAN_RESUME
+LARGEFILE_CONFIGURE_ENABLE= largefile
+LDAP_CONFIGURE_WITH= ldap
+LDAP_USE= OPENLDAP=yes
+MYSQL_CONFIGURE_WITH= mysql
+MYSQL_USE= MYSQL=yes
+PAM_CONFIGURE_WITH= pam
+PERUSERLIMITS_CONFIGURE_WITH= peruserlimits
+PGSQL_CONFIGURE_WITH= pgsql
+PGSQL_USE= PGSQL=yes
+PRIVSEP_CONFIGURE_WITH= privsep
+SENDFILE_CONFIGURE_WITH=sendfile
+THROTTLING_CONFIGURE_WITH= throttling
+TLS_CONFIGURE_ON= --with-certfile=${TLS_CERTFILE}
+TLS_CONFIGURE_WITH= tls
+UPLOADSCRIPT_CONFIGURE_WITH= uploadscript
+UTF8_CONFIGURE_WITH= rfc2640
+UTF8_USES= iconv
+VIRTUALCHROOT_CONFIGURE_WITH= virtualchroot
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} ""
+ @${ECHO_MSG} "LANG=lang (default: english)"
+ @${ECHO_MSG} "- Enable compilation of one language support"
+ @${ECHO_MSG} " available lang: brazilian-portuguese, catalan, czech, danish, dutch,"
+ @${ECHO_MSG} " english, french, french-funny, german, hungarian, italian, korean,"
+ @${ECHO_MSG} " norwegian, polish, romanian, russian, simplified-chinese, slovak,"
+ @${ECHO_MSG} " spanish, swedish, traditional-chinese, turkish"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "TLS_CERTFILE=/path/to/file (default: /etc/ssl/private/pure-ftpd.pem)"
+ @${ECHO_MSG} "- Custom location of certificate file for TLS"
@${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}
+ ${INSTALL_DATA} ${WRKSRC}/pureftpd-ldap.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-ldap.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/pureftpd-mysql.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-mysql.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/pureftpd-pgsql.conf ${STAGEDIR}${PREFIX}/etc/pureftpd-pgsql.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/configuration-file/pure-ftpd.conf ${STAGEDIR}${PREFIX}/etc/pure-ftpd.conf.sample
+ ${INSTALL_SCRIPT} ${WRKSRC}/configuration-file/pure-config.pl ${STAGEDIR}${PREFIX}/sbin/
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}/
+ cd ${WRKSRC}/ && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
+ cd ${WRKSRC}/contrib/ && ${INSTALL_SCRIPT} ${CONTRIB} ${STAGEDIR}${EXAMPLESDIR}/
+ ${MKDIR} ${STAGEDIR}${PAM_DIR}/
+ ${INSTALL_DATA} ${PAM_TEMPL} ${STAGEDIR}${PAM_DIR}/${PAM_TARGET}
.include <bsd.port.mk>
diff --git a/ftp/pure-ftpd/pkg-descr b/ftp/pure-ftpd/pkg-descr
index ac4caa83841a..7ca3f8e540e9 100644
--- a/ftp/pure-ftpd/pkg-descr
+++ b/ftp/pure-ftpd/pkg-descr
@@ -1,15 +1,15 @@
-Pure-FTPd is a fast, production-quality, standard-conformant FTP server,
-based upon Troll-FTPd.
+Pure-FTPd is a fast, production-quality, standard-conformant FTP server, based
+upon Troll-FTPd.
Unlike other popular FTP servers, it's designed to be secure in default
-configuration, has no known buffer overflow, it is really trivial to set up
-and it is especially designed for modern kernels.
+configuration, has no known buffer overflow, it is really trivial to set up and
+it is especially designed for modern kernels.
Features include PAM support, IPv6, chroot()ed home directories, virtual
domains, built-in 'ls', anti-warez system, configurable ports for passive
-downloads, FXP protocol, bandwidth throttling, ratios, LDAP, customizable
-SQL, fortune files, Apache-like log files, fast standalone mode, text / HTML
-/ XML real-time status report, virtual users, virtual quotas, privilege
-separation and more.
+downloads, FXP protocol, bandwidth throttling, ratios, LDAP, customizable SQL,
+fortune files, Apache-like log files, fast standalone mode, text / HTML / XML
+real-time status report, virtual users, virtual quotas, privilege separation and
+more.
WWW: http://www.pureftpd.org/
diff --git a/ftp/pure-ftpd/pkg-plist b/ftp/pure-ftpd/pkg-plist
index ded9690df189..4d04ae8d4813 100644
--- a/ftp/pure-ftpd/pkg-plist
+++ b/ftp/pure-ftpd/pkg-plist
@@ -5,6 +5,15 @@ etc/pure-ftpd.conf.sample
etc/pureftpd-ldap.conf.sample
etc/pureftpd-mysql.conf.sample
etc/pureftpd-pgsql.conf.sample
+man/man8/pure-authd.8.gz
+man/man8/pure-ftpd.8.gz
+man/man8/pure-ftpwho.8.gz
+man/man8/pure-mrtginfo.8.gz
+man/man8/pure-pw.8.gz
+man/man8/pure-pwconvert.8.gz
+man/man8/pure-quotacheck.8.gz
+man/man8/pure-statsdecode.8.gz
+man/man8/pure-uploadscript.8.gz
sbin/pure-authd
sbin/pure-config.pl
sbin/pure-ftpd