diff options
-rw-r--r-- | ftp/pure-ftpd/Makefile | 239 | ||||
-rw-r--r-- | ftp/pure-ftpd/pkg-descr | 16 | ||||
-rw-r--r-- | ftp/pure-ftpd/pkg-plist | 9 |
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 |