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