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