summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-ftp/pure-ftpd/ChangeLog12
-rw-r--r--net-ftp/pure-ftpd/files/digest-pure-ftpd-1.0.21-r13
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.conf_d40
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.rc647
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.xinetd24
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.20-r1.ebuild115
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.21-r1.ebuild120
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
+}