]> git.pld-linux.org Git - packages/proftpd.git/blob - proftpd.spec
- rediff patches
[packages/proftpd.git] / proftpd.spec
1 # TODO
2 # - test mod_clamav as DSO (README says it's allowed)
3 # - mod_caps uses uname -r for detection
4 # - don't use internal libltdl
5 # - package contrib/ftp* perl scripts.
6 #
7 # Conditional build:
8 %bcond_without  pam             # PAM support
9 %bcond_without  ipv6            # IPv6 and TCPD support
10 %bcond_without  ssl             # TLS/SSL support
11 %bcond_without  ldap            # LDAP support
12 %bcond_without  mysql           # MySQL support
13 %bcond_without  pgsql           # PostgreSQL support
14 %bcond_without  quotafile       # quota file support
15 %bcond_without  quotaldap       # quota ldap support
16 %bcond_without  quotamysql      # quota mysql support
17 %bcond_without  quotapgsql      # quota pgsql support
18 #
19 %define         mod_clamav_version      0.13
20
21 Summary:        PROfessional FTP Daemon with apache-like configuration syntax
22 Summary(es.UTF-8):      Servidor FTP profesional, con sintaxis de configuración semejante a la del apache
23 Summary(pl.UTF-8):      PROfesionalny serwer FTP
24 Summary(pt_BR.UTF-8):   Servidor FTP profissional, com sintaxe de configuração semelhante à do apache
25 Summary(zh_CN.UTF-8):   易于管理的,安全的 FTP 服务器
26 Name:           proftpd
27 Version:        1.3.7a
28 Release:        2
29 Epoch:          2
30 License:        GPL v2+
31 Group:          Networking/Daemons
32 Source0:        ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}.tar.gz
33 # Source0-md5:  4a9b8877b2e9b08d70e71ad56c19e2c9
34 # https://github.com/jbenden/mod_clamav/releases
35 Source1:        https://github.com/jbenden/mod_clamav/archive/v%{mod_clamav_version}/mod_clamav-%{mod_clamav_version}.tar.gz
36 # Source1-md5:  955269eb8b00ebcc217bbd6f74df4e1c
37 Source2:        %{name}.conf
38 Source3:        ftp.pamd
39 Source4:        %{name}.inetd
40 Source5:        %{name}.sysconfig
41 Source6:        %{name}.init
42 Source7:        ftpusers.tar.bz2
43 # Source7-md5:  76c80b6ec9f4d079a1e27316edddbe16
44 Source9:        %{name}-mod_pam.conf
45 Source10:       %{name}-mod_tls.conf
46 Source11:       %{name}-anonftp.conf
47 Source12:       %{name}-mod_clamav.conf
48 Source13:       %{name}.tmpfiles
49 Patch0:         %{name}-paths.patch
50 Patch1:         %{name}-noautopriv.patch
51 Patch2:         %{name}-wtmp.patch
52 Patch3:         %{name}-pool.patch
53 Patch4:         %{name}-link.patch
54 URL:            http://www.proftpd.org/
55 BuildRequires:  GeoIP-devel
56 BuildRequires:  acl-devel
57 BuildRequires:  autoconf
58 BuildRequires:  automake
59 BuildRequires:  hiredis-devel
60 BuildRequires:  libcap-devel
61 BuildRequires:  libmemcached-devel
62 BuildRequires:  libnsl-devel
63 BuildRequires:  libstdc++-devel
64 BuildRequires:  libwrap-devel
65 %if %{with mysql} || %{with quotamysql}
66 BuildRequires:  mysql-devel
67 %endif
68 BuildRequires:  ncurses-devel
69 %if %{with ldap} || %{with quotaldap}
70 BuildRequires:  openldap-devel
71 %endif
72 %{?with_ssl:BuildRequires:      openssl-devel >= 0.9.7d}
73 %{?with_pam:BuildRequires:              pam-devel}
74 %if %{with pgsql} || %{with quotapgsql}
75 BuildRequires:  postgresql-devel
76 %endif
77 BuildRequires:  rpm-perlprov
78 BuildRequires:  rpmbuild(macros) >= 1.745
79 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80
81 %define         _sysconfdir             /etc/ftpd
82 %define         _localstatedir          /var/run
83 %define         _libexecdir             %{_prefix}/%{_lib}/%{name}
84
85 %define         filterout               -flto
86
87 %description
88 ProFTPD is a highly configurable FTP daemon for Unix and Unix-like
89 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
90 replacement for wu-ftpd. Full online documentation is available at
91 <http://www.proftpd.org/>, including a server configuration directive
92 reference manual.
93
94 %description -l es.UTF-8
95 ProFTPD es un servidor FTP altamente configurable para sistemas
96 operativos Unix. Está proyectado para ser un substituto directo al
97 wu-ftpd. La documentación completa está disponible en
98 <http://www.proftpd.org/>, incluido el manual de referencia para las
99 directivas de configuración del servidor.
100
101 %description -l pl.UTF-8
102 ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
103 ProFTPD jest robiony jako bezpośredni zamiennik wu-ftpd. Pełna
104 dokumentacja jest dostępna on-line pod <http://www.proftpd.org/>
105 włącznie z dokumentacją dotyczącą konfigurowania.
106
107 %description -l pt_BR.UTF-8
108 O ProFTPD é um servidor FTP altamente configurável para sistemas
109 operacionais Unix.
110
111 É projetado para ser um substituto direto para o wu-ftpd. A
112 documentação completa está disponível em <http://www.proftpd.org/>,
113 incluindo o manual de referência para as diretivas de configuração do
114 servidor.
115
116 %package common
117 Summary:        PROfessional FTP Daemon with apache-like configuration syntax - common files
118 Summary(pl.UTF-8):      PROfesionalny serwer FTP - wspólne pliki
119 Group:          Networking/Daemons
120 Requires(post): awk
121 Requires(post): fileutils
122 Obsoletes:      proftpd < 0:1.2.2rc1-3
123
124 %description common
125 ProFTPD is a highly configurable FTP daemon for Unix and Unix-like
126 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
127 replacement for wu-ftpd. Full online documentation is available at
128 <http://www.proftpd.org/>, including a server configuration directive
129 reference manual.
130
131 %description common -l es.UTF-8
132 ProFTPD es un servidor FTP altamente configurable para sistemas
133 operativos Unix. Está proyectado para ser un substituto directo al
134 wu-ftpd. La documentación completa está disponible en
135 <http://www.proftpd.org/>, incluido el manual de referencia para las
136 directivas de configuración del servidor.
137
138 %description common -l pl.UTF-8
139 ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
140 ProFTPD jest robiony jako bezpośredni zamiennik wu-ftpd. Pełna
141 dokumentacja jest dostępna on-line pod <http://www.proftpd.org/>
142 włącznie z dokumentacją dotyczącą konfigurowania.
143
144 %description common -l pt_BR.UTF-8
145 O ProFTPD é um servidor FTP altamente configurável para sistemas
146 operacionais Unix.
147
148 É projetado para ser um substituto direto para o wu-ftpd. A
149 documentação completa está disponível em <http://www.proftpd.org/>,
150 incluindo o manual de referência para as diretivas de configuração do
151 servidor.
152
153 %package inetd
154 Summary:        inetd configs for proftpd
155 Summary(pl.UTF-8):      Pliki konfiguracyjne do użycia proftpd poprzez inetd
156 Group:          Networking/Daemons
157 Requires(post): fileutils
158 Requires(post): grep
159 Requires(post,postun):  sed >= 4.0
160 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
161 Requires:       rc-inetd
162 Provides:       ftpserver
163 Provides:       proftpd = %{epoch}:%{version}-%{release}
164 Obsoletes:      anonftp
165 Obsoletes:      bftpd
166 Obsoletes:      ftpd-BSD
167 Obsoletes:      ftpserver
168 Obsoletes:      glftpd
169 Obsoletes:      heimdal-ftpd
170 Obsoletes:      krb5-ftpd
171 Obsoletes:      linux-ftpd
172 Obsoletes:      muddleftpd
173 Obsoletes:      proftpd-standalone
174 Obsoletes:      pure-ftpd
175 Obsoletes:      troll-ftpd
176 Obsoletes:      vsftpd
177 Obsoletes:      wu-ftpd
178 Conflicts:      man-pages < 1.51
179 Conflicts:      rpm < 4.4.2-0.2
180
181 %description inetd
182 ProFTPD configs for running from inetd.
183
184 %description inetd -l pl.UTF-8
185 Pliki konfiguracyjna ProFTPD do startowania demona poprzez inetd.
186
187 %package standalone
188 Summary:        Standalone daemon configs for proftpd
189 Summary(pl.UTF-8):      Pliki konfiguracyjne do startowania proftpd w trybie standalone
190 Group:          Networking/Daemons
191 Requires(post): fileutils
192 Requires(post): grep
193 Requires(post,postun):  sed >= 4.0
194 Requires(post,preun):   /sbin/chkconfig
195 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
196 Requires:       rc-scripts
197 Provides:       ftpserver
198 Provides:       proftpd = %{epoch}:%{version}-%{release}
199 Obsoletes:      anonftp
200 Obsoletes:      bftpd
201 Obsoletes:      ftpd-BSD
202 Obsoletes:      ftpserver
203 Obsoletes:      glftpd
204 Obsoletes:      heimdal-ftpd
205 Obsoletes:      krb5-ftpd
206 Obsoletes:      linux-ftpd
207 Obsoletes:      muddleftpd
208 Obsoletes:      proftpd-inetd
209 Obsoletes:      pure-ftpd
210 Obsoletes:      troll-ftpd
211 Obsoletes:      vsftpd
212 Obsoletes:      wu-ftpd
213 Conflicts:      man-pages < 1.51
214 Conflicts:      rpm < 4.4.2-0.2
215
216 %description standalone
217 ProFTPD configs for running as a standalone daemon.
218
219 %description standalone -l pl.UTF-8
220 Pliki konfiguracyjne ProFTPD do startowania demona w trybie
221 standalone.
222
223 %package devel
224 Summary:        Header files ProFTPD
225 Summary(pl.UTF-8):      Pliki nagłówkowe ProFTPD
226 Group:          Development/Libraries
227 Requires:       acl-devel
228
229 %description devel
230 This is the package containing the header files for ProFTPD.
231
232 %description devel -l pl.UTF-8
233 Ten pakiet zawiera pliki nagłówkowe ProFTPD
234
235 %package anonftp
236 Summary:        Anonymous FTP config for ProFTPD
237 Summary(pl.UTF-8):      Konfiguracja anonimowego FTP dla ProFTPD
238 Group:          Networking/Daemons
239 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
240
241 %description anonftp
242 Anonymous FTP config for ProFTPD.
243
244 %description anonftp -l pl.UTF-8
245 Konfiguracja anonimowego FTP dla ProFTPD.
246
247 %package mod_auth_pam
248 Summary:        ProFTPD PAM auth module
249 Summary(pl.UTF-8):      Moduł uwierzytelnienia PAM dla ProFTPD
250 Group:          Networking/Daemons
251 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
252 Requires:       pam >= 0.79.0
253
254 %description mod_auth_pam
255 PAM authentication method for ProFTPD.
256
257 %description mod_auth_pam -l pl.UTF-8
258 Metoda uwierzytelnienia PAM dla ProFTPD.
259
260 %package mod_ldap
261 Summary:        ProFTPD OpenLDAP module
262 Summary(pl.UTF-8):      Moduł OpenLDAP dla ProFTPD
263 Group:          Networking/Daemons
264 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
265
266 %description mod_ldap
267 mod_ldap provides LDAP authentication support for ProFTPD. It supports
268 many features useful in "toaster" environments such as default UID/GID
269 and autocreation/autogeneration of home directories.
270
271 %description mod_ldap -l pl.UTF-8
272 mod_ldap dodaje obsługę uwierzytelnienia LDAP do ProFTPD. Obsługuje
273 wiele cech przydatnych w środowiskach "tosterowych", takich jak
274 domyślny UID/GID i automatyczne tworzenie/generowanie katalogów
275 domowych.
276
277 %package mod_quotatab
278 Summary:        ProFTPD quotatab module
279 Summary(pl.UTF-8):      Moduł quotatab dla ProFTPD
280 Group:          Networking/Daemons
281 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
282
283 %description mod_quotatab
284 A module for managing FTP byte/file quotas via centralized tables.
285
286 %description mod_quotatab -l pl.UTF-8
287 Moduł do zarządzania ograniczeniami bajtów/plików FTP poprzez
288 scentralizowane tabele.
289
290 %package mod_quotatab_file
291 Summary:        ProFTPD quotatab file module
292 Summary(pl.UTF-8):      Moduł quotatab_file dla ProFTPD
293 Group:          Networking/Daemons
294 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
295 Requires:       %{name}-mod_quotatab = %{epoch}:%{version}-%{release}
296
297 %description mod_quotatab_file
298 A mod_quotatab sub-module for managing quota data via file-based
299 tables.
300
301 %description mod_quotatab_file -l pl.UTF-8
302 Podmoduł mod_quotatab do zarządzania danymi o ograniczeniach poprzez
303 tabele zapisane w pliku.
304
305 %package mod_quotatab_ldap
306 Summary:        ProFTPD quotatab ldap module
307 Summary(pl.UTF-8):      Moduł quotatab_ldap dla ProFTPD
308 Group:          Networking/Daemons
309 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
310 Requires:       %{name}-mod_ldap = %{epoch}:%{version}-%{release}
311 Requires:       %{name}-mod_quotatab = %{epoch}:%{version}-%{release}
312
313 %description mod_quotatab_ldap
314 A mod_quotatab sub-module for obtaining quota information from an LDAP
315 directory.
316
317 %description mod_quotatab_ldap -l pl.UTF-8
318 Podmoduł mod_quotatab do pobierania informacji o ograniczeniach z
319 katalogu LDAP.
320
321 %package mod_quotatab_sql
322 Summary:        ProFTPD quotatab sql module
323 Summary(pl.UTF-8):      Moduł quotatab_sql dla ProFTPD
324 Group:          Networking/Daemons
325 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
326 Requires:       %{name}-mod_quotatab = %{epoch}:%{version}-%{release}
327 Requires:       %{name}-mod_sql = %{epoch}:%{version}-%{release}
328
329 %description mod_quotatab_sql
330 A mod_quotatab sub-module for managing quota data via SQL-based
331 tables.
332
333 %description mod_quotatab_sql -l pl.UTF-8
334 Podmoduł mod_quotatab do zarządzania danymi o ograniczeniach poprzez
335 tabele SQL.
336
337 %package mod_ratio
338 Summary:        ProFTPD ratio module
339 Summary(pl.UTF-8):      Moduł ratio dla ProFTPD
340 Group:          Networking/Daemons
341 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
342
343 %description mod_ratio
344 Support upload/download ratios.
345
346 %description mod_ratio -l pl.UTF-8
347 Obsługa współczynników upload/download.
348
349 %package mod_readme
350 Summary:        ProFTPD readme module
351 Summary(pl.UTF-8):      Moduł readme dla ProFTPD
352 Group:          Networking/Daemons
353 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
354
355 %description mod_readme
356 "README" file support.
357
358 %description mod_readme -l pl.UTF-8
359 Obsługa pliku "README".
360
361 %package mod_rewrite
362 Summary:        ProFTPD rewrite module
363 Summary(pl.UTF-8):      Moduł rewrite dla ProFTPD
364 Group:          Networking/Daemons
365 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
366
367 %description mod_rewrite
368 Runtime rewrite engine.
369
370 %description mod_rewrite -l pl.UTF-8
371 Silnik przepisujący adresy w locie.
372
373 %package mod_sql
374 Summary:        ProFTPD SQL support module
375 Summary(pl.UTF-8):      Moduł obsługi SQL dla ProFTPD
376 Group:          Networking/Daemons
377 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
378
379 %description mod_sql
380 This module provides the necessary support for SQL based
381 authentication, logging and other features as required.
382
383 %description mod_sql -l pl.UTF-8
384 Ten moduł dodaje obsługę SQL potrzebną do uwierzytelniania, logowania
385 i innych możliwości opartych o SQL.
386
387 %package mod_sql_mysql
388 Summary:        ProFTPD sql mysql module
389 Summary(pl.UTF-8):      Moduł sql_mysql dla ProFTPD
390 Group:          Networking/Daemons
391 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
392 Requires:       %{name}-mod_sql = %{epoch}:%{version}-%{release}
393
394 %description mod_sql_mysql
395 Support for connecting to MySQL databases.
396
397 %description mod_sql_mysql -l pl.UTF-8
398 Obsługa łączenia się z bazami danych MySQL.
399
400 %package mod_sql_postgres
401 Summary:        ProFTPD sql postgres module
402 Summary(pl.UTF-8):      Moduł sql_postgres dla ProFTPD
403 Group:          Networking/Daemons
404 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
405 Requires:       %{name}-mod_sql = %{epoch}:%{version}-%{release}
406
407 %description mod_sql_postgres
408 Support for connecting to PostgreSQL databases.
409
410 %description mod_sql_postgres -l pl.UTF-8
411 Obsługa łączenia się z bazami danych PostgreSQL.
412
413 %package mod_tls
414 Summary:        ProFTPD TLS support
415 Summary(pl.UTF-8):      Obsługa TLS dla ProFTPD
416 Group:          Networking/Daemons
417 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
418
419 %description mod_tls
420 An RFC2228 SSL/TLS module for ProFTPD.
421
422 %description mod_tls -l pl.UTF-8
423 Moduł SSL/TLS zgodny z RFC2228 dla ProFTPD.
424
425 %package mod_wrap
426 Summary:        ProFTPD interface to libwrap
427 Summary(pl.UTF-8):      Interfejs ProFTPD do libwrap
428 Group:          Networking/Daemons
429 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
430 Requires:       libwrap
431
432 %description mod_wrap
433 It enables the daemon to use the common tcpwrappers access control
434 library while in standalone mode, and in a very configurable manner.
435
436 Many programs will automatically add entries in the common allow/deny
437 files, and use of this module will allow a ProFTPD daemon running in
438 standalone mode to adapt as these entries are added. The portsentry
439 program does this, for example: when illegal access is attempted, it
440 will add hosts to the /etc/hosts.deny file.
441
442 %description mod_wrap -l pl.UTF-8
443 Ten pakiet pozwala demonowi używać wspólnej biblioteki kontroli
444 dostępu tcpwrappers w trybie samodzielnym w bardzo wygodny sposób.
445
446 Wiele programów automatycznie dodaje wpisy we wspólnych plikach
447 allow/deny, a użycie tego modułu pozwala demonowi ProFTPD działającemu
448 w trybie samodzielnym adaptować te wpisy w miarę dodawania. Robi tak
449 na przykład program portsentry: przy próbie niedozwolonego dostępu
450 dodaje hosty do pliku /etc/hosts.deny.
451
452 %package mod_wrap2
453 Summary:        ProFTPD mod_wrap2 module
454 Summary(pl.UTF-8):      Moduł mod_wrap2 dla ProFTPD
455 Group:          Networking/Daemons
456 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
457
458 %description mod_wrap2
459 The mod_wrap2 package allows the proftpd daemon to provide
460 tcpwrapper-like access control rules while running in standalone mode.
461 It also allows for those access rules to be stored in various formats,
462 such as files (e.g. /etc/hosts.allow and /etc/hosts.deny) or in SQL
463 tables. Note that the mod_wrap2 module does not require or use the
464 standard tcpwrappers libwrap library, and instead implements the same
465 functionality internally (in order to support SQL-based access rules).
466
467 %description mod_wrap2 -l pl.UTF-8
468 Udostępnia funkcjonalność kontroli dostępu podobną do modułu mod_wrap,
469 ale do działanie nie wymaga systemowej biblioteki libwrap.
470 http://www.proftpd.org/docs/contrib/mod_wrap2.html
471
472 %package mod_dnsbl
473 Summary:        ProFTPD mod_dnsbl module
474 Summary(pl.UTF-8):      Moduł mod_dnsbl dla ProFTPD
475 Group:          Networking/Daemons
476 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
477
478 %description mod_dnsbl
479 DNSBL module for ProFTPD.
480 http://www.proftpd.org/docs/contrib/mod_dnsbl.html
481
482 %description mod_dnsbl -l pl.UTF-8
483 Moduł zapewniający kontrolę dostępu przy użyciu DNS blacklist (dnsbl).
484 http://www.proftpd.org/docs/contrib/mod_dnsbl.html
485
486 %package mod_geoip
487 Summary:        ProFTPD mod_geoip module
488 Summary(pl.UTF-8):      Moduł mod_geoip dla ProFTPD
489 Group:          Networking/Daemons
490 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
491
492 %description mod_geoip
493 GeoIP module for ProFTPD.
494 http://www.proftpd.org/docs/contrib/mod_geoip.html
495
496 %description mod_geoip -l pl.UTF-8
497 Moduł zapewniający kontrolę dostępu przy użyciu bibliotek
498 geolokalizacji firmy MaxMind.
499 http://www.proftpd.org/docs/contrib/mod_geoip.html
500
501 %package mod_memcache
502 Summary:        ProFTPD mod_memcache module
503 Summary(pl.UTF-8):      Moduł mod_memcache dla ProFTPD
504 Group:          Networking/Daemons
505 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
506
507 %description mod_memcache
508 Memcache module for ProFTPD.
509 http://www.proftpd.org/docs/howto/Memcache.html
510
511 %description mod_geoip -l pl.UTF-8
512 Moduł zapewniający dostęp do wydajnego systemu cache'owania Memcache
513 http://www.proftpd.org/docs/howto/Memcache.html
514
515 %package mod_redis
516 Summary:        ProFTPD mod_redis module
517 Summary(pl.UTF-8):      Moduł mod_redis dla ProFTPD
518 Group:          Networking/Daemons
519 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
520
521 %description mod_redis
522 Redis module for ProFTPD. http://www.proftpd.org/docs/howto/Redis.html
523
524 %description mod_redis -l pl.UTF-8
525 Moduł zapewniający dostęp do wydajnego systemu cache'owania Redis
526 http://www.proftpd.org/docs/howto/Redis.html
527
528 %package mod_sftp
529 Summary:        ProFTPD mod_sftp module
530 Summary(pl.UTF-8):      Moduł mod_sftp dla ProFTPD
531 Group:          Networking/Daemons
532 Requires:       %{name}-common = %{epoch}:%{version}-%{release}
533
534 %description mod_sftp
535 http://www.proftpd.org/docs/contrib/mod_sftp.html
536
537 %description mod_sftp -l pl.UTF-8
538 Moduł zapewniający serwerowi ProFTPD obsługę protokołu SFTP
539 http://www.proftpd.org/docs/contrib/mod_sftp.html
540
541 %prep
542 %setup -q -n %{name}-%{version}%{?_rc} -a1
543 %patch0 -p1
544 %patch1 -p1
545 %patch2 -p1
546 %patch3 -p1
547 %patch4 -p1
548
549 # mod_clamav
550 # no patch as of 0.13
551 #patch -p0 < mod_clamav-%{mod_clamav_version}/proftpd.patch || exit 1
552 cp -a mod_clamav-%{mod_clamav_version}/*.{c,h} contrib/
553
554 cp -f /usr/share/automake/config.sub .
555
556 # cleanup backups after patching
557 find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
558
559 sed -E -i -e '1s,#![[:space:]]*/usr/bin/env[[:space:]]+perl,#!%{__perl},' \
560         contrib/ftpasswd \
561         contrib/ftpmail \
562         contrib/ftpquota \
563         contrib/xferstats.holger-preiss \
564         src/prxs.in
565
566 %build
567 %{__autoconf}
568
569 MODULES="
570 mod_auth_file
571 mod_ident
572 mod_ratio
573 mod_readme
574 mod_rewrite
575 mod_wrap
576 mod_facl
577 mod_dnsbl
578 mod_geoip
579 mod_memcache
580 mod_redis
581 mod_sftp
582 mod_wrap2
583 mod_ifsession
584 %{?with_ssl:mod_tls}
585 %{?with_pam:mod_auth_pam}
586 %{?with_ldap:mod_ldap}
587 %{?with_quotafile:mod_quotatab mod_quotatab_file}
588 %{?with_quotaldap:mod_quotatab mod_quotatab_ldap}
589 %{?with_quotamysql:mod_quotatab mod_quotatab_sql}
590 %{?with_quotapgsql:mod_quotatab mod_quotatab_sql}
591 %{?with_mysql:mod_sql mod_sql_mysql}
592 %{?with_pgsql:mod_sql mod_sql_postgres}
593 "
594
595 MODARG=$(echo $MODULES | tr ' ' '\n' | sort -u | xargs | tr ' ' ':')
596 %configure \
597         ac_cv_lib_iconv_iconv_open=no \
598         ac_cv_lib_iconv_libiconv_open=no \
599         ac_cv_lib_intl_bindtextdomain=no \
600         --disable-auth-file \
601         --enable-buffer-size=4096 \
602         --enable-autoshadow \
603         --enable-ctrls \
604         --enable-dso \
605         %{?with_ipv6:--enable-ipv6} \
606         --enable-nls \
607         --enable-sendfile \
608         --disable-strip \
609         %{!?with_ssl:--disable-tls} \
610         --with-includes=/usr/include/ncurses%{?with_mysql::%{_includedir}/mysql} \
611         --with-modules=mod_clamav \
612         --with-shared=$MODARG
613
614 %{__make} -j1
615
616 %install
617 rm -rf $RPM_BUILD_ROOT
618 install -d $RPM_BUILD_ROOT/etc/{pam.d,security,sysconfig/rc-inetd,rc.d/init.d} \
619         $RPM_BUILD_ROOT/var/{lib/ftp/pub/Incoming,log,run/proftpd} \
620         $RPM_BUILD_ROOT%{_sysconfdir}/conf.d \
621         $RPM_BUILD_ROOT%{_includedir}/%{name} \
622         $RPM_BUILD_ROOT%{systemdtmpfilesdir}
623
624 %{__make} install \
625         DESTDIR=$RPM_BUILD_ROOT \
626         INSTALL_USER=%(id -u) \
627         INSTALL_GROUP=%(id -g)
628
629 %{__rm} $RPM_BUILD_ROOT%{_sbindir}/in.proftpd
630
631 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}
632 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_auth_pam.conf
633 MODULES="
634 mod_auth_file
635 mod_ident
636 mod_ratio
637 mod_readme
638 mod_rewrite
639 mod_wrap
640 mod_wrap2
641 mod_dnsbl
642 mod_geoip
643 mod_memcache
644 mod_redis
645 mod_sftp
646 %{?with_ldap:mod_ldap}
647 %{?with_quotafile:mod_quotatab mod_quotatab_file}
648 %{?with_quotaldap:mod_quotatab mod_quotatab_ldap}
649 %{?with_quotamysql:mod_quotatab mod_quotatab_sql}
650 %{?with_quotapgsql:mod_quotatab mod_quotatab_sql}
651 %{?with_mysql:mod_sql mod_sql_mysql}
652 %{?with_pgsql:mod_sql mod_sql_postgres}
653 "
654 for module in $MODULES; do
655         echo "LoadModule        $module.c" > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/$module.conf
656 done
657 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_tls.conf
658 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/anonftp.conf
659 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_clamav.conf
660
661 %{?with_pam:install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/ftp}
662 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/ftpd
663 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/proftpd
664 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/proftpd
665 cp -p contrib/xferstats.holger-preiss $RPM_BUILD_ROOT%{_bindir}/xferstat
666
667 bzip2 -dc %{SOURCE7} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
668
669 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers.default
670 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers
671
672 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
673
674 # only for -inetd package?
675 ln -sf proftpd $RPM_BUILD_ROOT%{_sbindir}/ftpd
676
677 :> $RPM_BUILD_ROOT/etc/security/blacklist.ftp
678
679 # cannot just --disable-static because build process depend on static objects
680 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/*.a
681 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/*.la
682
683 %{__rm} $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff*
684 cp -aL include/* config.h $RPM_BUILD_ROOT%{_includedir}/%{name}
685
686 %{__mv} $RPM_BUILD_ROOT%{_localedir}/bg{_BG,}
687 %{__mv} $RPM_BUILD_ROOT%{_localedir}/es{_ES,}
688 %{__mv} $RPM_BUILD_ROOT%{_localedir}/fr{_FR,}
689 %{__mv} $RPM_BUILD_ROOT%{_localedir}/it{_IT,}
690 %{__mv} $RPM_BUILD_ROOT%{_localedir}/ja{_JP,}
691 %{__mv} $RPM_BUILD_ROOT%{_localedir}/ko{_KR,}
692 %{__mv} $RPM_BUILD_ROOT%{_localedir}/ru{_RU,}
693
694 %find_lang %{name}
695
696 %clean
697 rm -rf $RPM_BUILD_ROOT
698
699 %post common
700 umask 027
701 awk -F: '{ if (($3 < 500) && ($1 != "ftp")) print $1; }' < /etc/passwd >> %{_sysconfdir}/ftpusers.default
702 if [ ! -f %{_sysconfdir}/ftpusers ]; then
703         cp -f %{_sysconfdir}/ftpusers.default %{_sysconfdir}/ftpusers
704 fi
705
706 %posttrans inetd
707 if grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf ; then
708         cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
709         sed -i -e 's/^ServerType[[:space:]]\+standalone/ServerType                      inetd/g' %{_sysconfdir}/proftpd.conf
710 fi
711 %service -q rc-inetd reload
712
713 %postun inetd
714 if [ "$1" = "0" ]; then
715         %service -q rc-inetd reload
716 fi
717
718 %posttrans standalone
719 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf ; then
720         cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
721         sed -i -e 's/^ServerType[[:space:]]\+inetd/ServerType                   standalone/g' %{_sysconfdir}/proftpd.conf
722 fi
723 /sbin/chkconfig --add proftpd
724 %service proftpd restart "ProFTPD daemon"
725
726 %preun standalone
727 if [ "$1" = "0" ]; then
728         %service proftpd stop
729         /sbin/chkconfig --del proftpd
730 fi
731
732 %triggerin standalone -- pam
733 # restart proftpd if pam is upgraded
734 # (proftpd is linked with old libpam but tries to open modules linked with new libpam)
735 if [ "$2" != 1 ]; then
736         %service -q proftpd restart
737 fi
738
739 # macro called at module post scriptlet
740 %define module_post \
741 if [ "$1" = "1" ]; then \
742         if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
743                 %service -q rc-inetd reload \
744         elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
745                 %service -q proftpd restart \
746         fi \
747 fi
748
749 # macro called at module postun scriptlet
750 %define module_postun \
751 if [ "$1" = "0" ]; then \
752         if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
753                 %service -q rc-inetd reload \
754         elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
755                 %service -q proftpd restart \
756         fi \
757 fi
758
759 # it's sooo annoying to write them
760 %define module_scripts() \
761 %post %1 \
762 %module_post \
763 \
764 %postun %1 \
765 %module_postun
766
767 %module_scripts mod_auth_pam
768 %module_scripts mod_ldap
769 %module_scripts mod_quotatab
770 %module_scripts mod_quotatab_file
771 %module_scripts mod_quotatab_ldap
772 %module_scripts mod_quotatab_sql
773 %module_scripts mod_ratio
774 %module_scripts mod_readme
775 %module_scripts mod_rewrite
776 %module_scripts mod_sql
777 %module_scripts mod_sql_mysql
778 %module_scripts mod_sql_postgres
779 %module_scripts mod_tls
780 %module_scripts mod_wrap
781 %module_scripts mod_wrap2
782 %module_scripts mod_dnsbl
783 %module_scripts mod_geoip
784 %module_scripts mod_memcache
785 %module_scripts mod_redis
786 %module_scripts mod_sftp
787
788 %files common -f %{name}.lang
789 %defattr(644,root,root,755)
790 %doc CREDITS ChangeLog NEWS README.md README.modules RELEASE_NOTES
791 %doc doc/{*.html,contrib,howto,modules} sample-configurations/*.conf
792 %dir %attr(750,root,ftp) %dir %{_sysconfdir}
793 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/proftpd.conf
794 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/ftpusers
795 %attr(640,root,root) %{_sysconfdir}/ftpusers.default
796 %dir %attr(750,root,root) %{_sysconfdir}/conf.d
797 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_auth_file.conf
798 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ident.conf
799 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_clamav.conf
800 #%attr(640,root,root) %ghost /var/log/*
801 %attr(755,root,root) %{_bindir}/ftpasswd
802 %attr(755,root,root) %{_bindir}/ftpcount
803 %attr(755,root,root) %{_bindir}/ftpdctl
804 %attr(755,root,root) %{_bindir}/ftpmail
805 %attr(755,root,root) %{_bindir}/ftpquota
806 %attr(755,root,root) %{_bindir}/ftptop
807 %attr(755,root,root) %{_bindir}/ftpwho
808 %attr(755,root,root) %{_bindir}/prxs
809 %attr(755,root,root) %{_bindir}/xferstat
810 %attr(755,root,root) %{_sbindir}/ftpscrub
811 %attr(755,root,root) %{_sbindir}/ftpshut
812 %attr(755,root,root) %{_sbindir}/proftpd
813 %attr(755,root,root) %{_sbindir}/ftpd
814 %dir %{_libexecdir}
815 %attr(755,root,root) %{_libexecdir}/mod_auth_file.so
816 %attr(755,root,root) %{_libexecdir}/mod_facl.so
817 %attr(755,root,root) %{_libexecdir}/mod_ident.so
818 %attr(755,root,root) %{_libexecdir}/mod_ifsession.so
819 %dir %{_localstatedir}/proftpd
820 %{systemdtmpfilesdir}/%{name}.conf
821 %{_mandir}/man1/ftpasswd.1*
822 %{_mandir}/man1/ftpcount.1*
823 %{_mandir}/man1/ftpmail.1*
824 %{_mandir}/man1/ftpquota.1*
825 %{_mandir}/man1/ftptop.1*
826 %{_mandir}/man1/ftpwho.1*
827 %{_mandir}/man5/ftpusers.5*
828 %{_mandir}/man5/proftpd.conf.5*
829 %{_mandir}/man5/xferlog.5*
830 %{_mandir}/man8/ftpdctl.8*
831 %{_mandir}/man8/ftpscrub.8*
832 %{_mandir}/man8/ftpshut.8*
833 %{_mandir}/man8/proftpd.8*
834 %lang(ja) %{_mandir}/ja/man5/ftpusers.5*
835 %lang(pl) %{_mandir}/pl/man5/ftpusers.5*
836 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers.5*
837 %lang(ru) %{_mandir}/ru/man5/ftpusers.5*
838 %dir /var/lib/ftp
839 %dir /var/lib/ftp/pub
840 %attr(711,ftp,ftp) %dir /var/lib/ftp/pub/Incoming
841
842 %files inetd
843 %defattr(644,root,root,755)
844 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/ftpd
845
846 %files standalone
847 %defattr(644,root,root,755)
848 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/proftpd
849 %attr(754,root,root) /etc/rc.d/init.d/proftpd
850
851 %files devel
852 %defattr(644,root,root,755)
853 %{_includedir}/%{name}
854 %{_pkgconfigdir}/proftpd.pc
855
856 %files anonftp
857 %defattr(644,root,root,755)
858 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/anonftp.conf
859
860 %if %{with pam}
861 %files mod_auth_pam
862 %defattr(644,root,root,755)
863 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/ftp
864 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.ftp
865 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_auth_pam.conf
866 %attr(755,root,root) %{_libexecdir}/mod_auth_pam.so
867 %endif
868
869 %if %{with ldap}
870 %files mod_ldap
871 %defattr(644,root,root,755)
872 %doc README.LDAP
873 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ldap.conf
874 %attr(755,root,root) %{_libexecdir}/mod_ldap.so
875 %endif
876
877 %files mod_quotatab
878 %defattr(644,root,root,755)
879 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab.conf
880 %attr(755,root,root) %{_libexecdir}/mod_quotatab.so
881
882 %if %{with quotafile}
883 %files mod_quotatab_file
884 %defattr(644,root,root,755)
885 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_file.conf
886 %attr(755,root,root) %{_libexecdir}/mod_quotatab_file.so
887 %endif
888
889 %if %{with quotaldap}
890 %files mod_quotatab_ldap
891 %defattr(644,root,root,755)
892 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_ldap.conf
893 %attr(755,root,root) %{_libexecdir}/mod_quotatab_ldap.so
894 %endif
895
896 %if %{with quotamysql} || %{with quotapgsql}
897 %files mod_quotatab_sql
898 %defattr(644,root,root,755)
899 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_sql.conf
900 %attr(755,root,root) %{_libexecdir}/mod_quotatab_sql.so
901 %endif
902
903 %files mod_ratio
904 %defattr(644,root,root,755)
905 %doc contrib/README.ratio
906 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ratio.conf
907 %attr(755,root,root) %{_libexecdir}/mod_ratio.so
908
909 %files mod_readme
910 %defattr(644,root,root,755)
911 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_readme.conf
912 %attr(755,root,root) %{_libexecdir}/mod_readme.so
913
914 %files mod_rewrite
915 %defattr(644,root,root,755)
916 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_rewrite.conf
917 %attr(755,root,root) %{_libexecdir}/mod_rewrite.so
918
919 %if %{with mysql} || %{with pgsql}
920 %files mod_sql
921 %defattr(644,root,root,755)
922 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql.conf
923 %attr(755,root,root) %{_libexecdir}/mod_sql.so
924 %endif
925
926 %if %{with mysql}
927 %files mod_sql_mysql
928 %defattr(644,root,root,755)
929 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_mysql.conf
930 %attr(755,root,root) %{_libexecdir}/mod_sql_mysql.so
931 %endif
932
933 %if %{with pgsql}
934 %files mod_sql_postgres
935 %defattr(644,root,root,755)
936 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_postgres.conf
937 %attr(755,root,root) %{_libexecdir}/mod_sql_postgres.so
938 %endif
939
940 %files mod_tls
941 %defattr(644,root,root,755)
942 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_tls.conf
943 %attr(755,root,root) %{_libexecdir}/mod_tls.so
944
945 %files mod_wrap
946 %defattr(644,root,root,755)
947 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_wrap.conf
948 %attr(755,root,root) %{_libexecdir}/mod_wrap.so
949
950 %files mod_wrap2
951 %defattr(644,root,root,755)
952 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_wrap2.conf
953 %attr(755,root,root) %{_libexecdir}/mod_wrap2.so
954
955 %files mod_dnsbl
956 %defattr(644,root,root,755)
957 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_dnsbl.conf
958 %attr(755,root,root) %{_libexecdir}/mod_dnsbl.so
959
960 %files mod_geoip
961 %defattr(644,root,root,755)
962 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_geoip.conf
963 %attr(755,root,root) %{_libexecdir}/mod_geoip.so
964
965 %files mod_memcache
966 %defattr(644,root,root,755)
967 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_memcache.conf
968 %attr(755,root,root) %{_libexecdir}/mod_memcache.so
969
970 %files mod_redis
971 %defattr(644,root,root,755)
972 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_redis.conf
973 %attr(755,root,root) %{_libexecdir}/mod_redis.so
974
975 %files mod_sftp
976 %defattr(644,root,root,755)
977 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sftp.conf
978 %attr(755,root,root) %{_libexecdir}/mod_sftp.so
This page took 0.187415 seconds and 3 git commands to generate.