2 # - why main and -common package descriptions are same?
5 %bcond_without pam # disable PAM support
6 %bcond_without ipv6 # disable IPv6 and TCPD support
7 %bcond_without ssl # disbale TLS/SSL support
8 %bcond_with ldap # enable LDAP support
9 %bcond_with mysql # enable MySQL support
10 %bcond_with pgsql # enable PostgreSQL support
11 %bcond_with quotafile # enable quota file support
12 %bcond_with quotaldap # enable quota ldap support
13 %bcond_with quotamysql # enable quota mysql support
14 %bcond_with quotapgsql # enable quota pgsql support
15 %bcond_with linuxprivs # enable libcap support
17 Summary: PROfessional FTP Daemon with apache-like configuration syntax
18 Summary(es): Servidor FTP profesional, con sintaxis de configuración semejante a la del apache
19 Summary(pl): PROfesionalny serwer FTP
20 Summary(pt_BR): Servidor FTP profissional, com sintaxe de configuração semelhante à do apache
21 Summary(zh_CN): Ò×ÓÚ¹ÜÀíµÄ,°²È«µÄ FTP ·þÎñÆ÷
28 Source0: ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}.tar.bz2
29 # Source0-md5: 5feb4a7348e12faefc25e34fd92efdd6
31 Source2: %{name}.logrotate
33 Source4: %{name}.inetd
34 Source5: %{name}.sysconfig
36 Source7: ftpusers.tar.bz2
37 # Source7-md5: 76c80b6ec9f4d079a1e27316edddbe16
38 Source8: http://www.castaglia.org/proftpd/modules/proftpd-mod-shaper-0.5.5.tar.gz
39 # Source8-md5: ca3d63ffbc6ad5b6a9063f79b36d1b55
40 Patch0: %{name}-umode_t.patch
41 Patch1: %{name}-glibc.patch
42 Patch2: %{name}-paths.patch
43 Patch3: %{name}-noautopriv.patch
44 Patch4: %{name}-wtmp.patch
45 Patch5: %{name}-sendfile64.patch
46 Patch6: %{name}-CAN-2005-2390.patch
47 URL: http://www.proftpd.org/
48 BuildRequires: autoconf
49 BuildRequires: automake
50 BuildRequires: libwrap-devel
51 %{?with_mysql:BuildRequires: mysql-devel}
52 %{?with_quotamysql:BuildRequires: mysql-devel}
53 BuildRequires: ncurses-devel
54 %{?with_ldap:BuildRequires: openldap-devel}
55 %{?with_quotaldap:BuildRequires: openldap-devel}
56 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
57 %{?with_pam:BuildRequires: pam-devel}
58 %{?with_pgsql:BuildRequires: postgresql-devel}
59 %{?with_quotapgsql:BuildRequires: postgresql-devel}
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 %define _sysconfdir /etc/ftpd
63 %define _localstatedir /var/run
66 ProFTPD is a highly configurable FTP daemon for unix and unix-like
67 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
68 replacement for wu-ftpd. Full online documentation is available at
69 <http://www.proftpd.org/>, including a server configuration directive
72 This package also includes mod_shaper module from
73 <http://www.castaglia.org/proftpd/>
76 ProFTPD es un servidor FTP altamente configurable para sistemas
77 operativos unix. Está proyectado para ser un substituto directo al
78 wu-ftpd. La documentación completa está disponible en
79 <http://www.proftpd.org/>, incluido el manual de referencia para las
80 directivas de configuración del servidor.
83 ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
84 ProFTPD jest robiony jako bezpo¶redni zamiennik wu-ftpd. Pe³na
85 dokumentacja jest dostêpna on-line pod <http://www.proftpd.org/>
86 w³±cznie z dokumentacj± dotycz±c± konfigurowania.
89 O ProFTPD é um servidor FTP altamente configurável para sistemas
92 É projetado para ser um substituto direto para o wu-ftpd. A
93 documentação completa está disponível em <http://www.proftpd.org/>,
94 incluindo o manual de referência para as diretivas de configuração do
98 Summary: PROfessional FTP Daemon with apache-like configuration syntax - common files
99 Summary(pl): PROfesionalny serwer FTP - wspólne pliki
102 Requires(post): fileutils
104 %{?with_pam:Requires: pam >= 0.79.0}
105 Obsoletes: proftpd < 0:1.2.2rc1-3
108 ProFTPD is a highly configurable FTP daemon for unix and unix-like
109 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
110 replacement for wu-ftpd. Full online documentation is available at
111 <http://www.proftpd.org/>, including a server configuration directive
114 %description common -l pl
115 ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
116 ProFTPD jest robiony jako bezpo¶redni zamiennik wu-ftpd. Pe³na
117 dokunentacja jest dostêpna on-line pod http://www.proftpd.org/
118 w³±cznie z dokumentacj± dotycz±c± konfigurowania.
121 Summary: inetd configs for proftpd
122 Summary(pl): Pliki konfiguracyjne do u¿ycia proftpd poprzez inetd
124 PreReq: %{name}-common = %{epoch}:%{version}-%{release}
126 Requires(triggerpostun): sed >= 4.0
127 Requires(post): fileutils
130 Provides: proftpd = %{epoch}:%{version}-%{release}
132 Obsoletes: proftpd-standalone
138 Obsoletes: heimdal-ftpd
139 Obsoletes: linux-ftpd
140 Obsoletes: muddleftpd
142 Obsoletes: troll-ftpd
145 Conflicts: man-pages < 1.51
148 ProFTPD configs for running from inetd.
150 %description inetd -l pl
151 Pliki konfiguracyjna ProFTPD do startowania demona poprzez inetd.
154 Summary: Standalone daemon configs for proftpd
155 Summary(pl): Pliki konfiguracyjne do startowania proftpd w trybie standalone
157 PreReq: %{name}-common = %{epoch}:%{version}-%{release}
159 Requires(triggerpostun): sed >= 4.0
160 Requires(post,preun): /sbin/chkconfig
161 Requires(post): fileutils
164 Provides: proftpd = %{epoch}:%{version}-%{release}
166 Obsoletes: proftpd-inetd
172 Obsoletes: heimdal-ftpd
173 Obsoletes: linux-ftpd
174 Obsoletes: muddleftpd
176 Obsoletes: troll-ftpd
179 Conflicts: man-pages < 1.51
181 %description standalone
182 ProFTPD configs for running as a standalone daemon.
184 %description standalone -l pl
185 Pliki konfiguracyjne ProFTPD do startowania demona w trybie
189 %if %{with mysql} && %{with pgsql}
190 echo "Error: You can't build at once --with mysql and --with pgsql"
202 # move mod_shaper code on to the source tree
203 mv mod_shaper/mod_shaper.c contrib/
206 cp -f /usr/share/automake/config.sub .
208 RUN_DIR=%{_localstatedir} ; export RUN_DIR
209 CFLAGS="%{rpmcflags} -I/usr/include/ncurses %{?with_mysql:-I/usr/include/mysql}"
210 CPPFLAGS="%{rpmcflags} -I/usr/include/ncurses %{?with_mysql:-I/usr/include/mysql}"
217 %{?with_ipv6:mod_wrap}
218 %{?with_pam:mod_auth_pam}
219 %{?with_ldap:mod_ldap}
220 %{?with_quotafile:mod_quotatab mod_quotatab_file}
221 %{?with_quotaldap:mod_quotatab mod_quotatab_ldap}
222 %{?with_quotamysql:mod_quotatab mod_quotatab_sql}
223 %{?with_quotapgsql:mod_quotatab mod_quotatab_sql}
224 %{?with_linuxprivs:mod_linuxprivs}
225 %{?with_mysql:mod_sql mod_sql_mysql}
226 %{?with_pgsql:mod_sql mod_sql_postgres}
230 --enable-autoshadow \
231 --with-modules=$(echo $MODULES | tr ' ' ':') \
232 %{?with_ipv6:--enable-ipv6} \
233 %{!?with_ssl:--disable-tls} \
240 rm -rf $RPM_BUILD_ROOT
241 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,security,sysconfig/rc-inetd,rc.d/init.d} \
242 $RPM_BUILD_ROOT/var/{lib/ftp/pub/Incoming,log}
245 DESTDIR=$RPM_BUILD_ROOT \
246 INSTALL_USER=%(id -u) \
247 INSTALL_GROUP=%(id -g)
249 rm -f $RPM_BUILD_ROOT%{_sbindir}/in.proftpd
251 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
252 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/ftpd
253 %{?with_pam:install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/ftp}
254 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/ftpd
255 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/proftpd
256 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/proftpd
257 install contrib/xferstats.holger-preiss $RPM_BUILD_ROOT%{_bindir}/xferstat
259 bzip2 -dc %{SOURCE7} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
261 mv -f contrib/README contrib/README.modules
263 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers.default
264 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers
265 :> $RPM_BUILD_ROOT/var/log/xferlog
267 ln -sf proftpd $RPM_BUILD_ROOT%{_sbindir}/ftpd
269 :> $RPM_BUILD_ROOT/etc/security/blacklist.ftp
272 rm -rf $RPM_BUILD_ROOT
276 touch /var/log/xferlog
277 awk 'BEGIN { FS = ":" }; { if(($3 < 500)&&($1 != "ftp")) print $1; }' < /etc/passwd >> %{_sysconfdir}/ftpusers.default
278 if [ ! -f %{_sysconfdir}/ftpusers ]; then
279 cp -f %{_sysconfdir}/ftpusers.default %{_sysconfdir}/ftpusers
284 if grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf ; then
285 cp -a %{_sysconfdir}/proftpd.conf %{_sysconfdir}/proftpd.conf.rpmorig
286 sed -e "s/^ServerType[[:space:]]\+standalone/ServerType inetd/g" \
287 %{_sysconfdir}/proftpd.conf.rpmorig >%{_sysconfdir}/proftpd.conf
289 if [ -f /var/lock/subsys/rc-inetd ]; then
290 /etc/rc.d/init.d/rc-inetd reload 1>&2
292 echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
296 if [ "$1" = "0" -a -f /var/lock/subsys/rc-inetd ]; then
297 /etc/rc.d/init.d/rc-inetd reload 1>&2
301 /sbin/chkconfig --add proftpd
302 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf ; then
303 cp -a %{_sysconfdir}/proftpd.conf %{_sysconfdir}/proftpd.conf.rpmorig
304 sed -e "s/^ServerType[[:space:]]\+inetd/ServerType standalone/g" \
305 %{_sysconfdir}/proftpd.conf.rpmorig >%{_sysconfdir}/proftpd.conf
307 if [ -f /var/lock/subsys/proftpd ]; then
308 /etc/rc.d/init.d/proftpd restart 1>&2
310 echo "Run \"/etc/rc.d/init.d/proftpd start\" to start ProFTPD daemon."
314 if [ "$1" = "0" ]; then
315 if [ -f /var/lock/subsys/proftpd ]; then
316 /etc/rc.d/init.d/proftpd stop 1>&2
318 /sbin/chkconfig --del proftpd
321 %triggerpostun inetd -- %{name}-inetd <= 1.2.10-1
322 echo "Changing deprecated config options"
323 cp -f /etc/ftpd/proftpd.conf{,.rpmsave}
325 s/AuthPAMAuthoritative\b/AuthPAM/
326 s/TCPDServiceName/TCPServiceName/
327 s/TlsRsaCertFile/TLSRSACertificateFile/
328 s/TlsRsaKeyFile/TLSRSACertificateKeyFile/
329 s/TlsDsaCertFile/TLSDSACertificateFile/
330 s/TlsDsaKeyFile/TLSDSACertificateKeyFile/
331 s/TlsCrlFile/TLSCARevocationFile/
332 s/TlsDhParamFile/TLSDHParamFile/
333 s/TlsCipherList/TLSCipherSuite/
334 s/TlsCertsOk/TLSVerifyClient/
336 ' /etc/ftpd/proftpd.conf
338 %triggerpostun standalone -- %{name}-standalone <= 1.2.10-1
339 echo "Changing deprecated config options"
340 cp -f /etc/ftpd/proftpd.conf{,.rpmsave}
342 s/AuthPAMAuthoritative\b/AuthPAM/
343 s/TCPDServiceName/TCPServiceName/
344 s/TlsRsaCertFile/TLSRSACertificateFile/
345 s/TlsRsaKeyFile/TLSRSACertificateKeyFile/
346 s/TlsDsaCertFile/TLSDSACertificateFile/
347 s/TlsDsaKeyFile/TLSDSACertificateKeyFile/
348 s/TlsCrlFile/TLSCARevocationFile/
349 s/TlsDhParamFile/TLSDHParamFile/
350 s/TlsCipherList/TLSCipherSuite/
351 s/TlsCertsOk/TLSVerifyClient/
353 ' /etc/ftpd/proftpd.conf
356 %defattr(644,root,root,755)
357 %doc sample-configurations/*.conf CREDITS ChangeLog NEWS RELEASE_NOTES
358 %doc README README.LDAP README.PAM README.capabilities README.classes README.controls README.IPv6
360 %doc doc/*html contrib/*.html
362 %attr(750,root,ftp) %dir %{_sysconfdir}
363 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
364 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/ftpusers
365 %attr(640,root,root) %{_sysconfdir}/ftpusers.default
366 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/*
367 %attr(640,root,root) %ghost /var/log/*
368 %{?with_pam:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*}
370 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.ftp
372 %attr(755,root,root) %{_bindir}/*
373 %attr(755,root,root) %{_sbindir}/*
378 %dir /var/lib/ftp/pub
379 %attr(711,ftp,ftp) %dir /var/lib/ftp/pub/Incoming
382 %defattr(644,root,root,755)
383 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/ftpd
385 %lang(ja) %{_mandir}/ja/man5/ftpusers*
386 %lang(pl) %{_mandir}/pl/man5/ftpusers*
387 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
388 %lang(ru) %{_mandir}/ru/man5/ftpusers*
391 %defattr(644,root,root,755)
392 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/proftpd
393 %attr(754,root,root) /etc/rc.d/init.d/proftpd
395 %lang(ja) %{_mandir}/ja/man5/ftpusers*
396 %lang(pl) %{_mandir}/pl/man5/ftpusers*
397 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
398 %lang(ru) %{_mandir}/ru/man5/ftpusers*