blob: d23aee0e424bffa3d4670c0e93e2f0d857b0a3ca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-ftp/proftpd/proftpd-1.2.7_rc3.ebuild,v 1.4 2002/11/23 15:31:02 blizzy Exp $
IUSE="ldap pam postgres mysql ssl tcpd"
TLS_VER="2.0.4"
WRAP_VER="1.2.3"
MY_P=${P/_/}
S=${WORKDIR}/${MY_P}
DESCRIPTION="An advanced and very configurable FTP server"
SRC_URI="ftp://ftp.proftpd.org/distrib/source/${MY_P}.tar.bz2
ssl? ( http://www.castaglia.org/proftpd/modules/proftpd-mod-tls-${TLS_VER}.tar.gz )
tcpd? ( http://www.castaglia.org/proftpd/modules/proftpd-mod-wrap-${WRAP_VER}.tar.gz )"
HOMEPAGE="http://www.proftpd.net/"
SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~x86 ~ppc ~sparc ~sparc64"
DEPEND="net-libs/libpcap
pam? ( >=sys-libs/pam-0.75 )
mysql? ( >=dev-db/mysql-3.23.26 )
ldap? ( >=net-nds/openldap-1.2.11 )
postgres? ( >=dev-db/postgresql-7.1 )
ssl? ( >=dev-libs/openssl-0.9.6f )
tcpd? ( >=sys-apps/tcp-wrappers-7.6-r3 )"
src_unpack() {
unpack ${MY_P}.tar.bz2
cd ${S}
if use ssl; then
unpack proftpd-mod-tls-${TLS_VER}.tar.gz
cp mod_tls/mod_tls.c modules
fi
if use tcpd; then
unpack proftpd-mod-wrap-${WRAP_VER}.tar.gz
cp mod_wrap/mod_wrap.c modules
fi
}
src_compile() {
local modules myconf
modules="mod_ratio:mod_readme:mod_linuxprivs"
use pam && modules="${modules}:mod_pam"
use tcpd && modules="${modules}:mod_wrap"
if use ldap; then
einfo ldap
modules="${modules}:mod_ldap"
export LDFLAGS="-lresolv"
fi
if use ssl; then
einfo ssl
# enable TLS for mod_ldap
cp contrib/mod_ldap.c contrib/mod_ldap.c.orig
sed -e "s:\/\* #define USE_LDAPV3_TLS \*\/:#define USE_LDAPV3_TLS:" \
-e "s:\/\* #define HAVE_OPENSSL \*\/:#define HAVE_OPENSSL:" \
contrib/mod_ldap.c.orig > contrib/mod_ldap.c || die "sed failed"
# enable mod_tls
modules="${modules}:mod_tls"
fi
if use mysql; then
modules="${modules}:mod_sql:mod_sql_mysql"
elif use postgres; then
modules="${modules}:mod_sql:mod_sql_postgres"
myconf="--with-includes=/usr/include/postgresql"
fi
econf \
--sbindir=/usr/sbin \
--localstatedir=/var/run \
--sysconfdir=/etc/proftpd \
--enable-shadow \
--disable-sendfile \
--enable-autoshadow \
--with-modules=${modules} \
${myconf} || die "bad ./configure"
make || die "compile problem"
}
src_install() {
# Note rundir needs to be specified to avoid sandbox violation
# on initial install. See Make.rules
einstall \
sbindir=${D}/usr/sbin \
localstatedir=${D}/var/run \
rundir=${D}/var/run/proftpd \
sysconfdir=${D}/etc/proftpd \
|| die
keepdir /home/ftp
keepdir /var/run/proftpd
dodoc contrib/README.mod_sql ${FILESDIR}/proftpd.conf \
COPYING CREDITS ChangeLog NEWS README* \
doc/{license.txt,GetConf}
dohtml doc/*.html
docinto rfc
dodoc doc/rfc/*.txt
if use ssl; then
docinto mod_tls-${TLS_VER}
dodoc mod_tls/{README,draft-murray-auth-ftp-ssl-09.txt}
dohtml mod_tls/mod_tls.html
fi
if use tcpd; then
docinto mod_wrap-${WRAP_VER}
dodoc mod_wrap/README
dohtml mod_wrap/mod_wrap.html
fi
mv ${D}/etc/proftpd/proftpd.conf ${D}/etc/proftpd/proftpd.conf.distrib
insinto /etc/proftpd
newins ${FILESDIR}/proftpd.conf proftpd.conf.sample
if use pam; then
insinto /etc/pam.d
newins ${S}/contrib/dist/rpm/ftp.pamd ftp
fi
insinto /etc/xinetd.d
newins ${FILESDIR}/proftpd.xinetd proftpd
exeinto /etc/init.d ; newexe ${FILESDIR}/proftpd.rc6 proftpd
}
pkg_postinst() {
groupadd proftpd &>/dev/null
id proftpd &>/dev/null || \
useradd -g proftpd -d /home/ftp -s /bin/false proftpd
}
|