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