/[gentoo-x86]/net-ftp/proftpd/proftpd-1.3.4b.ebuild
Gentoo

Contents of /net-ftp/proftpd/proftpd-1.3.4b.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Wed Sep 19 08:27:54 2012 UTC (8 months, 4 weeks ago) by voyageur
Branch: MAIN
CVS Tags: HEAD
Version bump, fixes bug #422941 (fbsd-9.0 support). Add multilib inherit where needed

(Portage version: 2.2.0_alpha129/cvs/Linux x86_64)

1 voyageur 1.1 # Copyright 1999-2012 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3     # $Header: $
4    
5     EAPI=4
6     inherit eutils multilib
7    
8     MOD_CASE="0.7"
9     MOD_CLAMAV="0.11rc"
10     MOD_DISKUSE="0.9"
11     MOD_GSS="1.3.3"
12     MOD_VROOT="0.9.2"
13    
14     DESCRIPTION="An advanced and very configurable FTP server."
15     HOMEPAGE="http://www.proftpd.org/
16     http://www.castaglia.org/proftpd/
17     http://www.thrallingpenguin.com/resources/mod_clamav.htm
18     http://gssmod.sourceforge.net/"
19     SRC_URI="ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.gz
20     case? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-case-${MOD_CASE}.tar.gz )
21     clamav? ( https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-${MOD_CLAMAV}.tar.gz )
22     diskuse? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-diskuse-${MOD_DISKUSE}.tar.gz )
23     kerberos? ( mirror://sourceforge/gssmod/mod_gss-${MOD_GSS}.tar.gz )
24     vroot? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-vroot-${MOD_VROOT}.tar.gz )"
25     LICENSE="GPL-2"
26    
27     SLOT="0"
28     KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
29     IUSE="acl authfile ban +caps case clamav copy ctrls deflate diskuse doc dso exec ifsession ifversion ident ipv6
30     kerberos ldap linguas_bg_BG linguas_en_US linguas_fr_FR linguas_it_IT linguas_ja_JP linguas_ko_KR
31     linguas_ru_RU linguas_zh_CN linguas_zh_TW memcache mysql ncurses nls openssl pam +pcre postgres qos radius
32     ratio readme rewrite selinux sftp shaper sitemisc softquota sqlite ssl tcpd test trace vroot xinetd"
33     REQUIRED_USE="ban? ( ctrls )
34     sftp? ( openssl )
35     shaper? ( ctrls )
36     ssl? ( openssl )"
37    
38     CDEPEND="acl? ( virtual/acl )
39     caps? ( sys-libs/libcap )
40     clamav? ( app-antivirus/clamav )
41     kerberos? ( virtual/krb5 )
42     ldap? ( net-nds/openldap )
43     memcache? ( >=dev-libs/libmemcached-0.41 )
44     mysql? ( virtual/mysql )
45     nls? ( virtual/libiconv )
46     ncurses? ( sys-libs/ncurses )
47     openssl? ( dev-libs/openssl )
48     pam? ( virtual/pam )
49     pcre? ( dev-libs/libpcre )
50     postgres? ( dev-db/postgresql-base )
51     sqlite? ( dev-db/sqlite:3 )
52     xinetd? ( virtual/inetd )"
53     DEPEND="${CDEPEND}
54     test? ( dev-libs/check )"
55     RDEPEND="${CDEPEND}
56     net-ftp/ftpbase
57     selinux? ( sec-policy/selinux-ftp )"
58    
59     S="${WORKDIR}/${P/_/}"
60    
61     __prepare_module() {
62     mv "${WORKDIR}"/$1/$1.c contrib
63     mv "${WORKDIR}"/$1/$1.html doc/contrib
64     rm -r "${WORKDIR}"/$1
65     }
66    
67     src_prepare() {
68     # Skip 'install-conf' / Support LINGUAS
69     sed -i -e "/install-all/s/ install-conf//" Makefile.in
70     sed -i -e "s/^LANGS=.*$/LANGS=${LINGUAS}/" locale/Makefile.in
71    
72     # Prepare external modules
73     use case && __prepare_module mod_case
74     if use clamav ; then
75     mv "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}/mod_clamav.{c,h} contrib
76     epatch "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}/${PN}.patch
77     rm -r "${WORKDIR}"/mod_clamav-${MOD_CLAMAV}
78     fi
79     use vroot && __prepare_module mod_vroot
80    
81     # Fix Gentoo Bug #422941 / ProFTPD Bug #3795
82     epatch "${FILESDIR}"/${P}-ubug-3795.patch
83    
84     # Prepare external kerberos module
85     if use kerberos ; then
86     cd "${WORKDIR}"/mod_gss-${MOD_GSS}
87    
88     # Support app-crypt/heimdal / Gentoo Bug #284853
89     sed -i -e "s/krb5_principal2principalname/_\0/" mod_auth_gss.c.in
90    
91     # Remove obsolete DES / Gentoo Bug #324903
92     # Replace 'rpm' lookups / Gentoo Bug #391021
93     sed -i -e "/ac_gss_libs/s/ -ldes425//" \
94     -e "s/ac_libdir=\`rpm -q -l.*$/ac_libdir=\/usr\/$(get_libdir)\//" \
95     -e "s/ac_includedir=\`rpm -q -l.*$/ac_includedir=\/usr\/include\//" configure{,.in}
96     fi
97     }
98    
99     src_configure() {
100     local c m
101    
102     use acl && m="${m}:mod_facl"
103     use ban && m="${m}:mod_ban"
104     use case && m="${m}:mod_case"
105     use clamav && m="${m}:mod_clamav"
106     use copy && m="${m}:mod_copy"
107     use ctrls && m="${m}:mod_ctrls_admin"
108     use deflate && m="${m}:mod_deflate"
109     if use diskuse ; then
110     cd "${WORKDIR}"/mod_diskuse
111     econf
112     mv mod_diskuse.{c,h} "${S}"/contrib
113     mv mod_diskuse.html "${S}"/doc/contrib
114     cd "${S}"
115     rm -r "${WORKDIR}"/mod_diskuse
116     m="${m}:mod_diskuse"
117     fi
118     use exec && m="${m}:mod_exec"
119     use ifsession && m="${m}:mod_ifsession"
120     use ifversion && m="${m}:mod_ifversion"
121     if use kerberos ; then
122     cd "${WORKDIR}"/mod_gss-${MOD_GSS}
123     if has_version app-crypt/mit-krb5 ; then
124     econf --enable-mit
125     else
126     econf --enable-heimdal
127     fi
128     mv mod_{auth_gss,gss}.c "${S}"/contrib
129     mv mod_gss.h "${S}"/include
130     mv README.mod_{auth_gss,gss} "${S}"
131     mv mod_gss.html "${S}"/doc/contrib
132     mv rfc{1509,2228}.txt "${S}"/doc/rfc
133     cd "${S}"
134     rm -r "${WORKDIR}"/mod_gss-${MOD_GSS}
135     m="${m}:mod_gss:mod_auth_gss"
136     fi
137     use ldap && m="${m}:mod_ldap"
138     if use mysql || use postgres || use sqlite ; then
139     m="${m}:mod_sql:mod_sql_passwd"
140     use mysql && m="${m}:mod_sql_mysql"
141     use postgres && m="${m}:mod_sql_postgres"
142     use sqlite && m="${m}:mod_sql_sqlite"
143     fi
144     use qos && m="${m}:mod_qos"
145     use radius && m="${m}:mod_radius"
146     use ratio && m="${m}:mod_ratio"
147     use readme && m="${m}:mod_readme"
148     use rewrite && m="${m}:mod_rewrite"
149     if use sftp ; then
150     m="${m}:mod_sftp"
151     use pam && m="${m}:mod_sftp_pam"
152     use mysql || use postgres || use sqlite && m="${m}:mod_sftp_sql"
153     fi
154     use shaper && m="${m}:mod_shaper"
155     use sitemisc && m="${m}:mod_site_misc"
156     if use softquota ; then
157     m="${m}:mod_quotatab:mod_quotatab_file"
158     use ldap && m="${m}:mod_quotatab_ldap"
159     use radius && m="${m}:mod_quotatab_radius"
160     use mysql || use postgres || use sqlite && m="${m}:mod_quotatab_sql"
161     fi
162     if use ssl ; then
163     m="${m}:mod_tls:mod_tls_shmcache"
164     use memcache && m="${m}:mod_tls_memcache"
165     fi
166     if use tcpd ; then
167     m="${m}:mod_wrap2:mod_wrap2_file"
168     use mysql || use postgres || use sqlite && m="${m}:mod_wrap2_sql"
169     fi
170     use vroot && m="${m}:mod_vroot"
171    
172     [ -z ${m} ] || c="${c} --with-modules=${m:1}"
173     econf --localstatedir=/var/run/proftpd --sysconfdir=/etc/proftpd --disable-strip \
174     $(use_enable acl facl) \
175     $(use_enable authfile auth-file) \
176     $(use_enable caps cap) \
177     $(use_enable ctrls) \
178     $(use_enable dso) \
179     $(use_enable ident) \
180     $(use_enable ipv6) \
181     $(use_enable memcache) \
182     $(use_enable ncurses) \
183     $(use_enable nls) \
184     $(use_enable openssl) \
185     $(use_enable pam auth-pam) \
186     $(use_enable pcre) \
187     $(use_enable test tests) \
188     $(use_enable trace) \
189     $(use_enable userland_GNU shadow) \
190     $(use_enable userland_GNU autoshadow) \
191     ${c:1}
192     }
193    
194     src_test() {
195     emake api-tests -C tests
196     }
197    
198     src_install() {
199     default
200     [ -z ${LINGUAS} ] && rm -r "${ED}"/usr/share/locale
201     newinitd "${FILESDIR}"/proftpd.initd proftpd
202     insinto /etc/proftpd
203     doins "${FILESDIR}"/proftpd.conf.sample
204    
205     if use xinetd ; then
206     insinto /etc/xinetd.d
207     newins "${FILESDIR}"/proftpd.xinetd proftpd
208     fi
209    
210     dodoc ChangeLog CREDITS INSTALL NEWS README* RELEASE_NOTES
211     if use doc ; then
212     dohtml doc/*.html doc/contrib/*.html doc/howto/*.html doc/modules/*.html
213     docinto rfc
214     dodoc doc/rfc/*.txt
215     fi
216     }
217    
218     pkg_postinst() {
219     if use tcpd ; then
220     ewarn
221     ewarn "Important: Since ProFTPD 1.3.4rc2 the module mod_wrap for TCP Wrapper"
222     ewarn "support has been replaced by mod_wrap2 which is more configurable and"
223     ewarn "portable. But you have to adjust your configuration before restaring"
224     ewarn "ProFTPD. On the following website you can find more information:"
225     ewarn " http://proftpd.org/docs/contrib/mod_wrap2.html"
226     ewarn
227     fi
228     }

  ViewVC Help
Powered by ViewVC 1.1.20