]> git.pld-linux.org Git - packages/proftpd.git/blame - proftpd.spec
- rel 2; rename locale dirs
[packages/proftpd.git] / proftpd.spec
CommitLineData
a62be9f3
ER
1# TODO
2# - mod_caps uses uname -r for detection
ee1ec582 3# - don't use internal libltdl
b4653673 4# - package contrib/ftp* perl scripts.
a3cd1656 5#
16865efe 6# Conditional build:
2e58659a 7%bcond_without pam # disable PAM support
8%bcond_without ipv6 # disable IPv6 and TCPD support
9%bcond_without ssl # disbale TLS/SSL support
722bdd1f 10%bcond_without ldap # disable LDAP support
11%bcond_without mysql # disable MySQL support
12%bcond_without pgsql # disable PostgreSQL support
13%bcond_without quotafile # disable quota file support
14%bcond_without quotaldap # disable quota ldap support
15%bcond_without quotamysql # disable quota mysql support
16%bcond_without quotapgsql # disable quota pgsql support
16865efe 17#
3fd10053
JR
18%define mod_clamav_version 0.11rc
19
060127a7 20Summary: PROfessional FTP Daemon with apache-like configuration syntax
8529003f
ER
21Summary(es.UTF-8): Servidor FTP profesional, con sintaxis de configuración semejante a la del apache
22Summary(pl.UTF-8): PROfesionalny serwer FTP
23Summary(pt_BR.UTF-8): Servidor FTP profissional, com sintaxe de configuração semelhante à do apache
24Summary(zh_CN.UTF-8): 易于管理的,安全的 FTP 服务器
060127a7 25Name: proftpd
cc0e338b 26Version: 1.3.6c
60543e07 27Release: 2
e4b41e2a 28Epoch: 2
372155e4 29License: GPL v2+
89efc142 30Group: Networking/Daemons
c4bfeba3 31Source0: ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}.tar.gz
cc0e338b 32# Source0-md5: 5680a462144e94770d6e5478ffd60254
d87c1f21 33# https://github.com/jbenden/mod_clamav
3fd10053
JR
34Source1: https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-%{mod_clamav_version}.tar.gz
35# Source1-md5: 42e560ec0bd5964e13fad1b2bb7afe21
36Source2: %{name}.conf
f2119458 37Source3: ftp.pamd
9a9f906b 38Source4: %{name}.inetd
15a3b9cf
JR
39Source5: %{name}.sysconfig
40Source6: %{name}.init
372155e4 41Source7: ftpusers.tar.bz2
87645069 42# Source7-md5: 76c80b6ec9f4d079a1e27316edddbe16
a62be9f3 43Source9: %{name}-mod_pam.conf
1af975e5 44Source10: %{name}-mod_tls.conf
813c3994 45Source11: %{name}-anonftp.conf
86dc1cff 46Source12: %{name}-mod_clamav.conf
48217a3f 47Source13: %{name}.tmpfiles
32ba901e 48Patch0: %{name}-paths.patch
49Patch1: %{name}-noautopriv.patch
50Patch2: %{name}-wtmp.patch
51Patch3: %{name}-pool.patch
dfe8b502 52URL: http://www.proftpd.org/
d13a2fd3 53BuildRequires: acl-devel
16865efe 54BuildRequires: autoconf
69a15f0d 55BuildRequires: automake
d13a2fd3 56BuildRequires: libcap-devel
3a404937 57BuildRequires: libstdc++-devel
16865efe 58BuildRequires: libwrap-devel
1dba37cb 59%if %{with mysql} || %{with quotamysql}
60BuildRequires: mysql-devel
61%endif
cb7b7049 62BuildRequires: ncurses-devel
1dba37cb 63%if %{with ldap} || %{with quotaldap}
ee1ec582 64BuildRequires: openldap-devel
1dba37cb 65%endif
af998dea 66%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
eb09e120 67%{?with_pam:BuildRequires: pam-devel}
1dba37cb 68%if %{with pgsql} || %{with quotapgsql}
69BuildRequires: postgresql-devel
70%endif
af998dea 71BuildRequires: rpmbuild(macros) >= 1.268
d5382fca 72BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
12250d98 73
acb6a758 74%define _sysconfdir /etc/ftpd
86e5ce30 75%define _localstatedir /var/run
a62be9f3 76%define _libexecdir %{_prefix}/%{_lib}/%{name}
3531a682 77
d2bb21b9
BS
78%define filterout -flto
79
12250d98 80%description
a7f94b1a 81ProFTPD is a highly configurable FTP daemon for Unix and Unix-like
3a652411
ER
82operating systems. ProFTPD is designed to be somewhat of a "drop-in"
83replacement for wu-ftpd. Full online documentation is available at
84<http://www.proftpd.org/>, including a server configuration directive
85reference manual.
86
840f54f1 87%description -l es.UTF-8
3a652411 88ProFTPD es un servidor FTP altamente configurable para sistemas
a7f94b1a 89operativos Unix. Está proyectado para ser un substituto directo al
840f54f1 90wu-ftpd. La documentación completa está disponible en
3a652411 91<http://www.proftpd.org/>, incluido el manual de referencia para las
840f54f1 92directivas de configuración del servidor.
3a652411 93
840f54f1
JR
94%description -l pl.UTF-8
95ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
96ProFTPD jest robiony jako bezpośredni zamiennik wu-ftpd. Pełna
97dokumentacja jest dostępna on-line pod <http://www.proftpd.org/>
98włącznie z dokumentacją dotyczącą konfigurowania.
3a652411 99
840f54f1
JR
100%description -l pt_BR.UTF-8
101O ProFTPD é um servidor FTP altamente configurável para sistemas
a7f94b1a 102operacionais Unix.
3a652411 103
840f54f1
JR
104É projetado para ser um substituto direto para o wu-ftpd. A
105documentação completa está disponível em <http://www.proftpd.org/>,
106incluindo o manual de referência para as diretivas de configuração do
3a652411 107servidor.
0e899110
ER
108
109%package common
110Summary: PROfessional FTP Daemon with apache-like configuration syntax - common files
89efc142
TP
111Summary(pl.UTF-8): PROfesionalny serwer FTP - wspólne pliki
112Group: Networking/Daemons
0e899110
ER
113Requires(post): awk
114Requires(post): fileutils
0e899110
ER
115Obsoletes: proftpd < 0:1.2.2rc1-3
116
117%description common
a7f94b1a 118ProFTPD is a highly configurable FTP daemon for Unix and Unix-like
64843696 119operating systems. ProFTPD is designed to be somewhat of a "drop-in"
3915e5da 120replacement for wu-ftpd. Full online documentation is available at
c4b4ddf1 121<http://www.proftpd.org/>, including a server configuration directive
3915e5da 122reference manual.
12250d98 123
840f54f1 124%description common -l es.UTF-8
a62be9f3 125ProFTPD es un servidor FTP altamente configurable para sistemas
a7f94b1a 126operativos Unix. Está proyectado para ser un substituto directo al
840f54f1 127wu-ftpd. La documentación completa está disponible en
a62be9f3 128<http://www.proftpd.org/>, incluido el manual de referencia para las
840f54f1 129directivas de configuración del servidor.
c4b4ddf1 130
840f54f1
JR
131%description common -l pl.UTF-8
132ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
133ProFTPD jest robiony jako bezpośredni zamiennik wu-ftpd. Pełna
134dokumentacja jest dostępna on-line pod <http://www.proftpd.org/>
135włącznie z dokumentacją dotyczącą konfigurowania.
0e899110 136
840f54f1
JR
137%description common -l pt_BR.UTF-8
138O ProFTPD é um servidor FTP altamente configurável para sistemas
a7f94b1a 139operacionais Unix.
a62be9f3 140
840f54f1
JR
141É projetado para ser um substituto direto para o wu-ftpd. A
142documentação completa está disponível em <http://www.proftpd.org/>,
143incluindo o manual de referência para as diretivas de configuração do
a62be9f3 144servidor.
d815f4e3 145
15a3b9cf
JR
146%package inetd
147Summary: inetd configs for proftpd
8529003f 148Summary(pl.UTF-8): Pliki konfiguracyjne do użycia proftpd poprzez inetd
89efc142 149Group: Networking/Daemons
16865efe
JB
150Requires(post): fileutils
151Requires(post): grep
8eb57af0
ER
152Requires(post): sed >= 4.0
153Requires(triggerpostun): sed >= 4.0
e6b0aff7
ER
154Requires: %{name}-common = %{epoch}:%{version}-%{release}
155Requires: rc-inetd
d8cfd64c 156Provides: ftpserver
af998dea 157Provides: proftpd = %{epoch}:%{version}-%{release}
d8cfd64c
AF
158Obsoletes: anonftp
159Obsoletes: bftpd
160Obsoletes: ftpd-BSD
af998dea 161Obsoletes: ftpserver
79b434cd 162Obsoletes: glftpd
d8cfd64c 163Obsoletes: heimdal-ftpd
077db6cc 164Obsoletes: krb5-ftpd
d8cfd64c 165Obsoletes: linux-ftpd
c9f4d6dc 166Obsoletes: muddleftpd
af998dea 167Obsoletes: proftpd-standalone
d8cfd64c 168Obsoletes: pure-ftpd
c9f4d6dc 169Obsoletes: troll-ftpd
43f51e83 170Obsoletes: vsftpd
d8cfd64c 171Obsoletes: wu-ftpd
0fba9130 172Conflicts: man-pages < 1.51
a62be9f3 173Conflicts: rpm < 4.4.2-0.2
15a3b9cf
JR
174
175%description inetd
176ProFTPD configs for running from inetd.
177
840f54f1 178%description inetd -l pl.UTF-8
752e9a49
PG
179Pliki konfiguracyjna ProFTPD do startowania demona poprzez inetd.
180
15a3b9cf 181%package standalone
c65518c5 182Summary: Standalone daemon configs for proftpd
8529003f 183Summary(pl.UTF-8): Pliki konfiguracyjne do startowania proftpd w trybie standalone
89efc142 184Group: Networking/Daemons
16865efe
JB
185Requires(post): fileutils
186Requires(post): grep
8eb57af0 187Requires(post): sed >= 4.0
e6b0aff7 188Requires(post,preun): /sbin/chkconfig
8eb57af0 189Requires(triggerpostun): sed >= 4.0
e6b0aff7
ER
190Requires: %{name}-common = %{epoch}:%{version}-%{release}
191Requires: rc-scripts
d8cfd64c 192Provides: ftpserver
af998dea 193Provides: proftpd = %{epoch}:%{version}-%{release}
d8cfd64c
AF
194Obsoletes: anonftp
195Obsoletes: bftpd
196Obsoletes: ftpd-BSD
af998dea 197Obsoletes: ftpserver
79b434cd 198Obsoletes: glftpd
d8cfd64c 199Obsoletes: heimdal-ftpd
077db6cc 200Obsoletes: krb5-ftpd
d8cfd64c 201Obsoletes: linux-ftpd
c9f4d6dc 202Obsoletes: muddleftpd
af998dea 203Obsoletes: proftpd-inetd
d8cfd64c 204Obsoletes: pure-ftpd
c9f4d6dc 205Obsoletes: troll-ftpd
43f51e83 206Obsoletes: vsftpd
d8cfd64c 207Obsoletes: wu-ftpd
0fba9130 208Conflicts: man-pages < 1.51
a62be9f3 209Conflicts: rpm < 4.4.2-0.2
15a3b9cf
JR
210
211%description standalone
212ProFTPD configs for running as a standalone daemon.
213
840f54f1 214%description standalone -l pl.UTF-8
d815f4e3 215Pliki konfiguracyjne ProFTPD do startowania demona w trybie
216standalone.
752e9a49 217
a62be9f3
ER
218%package devel
219Summary: Header files ProFTPD
8529003f 220Summary(pl.UTF-8): Pliki nagłówkowe ProFTPD
a62be9f3 221Group: Development/Libraries
6f8e0c48 222Requires: acl-devel
a62be9f3
ER
223
224%description devel
225This is the package containing the header files for ProFTPD.
226
840f54f1
JR
227%description devel -l pl.UTF-8
228Ten pakiet zawiera pliki nagłówkowe ProFTPD
018e0f25 229
e37dae10
ER
230%package anonftp
231Summary: Anonymous FTP config for ProFTPD
8529003f 232Summary(pl.UTF-8): Konfiguracja anonimowego FTP dla ProFTPD
89efc142 233Group: Networking/Daemons
e37dae10
ER
234Requires: %{name}-common = %{epoch}:%{version}-%{release}
235
236%description anonftp
e3db86e8
JB
237Anonymous FTP config for ProFTPD.
238
840f54f1 239%description anonftp -l pl.UTF-8
e3db86e8 240Konfiguracja anonimowego FTP dla ProFTPD.
e37dae10 241
a62be9f3
ER
242%package mod_auth_pam
243Summary: ProFTPD PAM auth module
8529003f 244Summary(pl.UTF-8): Moduł uwierzytelnienia PAM dla ProFTPD
89efc142 245Group: Networking/Daemons
a62be9f3
ER
246Requires: %{name}-common = %{epoch}:%{version}-%{release}
247Requires: pam >= 0.79.0
248
249%description mod_auth_pam
250PAM authentication method for ProFTPD.
251
840f54f1 252%description mod_auth_pam -l pl.UTF-8
018e0f25
JB
253Metoda uwierzytelnienia PAM dla ProFTPD.
254
a62be9f3
ER
255%package mod_ldap
256Summary: ProFTPD OpenLDAP module
8529003f 257Summary(pl.UTF-8): Moduł OpenLDAP dla ProFTPD
89efc142 258Group: Networking/Daemons
a62be9f3
ER
259Requires: %{name}-common = %{epoch}:%{version}-%{release}
260
261%description mod_ldap
a62be9f3
ER
262mod_ldap provides LDAP authentication support for ProFTPD. It supports
263many features useful in "toaster" environments such as default UID/GID
264and autocreation/autogeneration of home directories.
265
840f54f1
JR
266%description mod_ldap -l pl.UTF-8
267mod_ldap dodaje obsługę uwierzytelnienia LDAP do ProFTPD. Obsługuje
268wiele cech przydatnych w środowiskach "tosterowych", takich jak
269domyślny UID/GID i automatyczne tworzenie/generowanie katalogów
018e0f25
JB
270domowych.
271
a62be9f3
ER
272%package mod_quotatab
273Summary: ProFTPD quotatab module
8529003f 274Summary(pl.UTF-8): Moduł quotatab dla ProFTPD
89efc142 275Group: Networking/Daemons
a62be9f3
ER
276Requires: %{name}-common = %{epoch}:%{version}-%{release}
277
278%description mod_quotatab
279A module for managing FTP byte/file quotas via centralized tables.
280
840f54f1
JR
281%description mod_quotatab -l pl.UTF-8
282Moduł do zarządzania ograniczeniami bajtów/plików FTP poprzez
018e0f25
JB
283scentralizowane tabele.
284
a62be9f3
ER
285%package mod_quotatab_file
286Summary: ProFTPD quotatab file module
8529003f 287Summary(pl.UTF-8): Moduł quotatab_file dla ProFTPD
89efc142 288Group: Networking/Daemons
a62be9f3
ER
289Requires: %{name}-common = %{epoch}:%{version}-%{release}
290Requires: %{name}-mod_quotatab = %{epoch}:%{version}-%{release}
291
292%description mod_quotatab_file
293A mod_quotatab sub-module for managing quota data via file-based
294tables.
295
840f54f1
JR
296%description mod_quotatab_file -l pl.UTF-8
297Podmoduł mod_quotatab do zarządzania danymi o ograniczeniach poprzez
018e0f25
JB
298tabele zapisane w pliku.
299
a62be9f3
ER
300%package mod_quotatab_ldap
301Summary: ProFTPD quotatab ldap module
8529003f 302Summary(pl.UTF-8): Moduł quotatab_ldap dla ProFTPD
89efc142 303Group: Networking/Daemons
a62be9f3
ER
304Requires: %{name}-common = %{epoch}:%{version}-%{release}
305Requires: %{name}-mod_ldap = %{epoch}:%{version}-%{release}
306Requires: %{name}-mod_quotatab = %{epoch}:%{version}-%{release}
307
308%description mod_quotatab_ldap
309A mod_quotatab sub-module for obtaining quota information from an LDAP
310directory.
311
840f54f1
JR
312%description mod_quotatab_ldap -l pl.UTF-8
313Podmoduł mod_quotatab do pobierania informacji o ograniczeniach z
018e0f25
JB
314katalogu LDAP.
315
a62be9f3
ER
316%package mod_quotatab_sql
317Summary: ProFTPD quotatab sql module
8529003f 318Summary(pl.UTF-8): Moduł quotatab_sql dla ProFTPD
89efc142 319Group: Networking/Daemons
a62be9f3
ER
320Requires: %{name}-common = %{epoch}:%{version}-%{release}
321Requires: %{name}-mod_quotatab = %{epoch}:%{version}-%{release}
322Requires: %{name}-mod_sql = %{epoch}:%{version}-%{release}
323
324%description mod_quotatab_sql
325A mod_quotatab sub-module for managing quota data via SQL-based
326tables.
327
840f54f1
JR
328%description mod_quotatab_sql -l pl.UTF-8
329Podmoduł mod_quotatab do zarządzania danymi o ograniczeniach poprzez
018e0f25
JB
330tabele SQL.
331
a62be9f3 332%package mod_ratio
018e0f25 333Summary: ProFTPD ratio module
8529003f 334Summary(pl.UTF-8): Moduł ratio dla ProFTPD
89efc142 335Group: Networking/Daemons
a62be9f3
ER
336Requires: %{name}-common = %{epoch}:%{version}-%{release}
337
338%description mod_ratio
339Support upload/download ratios.
340
840f54f1
JR
341%description mod_ratio -l pl.UTF-8
342Obsługa współczynników upload/download.
018e0f25 343
a62be9f3
ER
344%package mod_readme
345Summary: ProFTPD readme module
8529003f 346Summary(pl.UTF-8): Moduł readme dla ProFTPD
89efc142 347Group: Networking/Daemons
a62be9f3
ER
348Requires: %{name}-common = %{epoch}:%{version}-%{release}
349
350%description mod_readme
351"README" file support.
352
840f54f1
JR
353%description mod_readme -l pl.UTF-8
354Obsługa pliku "README".
018e0f25 355
6cf064e5 356%package mod_rewrite
357Summary: ProFTPD rewrite module
358Summary(pl.UTF-8): Moduł rewrite dla ProFTPD
89efc142 359Group: Networking/Daemons
6cf064e5 360Requires: %{name}-common = %{epoch}:%{version}-%{release}
361
362%description mod_rewrite
363Runtime rewrite engine.
364
debd9bf3
JB
365%description mod_rewrite -l pl.UTF-8
366Silnik przepisujący adresy w locie.
367
a62be9f3
ER
368%package mod_sql
369Summary: ProFTPD SQL support module
8529003f 370Summary(pl.UTF-8): Moduł obsługi SQL dla ProFTPD
89efc142 371Group: Networking/Daemons
a62be9f3
ER
372Requires: %{name}-common = %{epoch}:%{version}-%{release}
373
374%description mod_sql
375This module provides the necessary support for SQL based
376authentication, logging and other features as required.
377
840f54f1
JR
378%description mod_sql -l pl.UTF-8
379Ten moduł dodaje obsługę SQL potrzebną do uwierzytelniania, logowania
380i innych możliwości opartych o SQL.
018e0f25 381
a62be9f3
ER
382%package mod_sql_mysql
383Summary: ProFTPD sql mysql module
8529003f 384Summary(pl.UTF-8): Moduł sql_mysql dla ProFTPD
89efc142 385Group: Networking/Daemons
a62be9f3
ER
386Requires: %{name}-common = %{epoch}:%{version}-%{release}
387Requires: %{name}-mod_sql = %{epoch}:%{version}-%{release}
82547e9c 388
a62be9f3
ER
389%description mod_sql_mysql
390Support for connecting to MySQL databases.
391
840f54f1
JR
392%description mod_sql_mysql -l pl.UTF-8
393Obsługa łączenia się z bazami danych MySQL.
018e0f25 394
a62be9f3
ER
395%package mod_sql_postgres
396Summary: ProFTPD sql postgres module
8529003f 397Summary(pl.UTF-8): Moduł sql_postgres dla ProFTPD
89efc142 398Group: Networking/Daemons
a62be9f3
ER
399Requires: %{name}-common = %{epoch}:%{version}-%{release}
400Requires: %{name}-mod_sql = %{epoch}:%{version}-%{release}
401
402%description mod_sql_postgres
018e0f25
JB
403Support for connecting to PostgreSQL databases.
404
840f54f1
JR
405%description mod_sql_postgres -l pl.UTF-8
406Obsługa łączenia się z bazami danych PostgreSQL.
a62be9f3
ER
407
408%package mod_tls
409Summary: ProFTPD TLS support
8529003f 410Summary(pl.UTF-8): Obsługa TLS dla ProFTPD
89efc142 411Group: Networking/Daemons
a62be9f3
ER
412Requires: %{name}-common = %{epoch}:%{version}-%{release}
413
414%description mod_tls
415An RFC2228 SSL/TLS module for ProFTPD.
416
840f54f1
JR
417%description mod_tls -l pl.UTF-8
418Moduł SSL/TLS zgodny z RFC2228 dla ProFTPD.
018e0f25 419
a62be9f3 420%package mod_wrap
018e0f25 421Summary: ProFTPD interface to libwrap
8529003f 422Summary(pl.UTF-8): Interfejs ProFTPD do libwrap
89efc142 423Group: Networking/Daemons
a62be9f3
ER
424Requires: %{name}-common = %{epoch}:%{version}-%{release}
425Requires: libwrap
426
427%description mod_wrap
428It enables the daemon to use the common tcpwrappers access control
429library while in standalone mode, and in a very configurable manner.
430
431Many programs will automatically add entries in the common allow/deny
432files, and use of this module will allow a ProFTPD daemon running in
433standalone mode to adapt as these entries are added. The portsentry
434program does this, for example: when illegal access is attempted, it
435will add hosts to the /etc/hosts.deny file.
436
840f54f1
JR
437%description mod_wrap -l pl.UTF-8
438Ten pakiet pozwala demonowi używać wspólnej biblioteki kontroli
439dostępu tcpwrappers w trybie samodzielnym w bardzo wygodny sposób.
018e0f25 440
840f54f1
JR
441Wiele programów automatycznie dodaje wpisy we wspólnych plikach
442allow/deny, a użycie tego modułu pozwala demonowi ProFTPD działającemu
443w trybie samodzielnym adaptować te wpisy w miarę dodawania. Robi tak
444na przykład program portsentry: przy próbie niedozwolonego dostępu
018e0f25
JB
445dodaje hosty do pliku /etc/hosts.deny.
446
a62be9f3 447%prep
3fd10053 448%setup -q -n %{name}-%{version}%{?_rc} -a1
b87d6462 449%patch0 -p1
5cb6df78 450%patch1 -p1
b87d6462
MW
451%patch2 -p1
452%patch3 -p1
f8c6b2a1 453
3fd10053 454# mod_clamav
cc0e338b 455patch -p0 < mod_clamav-%{mod_clamav_version}/proftpd.patch || exit 1
3fd10053
JR
456cp -a mod_clamav-%{mod_clamav_version}/*.{c,h} contrib/
457
69a15f0d 458cp -f /usr/share/automake/config.sub .
9c6ec5e2
ER
459
460# cleanup backups after patching
461find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
462
d87c1f21
AM
463sed -E -i -e '1s,#![[:space:]]*/usr/bin/env[[:space:]]+perl,#!%{__perl},' \
464 contrib/ftpasswd \
465 contrib/ftpmail \
466 contrib/ftpquota \
467 contrib/xferstats.holger-preiss \
468 src/prxs.in
469
9c6ec5e2 470%build
41af587d 471%{__autoconf}
0ef9be5d
ER
472
473MODULES="
d13a2fd3
TP
474mod_auth_file
475mod_ident
0ef9be5d
ER
476mod_ratio
477mod_readme
6cf064e5 478mod_rewrite
a62be9f3 479mod_wrap
d13a2fd3
TP
480mod_facl
481mod_ifsession
0ef9be5d 482%{?with_ssl:mod_tls}
0ef9be5d
ER
483%{?with_pam:mod_auth_pam}
484%{?with_ldap:mod_ldap}
485%{?with_quotafile:mod_quotatab mod_quotatab_file}
486%{?with_quotaldap:mod_quotatab mod_quotatab_ldap}
487%{?with_quotamysql:mod_quotatab mod_quotatab_sql}
488%{?with_quotapgsql:mod_quotatab mod_quotatab_sql}
0ef9be5d
ER
489%{?with_mysql:mod_sql mod_sql_mysql}
490%{?with_pgsql:mod_sql mod_sql_postgres}
491"
492
a62be9f3 493MODARG=$(echo $MODULES | tr ' ' '\n' | sort -u | xargs | tr ' ' ':')
3531a682 494%configure \
367a54d9 495 --with-includes=/usr/include/ncurses%{?with_mysql::%{_includedir}/mysql} \
3fb73282 496 --disable-strip \
2c1da1ca 497 --enable-buffer-size=4096 \
d13a2fd3 498 --disable-auth-file \
e95a6f1e 499 --enable-autoshadow \
a62be9f3 500 --enable-ctrls \
d2bb21b9 501 --enable-nls \
a62be9f3 502 --enable-dso \
2e58659a 503 %{?with_ipv6:--enable-ipv6} \
a62be9f3 504 --enable-sendfile \
2e58659a 505 %{!?with_ssl:--disable-tls} \
a62be9f3 506 --with-shared=$MODARG \
3fd10053 507 --with-modules=mod_clamav
060127a7 508
cf9db571 509%{__make} -j1
12250d98 510
511%install
512rm -rf $RPM_BUILD_ROOT
b1cddbe1 513install -d $RPM_BUILD_ROOT/etc/{pam.d,security,sysconfig/rc-inetd,rc.d/init.d} \
3fd10053 514 $RPM_BUILD_ROOT/var/{lib/ftp/pub/Incoming,log,run/proftpd} \
a62be9f3 515 $RPM_BUILD_ROOT%{_sysconfdir}/conf.d \
48217a3f
JR
516 $RPM_BUILD_ROOT%{_includedir}/%{name} \
517 $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
42d1ba60 518
a294d837
PG
519%{__make} install \
520 DESTDIR=$RPM_BUILD_ROOT \
c4b4ddf1
ER
521 INSTALL_USER=%(id -u) \
522 INSTALL_GROUP=%(id -g)
f8c6b2a1 523
a62be9f3 524rm $RPM_BUILD_ROOT%{_sbindir}/in.proftpd
efae4c7e 525
3fd10053 526install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}
a62be9f3 527install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_auth_pam.conf
d13a2fd3
TP
528MODULES="
529mod_auth_file
530mod_ident
531mod_ratio
532mod_readme
533mod_rewrite
534mod_wrap
535%{?with_ldap:mod_ldap}
536%{?with_quotafile:mod_quotatab mod_quotatab_file}
537%{?with_quotaldap:mod_quotatab mod_quotatab_ldap}
538%{?with_quotamysql:mod_quotatab mod_quotatab_sql}
539%{?with_quotapgsql:mod_quotatab mod_quotatab_sql}
540%{?with_mysql:mod_sql mod_sql_mysql}
541%{?with_pgsql:mod_sql mod_sql_postgres}
542"
543for module in $MODULES; do
544 echo "LoadModule $module.c" > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/$module.conf
545done
1af975e5 546install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_tls.conf
367a54d9 547install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/anonftp.conf
86dc1cff 548install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_clamav.conf
a62be9f3 549
2e58659a 550%{?with_pam:install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/ftp}
3915e5da 551install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/ftpd
15a3b9cf
JR
552install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/proftpd
553install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/proftpd
66721136 554install contrib/xferstats.holger-preiss $RPM_BUILD_ROOT%{_bindir}/xferstat
e95a6f1e 555
372155e4 556bzip2 -dc %{SOURCE7} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
0fba9130 557
3915e5da 558:> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers.default
559:> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers
e95a6f1e 560
48217a3f
JR
561install %{SOURCE13} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
562
a62be9f3 563# only for -inetd package?
c9f4d6dc 564ln -sf proftpd $RPM_BUILD_ROOT%{_sbindir}/ftpd
efae4c7e 565
91058308 566:> $RPM_BUILD_ROOT/etc/security/blacklist.ftp
567
d13a2fd3
TP
568rm $RPM_BUILD_ROOT%{_libexecdir}/*.a
569rm $RPM_BUILD_ROOT%{_libexecdir}/*.la
a62be9f3 570
b1cddbe1 571rm -f $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff*
9c6ec5e2 572cp -aL include/* config.h $RPM_BUILD_ROOT%{_includedir}/%{name}
acb6a758 573
60543e07
AM
574mv $RPM_BUILD_ROOT%{_datadir}/locale/bg{_BG,}
575mv $RPM_BUILD_ROOT%{_datadir}/locale/es{_ES,}
576mv $RPM_BUILD_ROOT%{_datadir}/locale/fr{_FR,}
577mv $RPM_BUILD_ROOT%{_datadir}/locale/it{_IT,}
578mv $RPM_BUILD_ROOT%{_datadir}/locale/ja{_JP,}
579mv $RPM_BUILD_ROOT%{_datadir}/locale/ko{_KR,}
580mv $RPM_BUILD_ROOT%{_datadir}/locale/ru{_RU,}
581
cc0e338b
AM
582%find_lang %{name}
583
a6fa6631
JB
584%clean
585rm -rf $RPM_BUILD_ROOT
e95a6f1e 586
4498344e 587%post common
16865efe 588umask 027
8eb57af0 589awk -F: '{ if (($3 < 500) && ($1 != "ftp")) print $1; }' < /etc/passwd >> %{_sysconfdir}/ftpusers.default
3915e5da 590if [ ! -f %{_sysconfdir}/ftpusers ]; then
16865efe 591 cp -f %{_sysconfdir}/ftpusers.default %{_sysconfdir}/ftpusers
f2119458 592fi
4d723dc9 593
a62be9f3 594%posttrans inetd
15a3b9cf 595if grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf ; then
8eb57af0
ER
596 cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
597 sed -i -e 's/^ServerType[[:space:]]\+standalone/ServerType inetd/g' %{_sysconfdir}/proftpd.conf
15a3b9cf 598fi
af998dea 599%service -q rc-inetd reload
5178b82d 600
15a3b9cf 601%postun inetd
af998dea
ER
602if [ "$1" = "0" ]; then
603 %service -q rc-inetd reload
29aece6c 604fi
12250d98 605
a62be9f3 606%posttrans standalone
15a3b9cf 607if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf ; then
8eb57af0
ER
608 cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
609 sed -i -e 's/^ServerType[[:space:]]\+inetd/ServerType standalone/g' %{_sysconfdir}/proftpd.conf
15a3b9cf 610fi
af998dea
ER
611/sbin/chkconfig --add proftpd
612%service proftpd restart "ProFTPD daemon"
15a3b9cf
JR
613
614%preun standalone
f7d997ba 615if [ "$1" = "0" ]; then
af998dea 616 %service proftpd stop
f7d997ba 617 /sbin/chkconfig --del proftpd
29aece6c 618fi
15a3b9cf 619
a60cdb30
JR
620%triggerin standalone -- pam
621# restart proftpd if pam is upgraded
622# (proftpd is linked with old libpam but tries to open modules linked with new libpam)
623if [ "$2" != 1 ]; then
624 %service -q proftpd restart
625fi
626
a62be9f3
ER
627# macro called at module post scriptlet
628%define module_post \
629if [ "$1" = "1" ]; then \
630 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
631 %service -q rc-inetd reload \
632 elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
633 %service -q proftpd restart \
634 fi \
635fi
636
637# macro called at module postun scriptlet
638%define module_postun \
639if [ "$1" = "0" ]; then \
640 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
641 %service -q rc-inetd reload \
642 elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
643 %service -q proftpd restart \
644 fi \
645fi
646
647# it's sooo annoying to write them
648%define module_scripts() \
649%post %1 \
650%module_post \
651\
652%postun %1 \
653%module_postun
654
655%module_scripts mod_auth_pam
656%module_scripts mod_ldap
657%module_scripts mod_quotatab
658%module_scripts mod_quotatab_file
659%module_scripts mod_quotatab_ldap
660%module_scripts mod_quotatab_sql
661%module_scripts mod_ratio
662%module_scripts mod_readme
6cf064e5 663%module_scripts mod_rewrite
a62be9f3
ER
664%module_scripts mod_sql
665%module_scripts mod_sql_mysql
666%module_scripts mod_sql_postgres
667%module_scripts mod_tls
668%module_scripts mod_wrap
669
cc0e338b 670%files common -f %{name}.lang
060127a7 671%defattr(644,root,root,755)
1ea19330 672%doc sample-configurations/*.conf CREDITS ChangeLog NEWS RELEASE_NOTES
cf16444b 673%doc README.md README.capabilities README.classes README.controls README.IPv6
d03b6eea 674%doc README.modules
2a67e8f1 675%doc doc/*.html doc/contrib doc/howto doc/modules
a62be9f3 676%dir %attr(750,root,ftp) %dir %{_sysconfdir}
d8cfd64c 677%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
ebc84569
PG
678%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/ftpusers
679%attr(640,root,root) %{_sysconfdir}/ftpusers.default
a62be9f3 680%dir %attr(750,root,root) %{_sysconfdir}/conf.d
d13a2fd3
TP
681%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_auth_file.conf
682%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ident.conf
86dc1cff 683%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_clamav.conf
90d88248 684#%attr(640,root,root) %ghost /var/log/*
7118a494 685%attr(755,root,root) %{_bindir}/*
6c45e3b3 686%attr(755,root,root) %{_sbindir}/*
d13a2fd3
TP
687%dir %{_libexecdir}
688%attr(755,root,root) %{_libexecdir}/mod_auth_file.so
689%attr(755,root,root) %{_libexecdir}/mod_facl.so
690%attr(755,root,root) %{_libexecdir}/mod_ident.so
691%attr(755,root,root) %{_libexecdir}/mod_ifsession.so
86e5ce30 692%dir %{_localstatedir}/proftpd
48217a3f 693/usr/lib/tmpfiles.d/%{name}.conf
65e2b723
JR
694%{_mandir}/man5/*
695%lang(ja) %{_mandir}/ja/man5/ftpusers*
696%lang(pl) %{_mandir}/pl/man5/ftpusers*
697%lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
698%lang(ru) %{_mandir}/ru/man5/ftpusers*
0fba9130 699%{_mandir}/man[18]/*
372155e4
TO
700%dir /var/lib/ftp
701%dir /var/lib/ftp/pub
5b54e24d 702%attr(711,ftp,ftp) %dir /var/lib/ftp/pub/Incoming
15a3b9cf
JR
703
704%files inetd
705%defattr(644,root,root,755)
15a3b9cf
JR
706%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/ftpd
707
708%files standalone
709%defattr(644,root,root,755)
acb6a758 710%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/proftpd
15a3b9cf 711%attr(754,root,root) /etc/rc.d/init.d/proftpd
a62be9f3
ER
712
713%files devel
714%defattr(644,root,root,755)
715%{_includedir}/%{name}
32ba901e 716%{_pkgconfigdir}/%{name}.pc
a62be9f3 717
e37dae10
ER
718%files anonftp
719%defattr(644,root,root,755)
720%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/anonftp.conf
721
1dba37cb 722%if %{with pam}
a62be9f3
ER
723%files mod_auth_pam
724%defattr(644,root,root,755)
725%doc README.PAM
726%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
02a964e1 727%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.ftp
a62be9f3
ER
728%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_auth_pam.conf
729%attr(755,root,root) %{_libexecdir}/mod_auth_pam.so
1dba37cb 730%endif
a62be9f3 731
1dba37cb 732%if %{with ldap}
a62be9f3
ER
733%files mod_ldap
734%defattr(644,root,root,755)
735%doc README.LDAP
736%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ldap.conf
737%attr(755,root,root) %{_libexecdir}/mod_ldap.so
1dba37cb 738%endif
a62be9f3
ER
739
740%files mod_quotatab
741%defattr(644,root,root,755)
742%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab.conf
743%attr(755,root,root) %{_libexecdir}/mod_quotatab.so
744
1dba37cb 745%if %{with quotafile}
a62be9f3
ER
746%files mod_quotatab_file
747%defattr(644,root,root,755)
748%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_file.conf
749%attr(755,root,root) %{_libexecdir}/mod_quotatab_file.so
1dba37cb 750%endif
a62be9f3 751
1dba37cb 752%if %{with quotaldap}
a62be9f3
ER
753%files mod_quotatab_ldap
754%defattr(644,root,root,755)
755%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_ldap.conf
756%attr(755,root,root) %{_libexecdir}/mod_quotatab_ldap.so
1dba37cb 757%endif
a62be9f3 758
1dba37cb 759%if %{with quotamysql} || %{with quotapgsql}
a62be9f3
ER
760%files mod_quotatab_sql
761%defattr(644,root,root,755)
762%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_sql.conf
763%attr(755,root,root) %{_libexecdir}/mod_quotatab_sql.so
1dba37cb 764%endif
a62be9f3
ER
765
766%files mod_ratio
767%defattr(644,root,root,755)
2a67e8f1 768%doc contrib/README.ratio
a62be9f3
ER
769%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ratio.conf
770%attr(755,root,root) %{_libexecdir}/mod_ratio.so
771
772%files mod_readme
773%defattr(644,root,root,755)
774%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_readme.conf
775%attr(755,root,root) %{_libexecdir}/mod_readme.so
776
6cf064e5 777%files mod_rewrite
778%defattr(644,root,root,755)
779%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_rewrite.conf
780%attr(755,root,root) %{_libexecdir}/mod_rewrite.so
781
1dba37cb 782%if %{with mysql} || %{with pgsql}
a62be9f3
ER
783%files mod_sql
784%defattr(644,root,root,755)
785%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql.conf
786%attr(755,root,root) %{_libexecdir}/mod_sql.so
1dba37cb 787%endif
a62be9f3 788
1dba37cb 789%if %{with mysql}
a62be9f3
ER
790%files mod_sql_mysql
791%defattr(644,root,root,755)
792%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_mysql.conf
793%attr(755,root,root) %{_libexecdir}/mod_sql_mysql.so
1dba37cb 794%endif
a62be9f3 795
1dba37cb 796%if %{with pgsql}
a62be9f3
ER
797%files mod_sql_postgres
798%defattr(644,root,root,755)
799%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_postgres.conf
800%attr(755,root,root) %{_libexecdir}/mod_sql_postgres.so
1dba37cb 801%endif
a62be9f3
ER
802
803%files mod_tls
804%defattr(644,root,root,755)
805%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_tls.conf
806%attr(755,root,root) %{_libexecdir}/mod_tls.so
807
808%files mod_wrap
809%defattr(644,root,root,755)
810%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_wrap.conf
811%attr(755,root,root) %{_libexecdir}/mod_wrap.so
This page took 0.222249 seconds and 4 git commands to generate.