2 # - mod_caps uses uname -r for detection
4 %bcond_without pam # disable PAM support
5 %bcond_without ipv6 # disable IPv6 and TCPD support
6 %bcond_without ssl # disbale TLS/SSL support
7 %bcond_without ldap # enable LDAP support
8 %bcond_without mysql # enable MySQL support
9 %bcond_without pgsql # enable PostgreSQL support
10 %bcond_without quotafile # enable quota file support
11 %bcond_without quotaldap # enable quota ldap support
12 %bcond_without quotamysql # enable quota mysql support
13 %bcond_without quotapgsql # enable quota pgsql support
15 Summary: PROfessional FTP Daemon with apache-like configuration syntax
16 Summary(es): Servidor FTP profesional, con sintaxis de configuración semejante a la del apache
17 Summary(pl): PROfesionalny serwer FTP
18 Summary(pt_BR): Servidor FTP profissional, com sintaxe de configuração semelhante à do apache
19 Summary(zh_CN): Ò×ÓÚ¹ÜÀíµÄ,°²È«µÄ FTP ·þÎñÆ÷
26 Source0: ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}.tar.bz2
27 # Source0-md5: fae47d01b52e035eb6b7190e74c17722
30 Source4: %{name}.inetd
31 Source5: %{name}.sysconfig
33 Source7: ftpusers.tar.bz2
34 # Source7-md5: 76c80b6ec9f4d079a1e27316edddbe16
35 Source9: %{name}-mod_pam.conf
36 Source10: %{name}-mod_tls.conf
37 Source11: %{name}-anonftp.conf
38 Patch0: %{name}-umode_t.patch
39 Patch1: %{name}-glibc.patch
40 Patch2: %{name}-paths.patch
41 Patch3: %{name}-noautopriv.patch
42 Patch4: %{name}-wtmp.patch
43 Patch5: %{name}-sendfile64.patch
44 Patch6: %{name}-configure.patch
45 URL: http://www.proftpd.org/
46 BuildRequires: autoconf
47 BuildRequires: automake
48 BuildRequires: libwrap-devel
49 %if %{with mysql} || %{with quotamysql}
50 BuildRequires: mysql-devel
52 BuildRequires: ncurses-devel
53 %if %{with ldap} || %{with quotaldap}
54 BuildRequires: openldap-devel
56 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
57 %{?with_pam:BuildRequires: pam-devel}
58 %if %{with pgsql} || %{with quotapgsql}
59 BuildRequires: postgresql-devel
61 BuildRequires: rpmbuild(macros) >= 1.268
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 %define _sysconfdir /etc/ftpd
65 %define _localstatedir /var/run
66 %define _libexecdir %{_prefix}/%{_lib}/%{name}
69 ProFTPD is a highly configurable FTP daemon for unix and unix-like
70 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
71 replacement for wu-ftpd. Full online documentation is available at
72 <http://www.proftpd.org/>, including a server configuration directive
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
103 Obsoletes: proftpd < 0:1.2.2rc1-3
106 ProFTPD is a highly configurable FTP daemon for unix and unix-like
107 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
108 replacement for wu-ftpd. Full online documentation is available at
109 <http://www.proftpd.org/>, including a server configuration directive
112 %description common -l es
113 ProFTPD es un servidor FTP altamente configurable para sistemas
114 operativos unix. Está proyectado para ser un substituto directo al
115 wu-ftpd. La documentación completa está disponible en
116 <http://www.proftpd.org/>, incluido el manual de referencia para las
117 directivas de configuración del servidor.
119 %description common -l pl
120 ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
121 ProFTPD jest robiony jako bezpo¶redni zamiennik wu-ftpd. Pe³na
122 dokumentacja jest dostêpna on-line pod <http://www.proftpd.org/>
123 w³±cznie z dokumentacj± dotycz±c± konfigurowania.
125 %description common -l pt_BR
126 O ProFTPD é um servidor FTP altamente configurável para sistemas
129 É projetado para ser um substituto direto para o wu-ftpd. A
130 documentação completa está disponível em <http://www.proftpd.org/>,
131 incluindo o manual de referência para as diretivas de configuração do
135 Summary: inetd configs for proftpd
136 Summary(pl): Pliki konfiguracyjne do u¿ycia proftpd poprzez inetd
138 Requires(post): fileutils
140 Requires(post): sed >= 4.0
141 Requires(triggerpostun): sed >= 4.0
142 Requires: %{name}-common = %{epoch}:%{version}-%{release}
145 Provides: proftpd = %{epoch}:%{version}-%{release}
151 Obsoletes: heimdal-ftpd
152 Obsoletes: linux-ftpd
153 Obsoletes: muddleftpd
154 Obsoletes: proftpd-standalone
156 Obsoletes: troll-ftpd
159 Conflicts: man-pages < 1.51
160 Conflicts: rpm < 4.4.2-0.2
163 ProFTPD configs for running from inetd.
165 %description inetd -l pl
166 Pliki konfiguracyjna ProFTPD do startowania demona poprzez inetd.
169 Summary: Standalone daemon configs for proftpd
170 Summary(pl): Pliki konfiguracyjne do startowania proftpd w trybie standalone
172 Requires(post): fileutils
174 Requires(post): sed >= 4.0
175 Requires(post,preun): /sbin/chkconfig
176 Requires(triggerpostun): sed >= 4.0
177 Requires: %{name}-common = %{epoch}:%{version}-%{release}
180 Provides: proftpd = %{epoch}:%{version}-%{release}
186 Obsoletes: heimdal-ftpd
187 Obsoletes: linux-ftpd
188 Obsoletes: muddleftpd
189 Obsoletes: proftpd-inetd
191 Obsoletes: troll-ftpd
194 Conflicts: man-pages < 1.51
195 Conflicts: rpm < 4.4.2-0.2
197 %description standalone
198 ProFTPD configs for running as a standalone daemon.
200 %description standalone -l pl
201 Pliki konfiguracyjne ProFTPD do startowania demona w trybie
205 Summary: Header files ProFTPD
206 Summary(pl): Pliki nag³ówkowe ProFTPD
207 Group: Development/Libraries
210 This is the package containing the header files for ProFTPD.
212 %description devel -l pl
213 Ten pakiet zawiera pliki nag³ówkowe ProFTPD
216 Summary: Anonymous FTP config for ProFTPD
217 Summary(pl): Konfiguracja anonimowego FTP dla ProFTPD
219 Requires: %{name}-common = %{epoch}:%{version}-%{release}
222 Anonymous FTP config for ProFTPD.
224 %description anonftp -l pl
225 Konfiguracja anonimowego FTP dla ProFTPD.
227 %package mod_auth_pam
228 Summary: ProFTPD PAM auth module
229 Summary(pl): Modu³ uwierzytelnienia PAM dla ProFTPD
231 Requires: %{name}-common = %{epoch}:%{version}-%{release}
232 Requires: pam >= 0.79.0
234 %description mod_auth_pam
235 PAM authentication method for ProFTPD.
237 %description mod_auth_pam -l pl
238 Metoda uwierzytelnienia PAM dla ProFTPD.
241 Summary: ProFTPD OpenLDAP module
242 Summary(pl): Modu³ OpenLDAP dla ProFTPD
244 Requires: %{name}-common = %{epoch}:%{version}-%{release}
246 %description mod_ldap
247 mod_ldap provides LDAP authentication support for ProFTPD. It supports
248 many features useful in "toaster" environments such as default UID/GID
249 and autocreation/autogeneration of home directories.
251 %description mod_ldap -l pl
252 mod_ldap dodaje obs³ugê uwierzytelnienia LDAP do ProFTPD. Obs³uguje
253 wiele cech przydatnych w ¶rodowiskach "tosterowych", takich jak
254 domy¶lny UID/GID i automatyczne tworzenie/generowanie katalogów
257 %package mod_quotatab
258 Summary: ProFTPD quotatab module
259 Summary(pl): Modu³ quotatab dla ProFTPD
261 Requires: %{name}-common = %{epoch}:%{version}-%{release}
263 %description mod_quotatab
264 A module for managing FTP byte/file quotas via centralized tables.
266 %description mod_quotatab -l pl
267 Modu³ do zarz±dzania ograniczeniami bajtów/plików FTP poprzez
268 scentralizowane tabele.
270 %package mod_quotatab_file
271 Summary: ProFTPD quotatab file module
272 Summary(pl): Modu³ quotatab_file dla ProFTPD
274 Requires: %{name}-common = %{epoch}:%{version}-%{release}
275 Requires: %{name}-mod_quotatab = %{epoch}:%{version}-%{release}
277 %description mod_quotatab_file
278 A mod_quotatab sub-module for managing quota data via file-based
281 %description mod_quotatab_file -l pl
282 Podmodu³ mod_quotatab do zarz±dzania danymi o ograniczeniach poprzez
283 tabele zapisane w pliku.
285 %package mod_quotatab_ldap
286 Summary: ProFTPD quotatab ldap module
287 Summary(pl): Modu³ quotatab_ldap dla ProFTPD
289 Requires: %{name}-common = %{epoch}:%{version}-%{release}
290 Requires: %{name}-mod_ldap = %{epoch}:%{version}-%{release}
291 Requires: %{name}-mod_quotatab = %{epoch}:%{version}-%{release}
293 %description mod_quotatab_ldap
294 A mod_quotatab sub-module for obtaining quota information from an LDAP
297 %description mod_quotatab_ldap -l pl
298 Podmodu³ mod_quotatab do pobierania informacji o ograniczeniach z
301 %package mod_quotatab_sql
302 Summary: ProFTPD quotatab sql module
303 Summary(pl): Modu³ quotatab_sql dla ProFTPD
305 Requires: %{name}-common = %{epoch}:%{version}-%{release}
306 Requires: %{name}-mod_quotatab = %{epoch}:%{version}-%{release}
307 Requires: %{name}-mod_sql = %{epoch}:%{version}-%{release}
309 %description mod_quotatab_sql
310 A mod_quotatab sub-module for managing quota data via SQL-based
313 %description mod_quotatab_sql -l pl
314 Podmodu³ mod_quotatab do zarz±dzania danymi o ograniczeniach poprzez
318 Summary: ProFTPD ratio module
319 Summary(pl): Modu³ ratio dla ProFTPD
321 Requires: %{name}-common = %{epoch}:%{version}-%{release}
323 %description mod_ratio
324 Support upload/download ratios.
326 %description mod_ratio -l pl
327 Obs³uga wspó³czynników upload/download.
330 Summary: ProFTPD readme module
331 Summary(pl): Modu³ readme dla ProFTPD
333 Requires: %{name}-common = %{epoch}:%{version}-%{release}
335 %description mod_readme
336 "README" file support.
338 %description mod_readme -l pl
339 Obs³uga pliku "README".
342 Summary: ProFTPD SQL support module
343 Summary(pl): Modu³ obs³ugi SQL dla ProFTPD
345 Requires: %{name}-common = %{epoch}:%{version}-%{release}
348 This module provides the necessary support for SQL based
349 authentication, logging and other features as required.
351 %description mod_sql -l pl
352 Ten modu³ dodaje obs³ugê SQL potrzebn± do uwierzytelniania, logowania
353 i innych mo¿liwo¶ci opartych o SQL.
355 %package mod_sql_mysql
356 Summary: ProFTPD sql mysql module
357 Summary(pl): Modu³ sql_mysql dla ProFTPD
359 Requires: %{name}-common = %{epoch}:%{version}-%{release}
360 Requires: %{name}-mod_sql = %{epoch}:%{version}-%{release}
362 %description mod_sql_mysql
363 Support for connecting to MySQL databases.
365 %description mod_sql_mysql -l pl
366 Obs³uga ³±czenia siê z bazami danych MySQL.
368 %package mod_sql_postgres
369 Summary: ProFTPD sql postgres module
370 Summary(pl): Modu³ sql_postgres dla ProFTPD
372 Requires: %{name}-common = %{epoch}:%{version}-%{release}
373 Requires: %{name}-mod_sql = %{epoch}:%{version}-%{release}
375 %description mod_sql_postgres
376 Support for connecting to PostgreSQL databases.
378 %description mod_sql_postgres -l pl
379 Obs³uga ³±czenia siê z bazami danych PostgreSQL.
382 Summary: ProFTPD TLS support
383 Summary(pl): Obs³uga TLS dla ProFTPD
385 Requires: %{name}-common = %{epoch}:%{version}-%{release}
388 An RFC2228 SSL/TLS module for ProFTPD.
390 %description mod_tls -l pl
391 Modu³ SSL/TLS zgodny z RFC2228 dla ProFTPD.
394 Summary: ProFTPD interface to libwrap
395 Summary(pl): Interfejs ProFTPD do libwrap
397 Requires: %{name}-common = %{epoch}:%{version}-%{release}
400 %description mod_wrap
401 It enables the daemon to use the common tcpwrappers access control
402 library while in standalone mode, and in a very configurable manner.
404 Many programs will automatically add entries in the common allow/deny
405 files, and use of this module will allow a ProFTPD daemon running in
406 standalone mode to adapt as these entries are added. The portsentry
407 program does this, for example: when illegal access is attempted, it
408 will add hosts to the /etc/hosts.deny file.
410 %description mod_wrap -l pl
411 Ten pakiet pozwala demonowi u¿ywaæ wspólnej biblioteki kontroli
412 dostêpu tcpwrappers w trybie samodzielnym w bardzo wygodny sposób.
414 Wiele programów automatycznie dodaje wpisy we wspólnych plikach
415 allow/deny, a u¿ycie tego modu³u pozwala demonowi ProFTPD dzia³aj±cemu
416 w trybie samodzielnym adaptowaæ te wpisy w miarê dodawania. Robi tak
417 na przyk³ad program portsentry: przy próbie niedozwolonego dostêpu
418 dodaje hosty do pliku /etc/hosts.deny.
421 %setup -q -n %{name}-%{version}%{?_rc}
423 #%patch1 -p1 CONFUSES mod_ls.c
427 #%patch5 -p1 NEEDS UPDATE
430 cp -f /usr/share/automake/config.sub .
432 # cleanup backups after patching
433 find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
443 %{?with_pam:mod_auth_pam}
444 %{?with_ldap:mod_ldap}
445 %{?with_quotafile:mod_quotatab mod_quotatab_file}
446 %{?with_quotaldap:mod_quotatab mod_quotatab_ldap}
447 %{?with_quotamysql:mod_quotatab mod_quotatab_sql}
448 %{?with_quotapgsql:mod_quotatab mod_quotatab_sql}
449 %{?with_linuxprivs:mod_linuxprivs}
450 %{?with_mysql:mod_sql mod_sql_mysql}
451 %{?with_pgsql:mod_sql mod_sql_postgres}
454 MODARG=$(echo $MODULES | tr ' ' '\n' | sort -u | xargs | tr ' ' ':')
456 --with-includes=/usr/include/ncurses%{?with_mysql::%{_includedir}/mysql} \
457 --enable-autoshadow \
461 %{?with_ipv6:--enable-ipv6} \
463 %{!?with_ssl:--disable-tls} \
464 --with-shared=$MODARG \
469 rm -rf $RPM_BUILD_ROOT
470 install -d $RPM_BUILD_ROOT/etc/{pam.d,security,sysconfig/rc-inetd,rc.d/init.d} \
471 $RPM_BUILD_ROOT/var/{lib/ftp/pub/Incoming,log} \
472 $RPM_BUILD_ROOT%{_sysconfdir}/conf.d \
473 $RPM_BUILD_ROOT%{_includedir}/%{name}
476 DESTDIR=$RPM_BUILD_ROOT \
477 INSTALL_USER=%(id -u) \
478 INSTALL_GROUP=%(id -g)
480 rm $RPM_BUILD_ROOT%{_sbindir}/in.proftpd
482 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
483 install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_auth_pam.conf
484 %{?with_ldap:echo 'LoadModule mod_ldap.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_ldap.conf}
485 echo 'LoadModule mod_quotatab.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_quotatab.conf
486 echo 'LoadModule mod_quotatab_file.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_quotatab_file.conf
487 %{?with_quotaldap:echo 'LoadModule mod_quotatab_ldap.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_quotatab_ldap.conf}
488 echo 'LoadModule mod_ratio.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_ratio.conf
489 echo 'LoadModule mod_readme.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_readme.conf
490 %if %{with mysql} || %{with pgsql}
491 echo 'LoadModule mod_quotatab_sql.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_quotatab_sql.conf
492 echo 'LoadModule mod_sql.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_sql.conf
494 %{?with_mysql:echo 'LoadModule mod_sql_mysql.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_sql_mysql.conf}
495 %{?with_pgsql:echo 'LoadModule mod_sql_postgres.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_sql_postgres.conf}
496 install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_tls.conf
497 echo 'LoadModule mod_wrap.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_wrap.conf
498 install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/anonftp.conf
500 %{?with_pam:install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/ftp}
501 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/ftpd
502 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/proftpd
503 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/proftpd
504 install contrib/xferstats.holger-preiss $RPM_BUILD_ROOT%{_bindir}/xferstat
506 bzip2 -dc %{SOURCE7} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
508 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers.default
509 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers
511 # only for -inetd package?
512 ln -sf proftpd $RPM_BUILD_ROOT%{_sbindir}/ftpd
514 :> $RPM_BUILD_ROOT/etc/security/blacklist.ftp
516 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/*.a
517 rm $RPM_BUILD_ROOT%{_libdir}/%{name}/*.la
519 rm -f $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff*
520 cp -aL include/* config.h $RPM_BUILD_ROOT%{_includedir}/%{name}
523 rm -rf $RPM_BUILD_ROOT
527 awk -F: '{ if (($3 < 500) && ($1 != "ftp")) print $1; }' < /etc/passwd >> %{_sysconfdir}/ftpusers.default
528 if [ ! -f %{_sysconfdir}/ftpusers ]; then
529 cp -f %{_sysconfdir}/ftpusers.default %{_sysconfdir}/ftpusers
533 if grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf ; then
534 cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
535 sed -i -e 's/^ServerType[[:space:]]\+standalone/ServerType inetd/g' %{_sysconfdir}/proftpd.conf
537 %service -q rc-inetd reload
540 if [ "$1" = "0" ]; then
541 %service -q rc-inetd reload
544 %posttrans standalone
545 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf ; then
546 cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
547 sed -i -e 's/^ServerType[[:space:]]\+inetd/ServerType standalone/g' %{_sysconfdir}/proftpd.conf
549 /sbin/chkconfig --add proftpd
550 %service proftpd restart "ProFTPD daemon"
553 if [ "$1" = "0" ]; then
554 %service proftpd stop
555 /sbin/chkconfig --del proftpd
558 # macro called at module post scriptlet
559 %define module_post \
560 if [ "$1" = "1" ]; then \
561 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
562 %service -q rc-inetd reload \
563 elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
564 %service -q proftpd restart \
568 # macro called at module postun scriptlet
569 %define module_postun \
570 if [ "$1" = "0" ]; then \
571 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
572 %service -q rc-inetd reload \
573 elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
574 %service -q proftpd restart \
578 # it's sooo annoying to write them
579 %define module_scripts() \
586 %module_scripts mod_auth_pam
587 %module_scripts mod_ldap
588 %module_scripts mod_quotatab
589 %module_scripts mod_quotatab_file
590 %module_scripts mod_quotatab_ldap
591 %module_scripts mod_quotatab_sql
592 %module_scripts mod_ratio
593 %module_scripts mod_readme
594 %module_scripts mod_sql
595 %module_scripts mod_sql_mysql
596 %module_scripts mod_sql_postgres
597 %module_scripts mod_tls
598 %module_scripts mod_wrap
600 %triggerpostun inetd -- %{name}-inetd <= 1:1.2.10
601 echo "Changing deprecated config options"
602 cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
604 s/AuthPAMAuthoritative\b/AuthPAM/
605 s/TCPDServiceName/TCPServiceName/
606 s/TlsRsaCertFile/TLSRSACertificateFile/
607 s/TlsRsaKeyFile/TLSRSACertificateKeyFile/
608 s/TlsDsaCertFile/TLSDSACertificateFile/
609 s/TlsDsaKeyFile/TLSDSACertificateKeyFile/
610 s/TlsCrlFile/TLSCARevocationFile/
611 s/TlsDhParamFile/TLSDHParamFile/
612 s/TlsCipherList/TLSCipherSuite/
613 s/TlsCertsOk/TLSVerifyClient/
615 ' %{_sysconfdir}/proftpd.conf
617 %triggerpostun standalone -- %{name}-standalone <= 1:1.2.10
618 echo "Changing deprecated config options"
619 cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
621 s/AuthPAMAuthoritative\b/AuthPAM/
622 s/TCPDServiceName/TCPServiceName/
623 s/TlsRsaCertFile/TLSRSACertificateFile/
624 s/TlsRsaKeyFile/TLSRSACertificateKeyFile/
625 s/TlsDsaCertFile/TLSDSACertificateFile/
626 s/TlsDsaKeyFile/TLSDSACertificateKeyFile/
627 s/TlsCrlFile/TLSCARevocationFile/
628 s/TlsDhParamFile/TLSDHParamFile/
629 s/TlsCipherList/TLSCipherSuite/
630 s/TlsCertsOk/TLSVerifyClient/
632 ' %{_sysconfdir}/proftpd.conf
635 %defattr(644,root,root,755)
636 %doc sample-configurations/*.conf CREDITS ChangeLog NEWS RELEASE_NOTES
637 %doc README README.capabilities README.classes README.controls README.IPv6
640 %dir %attr(750,root,ftp) %dir %{_sysconfdir}
641 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
642 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/ftpusers
643 %attr(640,root,root) %{_sysconfdir}/ftpusers.default
644 %dir %attr(750,root,root) %{_sysconfdir}/conf.d
645 %attr(755,root,root) %{_bindir}/*
646 %attr(755,root,root) %{_sbindir}/*
647 %dir %{_libdir}/%{name}
648 %dir /var/run/proftpd
651 %dir /var/lib/ftp/pub
652 %attr(711,ftp,ftp) %dir /var/lib/ftp/pub/Incoming
655 %defattr(644,root,root,755)
656 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/ftpd
658 %lang(ja) %{_mandir}/ja/man5/ftpusers*
659 %lang(pl) %{_mandir}/pl/man5/ftpusers*
660 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
661 %lang(ru) %{_mandir}/ru/man5/ftpusers*
664 %defattr(644,root,root,755)
665 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/proftpd
666 %attr(754,root,root) /etc/rc.d/init.d/proftpd
668 %lang(ja) %{_mandir}/ja/man5/ftpusers*
669 %lang(pl) %{_mandir}/pl/man5/ftpusers*
670 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
671 %lang(ru) %{_mandir}/ru/man5/ftpusers*
674 %defattr(644,root,root,755)
675 %{_includedir}/%{name}
678 %defattr(644,root,root,755)
679 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/anonftp.conf
683 %defattr(644,root,root,755)
685 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
686 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.ftp
687 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_auth_pam.conf
688 %attr(755,root,root) %{_libexecdir}/mod_auth_pam.so
693 %defattr(644,root,root,755)
695 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ldap.conf
696 %attr(755,root,root) %{_libexecdir}/mod_ldap.so
700 %defattr(644,root,root,755)
701 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab.conf
702 %attr(755,root,root) %{_libexecdir}/mod_quotatab.so
704 %if %{with quotafile}
705 %files mod_quotatab_file
706 %defattr(644,root,root,755)
707 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_file.conf
708 %attr(755,root,root) %{_libexecdir}/mod_quotatab_file.so
711 %if %{with quotaldap}
712 %files mod_quotatab_ldap
713 %defattr(644,root,root,755)
714 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_ldap.conf
715 %attr(755,root,root) %{_libexecdir}/mod_quotatab_ldap.so
718 %if %{with quotamysql} || %{with quotapgsql}
719 %files mod_quotatab_sql
720 %defattr(644,root,root,755)
721 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_sql.conf
722 %attr(755,root,root) %{_libexecdir}/mod_quotatab_sql.so
726 %defattr(644,root,root,755)
727 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ratio.conf
728 %attr(755,root,root) %{_libexecdir}/mod_ratio.so
731 %defattr(644,root,root,755)
732 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_readme.conf
733 %attr(755,root,root) %{_libexecdir}/mod_readme.so
735 %if %{with mysql} || %{with pgsql}
737 %defattr(644,root,root,755)
738 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql.conf
739 %attr(755,root,root) %{_libexecdir}/mod_sql.so
744 %defattr(644,root,root,755)
745 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_mysql.conf
746 %attr(755,root,root) %{_libexecdir}/mod_sql_mysql.so
750 %files mod_sql_postgres
751 %defattr(644,root,root,755)
752 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_postgres.conf
753 %attr(755,root,root) %{_libexecdir}/mod_sql_postgres.so
757 %defattr(644,root,root,755)
758 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_tls.conf
759 %attr(755,root,root) %{_libexecdir}/mod_tls.so
762 %defattr(644,root,root,755)
763 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_wrap.conf
764 %attr(755,root,root) %{_libexecdir}/mod_wrap.so