Magellan Linux

Contents of /trunk/extras/proftpd/proftpd-1.3.3-r7.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5085 - (show annotations) (download)
Thu Mar 4 13:39:01 2010 UTC (14 years, 2 months ago) by niro
File size: 7426 byte(s)
-rev bump to -r7; more tls fixes and use 'openssl-make-cert' from openssl package
1 # $Id$
2
3 PNAME="proftpd"
4 PVER="1.3.3"
5 PBUILD="r7"
6
7 PCATEGORIE="net-ftp"
8 STATE="unstable"
9
10 #DESCRIPTION="Highly configurable GPL-licensed FTP server software."
11 HOMEPAGE="http://proftpd.org/"
12
13 SDEPEND=">= sys-libs/ncurses-5.7
14 >= sys-libs/pam-1.1
15 >= sys-libs/libcap-2.17
16 >= dev-libs/openssl-0.9.8k
17 >= sys-apps/tcp-wrappers-7.6
18 >= sys-apps/acl-2.2
19 >= sys-apps/attr-2.4
20 >= net-nds/openldap-2.4.19
21 >= dev-db/mysql5-5.1.40
22 >= sys-dev/gettext-0.17"
23
24 SRCFILE="${PNAME}-${PVER}.tar.bz2"
25 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
26
27 SPLIT_PACKAGES="${PNAME} ${PNAME}-mysql ${PNAME}-ldap"
28
29 MODULES_CVS_REV=1.5
30 RC_CVS_REV=1.4
31
32 sminclude mbuild mtools cleanutils
33
34 SRC_URI=(
35 ftp://ftp.proftpd.org/distrib/source/${SRCFILE}
36 mirror://${PNAME}/${SRCFILE}
37 mirror://${PNAME}/${PNAME}-${PVER}-config.patch
38 mirror://${PNAME}/${PNAME}-${PVER}-config-pam.patch
39 mirror://${PNAME}/${PNAME}-${PVER}-config-tls.patch
40 mirror://${PNAME}/${PNAME}-${PVER}-config-tls-cosmetic.patch
41 mirror://${PNAME}/${PNAME}-${PVER}-config-tls-make-cert.patch
42 mirror://${PNAME}/${PNAME}-${PVER}-config-tls-fixup.patch
43 mirror://${PNAME}/${PNAME}-${PVER}-config-ban.patch
44 mirror://${PNAME}/${PNAME}-${PVER}-config-ldap.patch
45 mirror://${PNAME}/${PNAME}-${PVER}-config-anonymous.patch
46 mirror://${PNAME}/${PNAME}-${PVER}-config-caps.patch
47 mirror://${PNAME}/${PNAME}-1.3.0a-cracklib.patch
48 mirror://${PNAME}/ftpusers
49 mirror://${PNAME}/modules.conf-${MODULES_CVS_REV}
50 mirror://${PNAME}/proftpd.rc-${RC_CVS_REV}
51 mirror://${PNAME}/proftpd.confd
52 mirror://${PNAME}/proftpd.pam
53 mirror://${PNAME}/proftpd.logrotate
54 )
55
56 UP2DATE="updatecmd -listonly ftp://ftp.proftpd.org/distrib/source/ | grep -v 'rc[0-9]' | lasttarball"
57
58 split_info_proftpd()
59 {
60 DESCRIPTION="Highly configurable GPL-licensed FTP server software."
61 DEPEND=">= sys-libs/ncurses-5.7
62 >= sys-libs/pam-1.1
63 >= sys-libs/libcap-2.17
64 >= dev-libs/openssl-0.9.8k
65 >= sys-apps/tcp-wrappers-7.6
66 >= sys-apps/acl-2.2
67 >= sys-apps/attr-2.4"
68
69 preinstall()
70 {
71 # adding proftpd user
72 ${MLIBDIR}/mgroupadd -o "-g 82" proftpd
73 ${MLIBDIR}/museradd -o "-u 82 -g proftpd -d /dev/null -s /bin/false" proftpd
74
75 ${MLIBDIR}/mgroupadd -o "-g 21" ftp
76 ${MLIBDIR}/museradd -o "-u 21 -g ftp -d /home/ftp -s /bin/false" ftp
77
78 if [ ! -d ${MROOT}/home/ftp ]
79 then
80 # proftpd won't run if this dir is writeable
81 install -o root -g root -d ${MROOT}/home/ftp
82 fi
83 }
84
85 postinstall()
86 {
87 mstartservice proftpd
88 }
89
90 postremove()
91 {
92 mstopservice proftpd
93 }
94 }
95
96 split_info_proftpd-mysql()
97 {
98 DESCRIPTION="Module to add MySQL support to the ProFTPD FTP server."
99 DEPEND="== net-ftp/proftpd-${PVER}
100 >= dev-db/mysql5-5.1.40"
101 }
102
103 split_info_proftpd-ldap()
104 {
105 DESCRIPTION="Module to add LDAP support to the ProFTPD FTP server."
106 DEPEND="== net-ftp/proftpd-${PVER}
107 >= net-nds/openldap-2.4.19"
108 }
109
110 src_prepare()
111 {
112 munpack ${SRCFILE} || die
113 cd ${SRCDIR}
114
115 # adjust configs to match magellan
116 mpatch ${PNAME}-${PVER}-config.patch || die
117
118 # enable pam support
119 mpatch ${PNAME}-${PVER}-config-pam.patch || die
120
121 # enable tls support
122 mpatch ${PNAME}-${PVER}-config-tls.patch || die
123
124 # fix tls description
125 mpatch ${PNAME}-${PVER}-config-tls-cosmetic.patch || die
126
127 # use our provided make-cert script from openssl
128 mpatch ${PNAME}-${PVER}-config-tls-make-cert.patch || die
129
130 # add hint about NoSessionReuseRequired
131 mpatch ${PNAME}-${PVER}-config-tls-fixup.patch || die
132
133 # enable ban-list support
134 mpatch ${PNAME}-${PVER}-config-ban.patch || die
135
136 # enable ldap support
137 mpatch ${PNAME}-${PVER}-config-ldap.patch || die
138
139 # enable anonymous support
140 mpatch ${PNAME}-${PVER}-config-anonymous.patch || die
141
142 # hint to disable caps support on vserver
143 mpatch ${PNAME}-${PVER}-config-caps.patch || die
144
145 # fix cracklib location in ftpasswd
146 mpatch ${PNAME}-1.3.0a-cracklib.patch || die
147 }
148
149 src_compile()
150 {
151 cd ${SRCDIR}
152
153 # ToDO: postgres
154 # the modules.conf must be fixed to
155 # LoadModule mod_sql_postgres.c
156
157 # new: mod_ban, mod_lang, mod_quotatab_radius, mod_wrap2, mod_wrap2_file, mod_wrap2_sql
158 # mod_facl, mod_ldap, mod_load, mod_sql, mod_sql_passwd, mod_sql_mysql, mod_sftp, mod_sftp_pam,
159 # mod_sftp_sql, mod_quotatab_ldap, mod_quotatab_radius, mod_quotatab_sql, mod_tls_shmchache
160
161 local dso_modules="mod_ratio:mod_radius:mod_rewrite:mod_tls:mod_wrap:mod_quotatab"
162 dso_modules+=":mod_quotatab_file:mod_site_misc:mod_ctrls_admin"
163
164 # the new ones
165 dso_modules+=":mod_ban:mod_wrap2:mod_wrap2_file"
166 dso_modules+=":mod_sftp:mod_sftp_pam:mod_shaper"
167 dso_modules+=":mod_quotatab_radius:mod_tls_shmcache:mod_load"
168
169 # mysql
170 dso_modules+=":mod_sql:mod_sql_passwd:mod_sql_mysql:mod_sftp_sql:mod_quotatab_sql"
171
172 # ldap
173 dso_modules+=":mod_ldap:mod_quotatab_ldap"
174
175 # acl
176 dso_modules+=":mod_facl"
177
178 # must be the last one, see: http://www16.de.proftpd.org/docs/contrib/mod_ifsession.html#Installation
179 dso_modules+=":mod_ifsession"
180
181 # non shared modules
182 local modules="mod_auth_pam:mod_readme"
183
184 mconfigure \
185 --sysconfdir=/etc/proftpd \
186 --localstatedir=/var/run/proftpd \
187 --libexecdir=/usr/$(mlibdir)/proftpd \
188 --enable-shadow \
189 --enable-autoshadow \
190 --enable-auth-pam \
191 --enable-nls \
192 --enable-ncurses \
193 --enable-shadow \
194 --enable-autoshadow \
195 --enable-sendfile \
196 --enable-ctrls \
197 --enable-dso \
198 --enable-ipv6 \
199 --enable-openssl \
200 --with-includes=/usr/include/openssl \
201 --with-includes=/usr/include/mysql \
202 --enable-cap \
203 --enable-facl \
204 --enable-auth-file \
205 --with-modules=${modules} \
206 --with-shared=${dso_modules} \
207 || die
208
209 mmake -j1 || die
210 }
211
212 src_install_proftpd()
213 {
214 cd ${SRCDIR}
215 mmake DESTDIR=${BINDIR} install || die
216
217 # install ftpuser blacklist
218 minstalletc ftpusers || die
219
220 # install modules.conf
221 minstallfile -s modules.conf-${MODULES_CVS_REV} /etc/proftpd/modules.conf || die
222 sed -i "s:@@modulepath@@:/usr/$(mlibdir)/proftpd:g" \
223 ${BINDIR}/etc/proftpd/modules.conf || die
224
225 # install pam config
226 minstallpam proftpd.pam proftpd || die
227
228 # install initscript
229 minstallrc proftpd.rc-${RC_CVS_REV} proftpd || die
230
231 # install rc config
232 minstallconf proftpd.confd proftpd || die
233
234 # install logrotate config
235 minstalllog proftpd.logrotate proftpd || die
236
237 mkeepdir /var/run/proftpd || die
238 mkeepdir /var/log/proftpd || die
239
240 minstalldocs ChangeLog COPYING CREDITS NEWS README* RELEASE_NOTES || die
241 minstalldocs doc/license.txt sample-configurations/*.conf || die
242
243 # remove modules packaged in other split-packages
244 rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_ldap.{a,la,so} || die
245 rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_quotatab_ldap.{a,la,so} || die
246 rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_sql.{a,la,so} || die
247 rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_sql_mysql.{a,la,so} || die
248 rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_sql_passwd.{a,la,so} || die
249 rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_quotatab_sql.{a,la,so} || die
250 rm ${BINDIR}/usr/$(mlibdir)/proftpd/mod_sftp_sql.{a,la,so} || die
251 }
252
253 src_install_proftpd-mysql()
254 {
255 cd ${SRCDIR}
256 mmake DESTDIR=${BINDIR} install-modules || die
257
258 # remove all other modules but mysql
259 zapmost ${BINDIR}/usr/$(mlibdir)/proftpd \
260 mod_quotatab_ldap.* \
261 mod_sql.* \
262 mod_sql_mysql.* \
263 mod_sql_passwd.* \
264 mod_quotatab_sql.* \
265 mod_sftp_sql.* \
266 || die
267 rm -r ${BINDIR}/etc || die
268 }
269
270 src_install_proftpd-ldap()
271 {
272 cd ${SRCDIR}
273 mmake DESTDIR=${BINDIR} install-modules || die
274
275 # remove all other modules but ldap
276 zapmost ${BINDIR}/usr/$(mlibdir)/proftpd mod_ldap.* || die
277 rm -r ${BINDIR}/etc || die
278 }

Properties

Name Value
svn:keywords Id