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