diff options
-rw-r--r-- | net-ftp/pure-ftpd/ChangeLog | 12 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/files/digest-pure-ftpd-1.0.21-r1 | 3 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/files/pure-ftpd.conf_d | 40 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/files/pure-ftpd.rc6 | 47 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/files/pure-ftpd.xinetd | 24 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild | 115 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/pure-ftpd-1.0.21-r1.ebuild | 120 |
7 files changed, 281 insertions, 80 deletions
diff --git a/net-ftp/pure-ftpd/ChangeLog b/net-ftp/pure-ftpd/ChangeLog index 79517bb836ce..ee52ca62a632 100644 --- a/net-ftp/pure-ftpd/ChangeLog +++ b/net-ftp/pure-ftpd/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-ftp/pure-ftpd # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/ChangeLog,v 1.56 2006/09/22 11:18:42 chtekk Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/ChangeLog,v 1.57 2006/09/23 23:12:14 chtekk Exp $ + +*pure-ftpd-1.0.21-r1 (23 Sep 2006) + + 23 Sep 2006; Luca Longinotti <chtekk@gentoo.org> + -files/pure-ftpd-1.0.20-pam.patch, files/pure-ftpd.conf_d, + +files/pure-ftpd.rc6, -files/pure-ftpd.rc6-r1, files/pure-ftpd.xinetd, + pure-ftpd-1.0.20-r1.ebuild, -pure-ftpd-1.0.20-r2.ebuild, + -pure-ftpd-1.0.21.ebuild, +pure-ftpd-1.0.21-r1.ebuild: + General ebuild cleanup. Fix bugs #41097, #90528, #109647, #115799, #117936, + #122671 and #130690. 22 Sep 2006; Luca Longinotti <chtekk@gentoo.org> metadata.xml: Set myself as maintainer. diff --git a/net-ftp/pure-ftpd/files/digest-pure-ftpd-1.0.21-r1 b/net-ftp/pure-ftpd/files/digest-pure-ftpd-1.0.21-r1 new file mode 100644 index 000000000000..400607e696eb --- /dev/null +++ b/net-ftp/pure-ftpd/files/digest-pure-ftpd-1.0.21-r1 @@ -0,0 +1,3 @@ +MD5 ca8a8dbec0cd9c8ea92fc4c37ea9c410 pure-ftpd-1.0.21.tar.bz2 476117 +RMD160 1ad61243c1f8a8d1055ee839eec0d9117681cf20 pure-ftpd-1.0.21.tar.bz2 476117 +SHA256 f2f03e5bb42325b470b88e8ee7e6014226518b620beb5dd8cf1f07bcdb64559c pure-ftpd-1.0.21.tar.bz2 476117 diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.conf_d b/net-ftp/pure-ftpd/files/pure-ftpd.conf_d index 7b4b76161f65..af445062df61 100644 --- a/net-ftp/pure-ftpd/files/pure-ftpd.conf_d +++ b/net-ftp/pure-ftpd/files/pure-ftpd.conf_d @@ -5,17 +5,17 @@ #IS_CONFIGURED="yes" ## FTP Server,Port (separated by comma) ## -## If you prefer host names over IP addresses, it's your choice : +## If you prefer host names over IP addresses, it's your choice: ## SERVER="-S ftp.rtchat.com,21" ## IPv6 addresses are supported. ## !!! WARNING !!! -## Using an invalid IP will result in server not starting and reporting -## a good start. Work is being done to solve that in: -## http://bugs.gentoo.org/show_bug.cgi?id=75861 -#SERVER="-S 192.168.0.1,21" +## Using an invalid IP will result in the server not starting, +## but reporting a correct start! +## SERVER="-S 192.168.0.1,21" +## By default binds to all available IPs. SERVER="-S 21" -## Number of simultaneous connections in total, and per ip ## +## Number of simultaneous connections in total, and per IP ## MAX_CONN="-c 30" MAX_CONN_IP="-C 10" @@ -28,23 +28,35 @@ DISK_FULL="-k 90%" ## If your FTP server is behind a NAT box, uncomment this ## #USE_NAT="-N" -## Authentication (others are 'pam', ...)## -## Further infos in the README file. +## Authentication mechanisms (others are 'pam', ...) ## +## Further infos can be found in the README file. AUTH="-l unix" -## Change the maximum idle time. (in minutes. default 15) +## Change the maximum idle time (in minutes) ## +## If this variable is not defined, it will default to 15 minutes. #TIMEOUT="-I <timeout>'" -## Use that facility for syslog logging. It defaults to 'ftp' -## Logging can be disabled with '-f none' . -#LOG="-f facility" +## Facility used for syslog logging ## +## If this variable is not defined, it will default to the 'ftp' facility. +## Logging can be disabled with '-f none'. +#LOG="-f <facility>" + +## Charset conversion support *experimental* ## +## Only works if USE "charconv" is enabled (only Pure-FTPd >=1.0.21). +## Set the charset of the filesystem. +# CHARCONV="--fscharset <charset>" ## Misc. Others ## -MISC_OTHER="-A -x -j -R -B" +MISC_OTHER="-A -x -j -R -B -Z" + +## If you want to process each file uploaded through Pure-FTPd, enter the name +## of the script that should process the files below. +## man pure-uploadscript to learn more about how to write this script. +# UPLOADSCRIPT="/path/to/uploadscript" # # Use these inside $MISC_OTHER -# More can be found on "http://pureftpd.sourceforge.net/README" +# More can be found on "http://download.pureftpd.org/pub/pure-ftpd/doc/README" # # -A [ chroot() everyone, but root ] # -e [ Only allow anonymous users ] diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.rc6 b/net-ftp/pure-ftpd/files/pure-ftpd.rc6 new file mode 100644 index 000000000000..86bcae35b2ff --- /dev/null +++ b/net-ftp/pure-ftpd/files/pure-ftpd.rc6 @@ -0,0 +1,47 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/files/pure-ftpd.rc6,v 1.10 2006/09/23 23:12:14 chtekk Exp $ + +depend() { + need net +} + +checkconfig() { + if [ -z "$IS_CONFIGURED" ] ; then + eerror "You need to setup /etc/conf.d/pure-ftpd first!" + return 1 + fi +} + +start() { + checkconfig || return 1 + UPSCRIPT="" + if [ -n "$UPLOADSCRIPT" ] ; then + UPSCRIPT="--uploadscript" + fi + ebegin "Starting Pure-FTPd" + start-stop-daemon --start --quiet --make-pidfile --pidfile /var/run/pure-ftpd.pid --exec /usr/sbin/pure-ftpd -- $SERVER $MAX_CONN $MAX_CONN_IP $DAEMON $DISK_FULL $USE_NAT $AUTH $LOG $TIMEOUT $CHARCONV $MISC_OTHER $UPSCRIPT + result=$? + if [ $result -ne 0 ] ; then + eend 1 "Could not launch Pure-FTPd" + else + eend $result + if [ -n "$UPLOADSCRIPT" ] ; then + ebegin "Starting Pure-FTPd upload script" + start-stop-daemon --start --quiet --make-pidfile --pidfile /var/run/pure-uploadscript.pid --exec /usr/sbin/pure-uploadscript -- -B -r $UPLOADSCRIPT + eend $? + fi + fi +} + +stop() { + ebegin "Stopping Pure-FTPd" + start-stop-daemon --stop --retry 20 --quiet --pidfile /var/run/pure-ftpd.pid + eend $? + if [ -n "$UPLOADSCRIPT" ] ; then + ebegin "Stopping Pure-FTPd upload script" + start-stop-daemon --stop --retry 20 --quiet --pidfile /var/run/pure-uploadscript.pid + eend $? + fi +} diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.xinetd b/net-ftp/pure-ftpd/files/pure-ftpd.xinetd index 389150f19f2e..11022e6fde8d 100644 --- a/net-ftp/pure-ftpd/files/pure-ftpd.xinetd +++ b/net-ftp/pure-ftpd/files/pure-ftpd.xinetd @@ -1,13 +1,13 @@ -# default: off -# description: Pure-FTPd service example config. - -service ftp -{ - socket_type = stream - server = /usr/sbin/pure-ftpd - server_args = -s -a 42 - protocol = tcp - user = root - wait = no - disable = yes +# +# Pure-FTPd FTP daemon - http://www.pureftpd.org +# +service ftp +{ + socket_type = stream + wait = no + user = root + server = /usr/sbin/pure-ftpd + server_args = -s -a 42 + protocol = tcp + disable = yes } diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild index 4c0003f8969c..9194b79ce74e 100644 --- a/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild +++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild @@ -1,91 +1,100 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild,v 1.11 2006/07/12 15:16:24 kugelfang Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild,v 1.12 2006/09/23 23:12:14 chtekk Exp $ -inherit eutils +inherit eutils confutils -DESCRIPTION="fast, production-quality, standard-conformant FTP server" +KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86" + +DESCRIPTION="Fast, production-quality, standard-conformant FTP server." HOMEPAGE="http://www.pureftpd.org/" -SRC_URI="ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/${P}.tar.bz2" +SRC_URI="ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86" -IUSE="pam mysql postgres ldap ssl caps vchroot selinux" -DEPEND="virtual/libc - pam? ( >=sys-libs/pam-0.75 ) - mysql? ( >=dev-db/mysql-3 ) - postgres? ( >=dev-db/postgresql-7.2.2 ) - ldap? ( >=net-nds/openldap-2.0.25 ) - ssl? ( >=dev-libs/openssl-0.9.6g )" +IUSE="caps ldap mysql pam postgres selinux ssl vchroot" + +DEPEND="caps? ( sys-libs/libcap ) + ldap? ( >=net-nds/openldap-2.0.25 ) + mysql? ( >=dev-db/mysql-3 ) + pam? ( virtual/pam ) + postgres? ( >=dev-db/postgresql-7.2.2 ) + ssl? ( >=dev-libs/openssl-0.9.6g )" RDEPEND="${DEPEND} - selinux? ( sec-policy/selinux-ftpd )" + selinux? ( sec-policy/selinux-ftpd )" src_compile() { - local myconf="--with-privsep" - - use pam && myconf="${myconf} --with-pam" - use ldap && myconf="${myconf} --with-ldap" - use mysql && myconf="${myconf} --with-mysql" - use postgres && myconf="${myconf} --with-pgsql" - use ssl && myconf="${myconf} --with-tls" - use caps && myconf="${myconf} --with-capabilities" - !(use caps) && myconf="${myconf} --without-capabilities" - use vchroot && myconf="${myconf} --with-virtualchroot" - #!(use vchroot) && myconf="${myconf} --without-virtualchroot" - # adjust max user length to something more appropriate - # for virtual hosts. See bug #62472 for details. - sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" -i ${S}/src/ftpd.h + # for virtual hosts. See bug #62472 for details. + sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" -i "${S}/src/ftpd.h" || die "sed failed" + + local my_conf="" + + # Let's configure the USE-enabled stuff + enable_extension_without "capabilities" "caps" + enable_extension_with "ldap" "ldap" 0 + enable_extension_with "mysql" "mysql" 0 + enable_extension_with "pam" "pam" 0 + enable_extension_with "pgsql" "postgres" 0 + enable_extension_with "tls" "ssl" 0 + enable_extension_with "virtualchroot" "vchroot" 0 econf \ - --with-altlog --with-extauth \ - --with-puredb --with-cookie \ - --with-throttling --with-ratios \ - --with-quotas --with-ftpwho \ - --with-uploadscript --with-virtualhosts \ - --with-diraliases --with-peruserlimits \ + --with-altlog \ + --with-cookie \ + --with-diraliases \ + --with-extauth \ + --with-ftpwho \ --with-largefile \ - ${myconf} || die "econf failed" - - emake || die "compile problem" + --with-peruserlimits \ + --with-privsep \ + --with-puredb \ + --with-quotas \ + --with-ratios \ + --with-throttling \ + --with-uploadscript \ + --with-virtualhosts \ + ${my_conf} || die "econf failed" + + emake || die "emake failed" } src_install() { - einstall || die + emake DESTDIR="${D}" install || die "emake install failed" dodoc AUTHORS CONTACT ChangeLog FAQ HISTORY INSTALL README* NEWS - use pam && cp ${FILESDIR}/ftpusers ${D}/etc/ftpusers - use pam && insinto /etc/pam.d && doins pam/pure-ftpd - - dodir /etc/{conf.d,init.d} + if use pam ; then + cp -f "${FILESDIR}/ftpusers" "${D}/etc/ftpusers" + insinto /etc/pam.d + doins pam/pure-ftpd + fi - cp ${FILESDIR}/pure-ftpd.conf_d ${D}/etc/conf.d/pure-ftpd + insinto /etc/xinetd.d + newins "${FILESDIR}/pure-ftpd.xinetd" pure-ftpd - exeopts -m 0744 - exeinto /etc/init.d - newexe ${FILESDIR}/pure-ftpd.rc6-r1 pure-ftpd + newconfd "${FILESDIR}/pure-ftpd.conf_d" pure-ftpd - insopts -m 0644 - insinto /etc/xinetd.d - newins ${FILESDIR}/pure-ftpd.xinetd pure-ftpd + newinitd "${FILESDIR}/pure-ftpd.rc6" pure-ftpd if use ldap ; then dodir /etc/openldap/schema insinto /etc/openldap/schema doins pureftpd.schema insinto /etc/openldap + insopts -m 0600 doins pureftpd-ldap.conf fi } pkg_postinst() { - einfo "Before starting Pure-FTPd, you have to edit the /etc/conf.d/pure-ftpd file." - echo - ewarn "It's *really* important to read the README provided with Pure-FTPd." - ewarn "Check out - http://www.pureftpd.org/README" - ewarn "And for SSL/TLS help - http://www.pureftpd.org/README.TLS" + einfo + einfo "Before starting Pure-FTPd, you have to edit the /etc/conf.d/pure-ftpd file!" + einfo + ewarn "It's *really* important to read the README provided with Pure-FTPd!" + ewarn "Check out http://download.pureftpd.org/pub/pure-ftpd/doc/README for general info" + ewarn "and http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS for SSL/TLS info." + einfo } diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.21-r1.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.21-r1.ebuild new file mode 100644 index 000000000000..a6fbcd08b22e --- /dev/null +++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.21-r1.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/pure-ftpd-1.0.21-r1.ebuild,v 1.1 2006/09/23 23:12:14 chtekk Exp $ + +inherit eutils confutils + +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +DESCRIPTION="Fast, production-quality, standard-conformant FTP server." +HOMEPAGE="http://www.pureftpd.org/" +SRC_URI="ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" + +IUSE="caps charconv ldap mysql noiplog pam paranoidmsg postgres selinux ssl vchroot xinetd" + +DEPEND="caps? ( sys-libs/libcap ) + charconv? ( virtual/libiconv ) + ldap? ( >=net-nds/openldap-2.0.25 ) + mysql? ( >=dev-db/mysql-3 ) + pam? ( virtual/pam ) + postgres? ( >=dev-db/postgresql-7.2.2 ) + ssl? ( >=dev-libs/openssl-0.9.6g ) + xinetd? ( sys-apps/xinetd )" + +RDEPEND="${DEPEND} + net-ftp/ftpbase + selinux? ( sec-policy/selinux-ftpd )" + +src_unpack() { + unpack ${A} + + cd "${S}" + + epatch "${FILESDIR}/${P}-pam.patch" +} + +src_compile() { + # adjust max user length to something more appropriate + # for virtual hosts. See bug #62472 for details. + sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" -i "${S}/src/ftpd.h" || die "sed failed" + + local my_conf="" + + # Let's configure the USE-enabled stuff + enable_extension_without "capabilities" "caps" + enable_extension_with "rfc2640" "charconv" 0 + enable_extension_with "ldap" "ldap" 0 + enable_extension_with "mysql" "mysql" 0 + enable_extension_with "pam" "pam" 0 + enable_extension_with "paranoidmsg" "paranoidmsg" 0 + enable_extension_with "pgsql" "postgres" 0 + enable_extension_with "tls" "ssl" 0 + enable_extension_with "virtualchroot" "vchroot" 0 + enable_extension_without "inetd" "xinetd" + + # noiplog is a negative flag, we don't want that enabled by default, + # so we handle it manually, as confutils can't do that + use noiplog && my_conf="${my_conf} --without-iplogging" + + econf \ + --with-altlog \ + --with-cookie \ + --with-diraliases \ + --with-extauth \ + --with-ftpwho \ + --with-language=${PUREFTPD_LANG:=english} \ + --with-largefile \ + --with-peruserlimits \ + --with-privsep \ + --with-puredb \ + --with-quotas \ + --with-ratios \ + --with-throttling \ + --with-uploadscript \ + --with-virtualhosts \ + ${my_conf} || die "econf failed" + + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + + dodoc AUTHORS CONTACT ChangeLog FAQ HISTORY INSTALL README* NEWS + + newconfd "${FILESDIR}/pure-ftpd.conf_d" pure-ftpd + + newinitd "${FILESDIR}/pure-ftpd.rc6" pure-ftpd + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}/pure-ftpd.xinetd" pure-ftpd + fi + + if use ldap ; then + dodir /etc/openldap/schema + insinto /etc/openldap/schema + doins pureftpd.schema + insinto /etc/openldap + insopts -m 0600 + doins pureftpd-ldap.conf + fi +} + +pkg_postinst() { + einfo + einfo "Before starting Pure-FTPd, you have to edit the /etc/conf.d/pure-ftpd file!" + einfo + ewarn "It's *really* important to read the README provided with Pure-FTPd!" + ewarn "Check out http://download.pureftpd.org/pub/pure-ftpd/doc/README for general info" + ewarn "and http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS for SSL/TLS info." + einfo + if use charconv ; then + ewarn "Charset conversion is an *experimental* feature!" + ewarn "Remember to set a valid charset for your filesystem in the configuration!" + einfo + fi +} |