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