/[packages]/updates/2/proftpd/current/SPECS/proftpd.spec
ViewVC logotype

Contents of /updates/2/proftpd/current/SPECS/proftpd.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 388143 - (show annotations) (download)
Mon Jan 14 23:04:45 2013 UTC (11 years, 3 months ago) by luigiwalser
File size: 32247 byte(s)
rediff patch from debian to fix CVE-2012-6095
1 %define _disable_ld_no_undefined 1
2
3 %define _localstatedir /var/run
4
5 %define mod_gss_version 1.3.3
6 %define mod_autohost_version 0.3
7 %define mod_case_version 0.4
8 %define mod_shaper_version 0.6.5
9 %define mod_time_version 2.2.1
10 %define mod_vroot_version 0.9.2
11
12 Summary: Professional FTP Server
13 Name: proftpd
14 Version: 1.3.3g
15 %define subrel 1
16 Release: %mkrel 1
17 License: GPLv2+
18 Group: System/Servers
19 URL: http://proftpd.org/
20 Source0: ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}.tar.gz
21 Source1: proftpd.logrotate
22 Source2: proftpd.xinetd
23 Source3: proftpd.init
24 Source4: proftpd.service
25 Source5: basic.conf
26 Source7: welcome.msg
27 Source32: 32_mod_shaper.conf
28 # http://sourceforge.net/projects/gssmod/
29 Source100: http://prdownloads.sourceforge.net/gssmod/mod_gss-%{mod_gss_version}.tar.gz
30 # from http://www.castaglia.org/proftpd/
31 Source102: http://www.castaglia.org/proftpd/modules/proftpd-mod-autohost-%{mod_autohost_version}.tar.gz
32 Source103: http://www.castaglia.org/proftpd/modules/proftpd-mod-case-%{mod_case_version}.tar.gz
33 Source104: http://www.castaglia.org/proftpd/modules/proftpd-mod-shaper-%{mod_shaper_version}.tar.gz
34 Source105: http://www.castaglia.org/proftpd/modules/proftpd-mod-time-%{mod_time_version}.tar.bz2
35 Source108: http://www.castaglia.org/proftpd/modules/proftpd-mod-vroot-%{mod_vroot_version}.tar.gz
36 Source200: anonymous.conf
37 Patch0: proftpd-1.3.0-xferstats_logfile_location.diff
38 # (pixel): i kept the /lib/security/*.so instead of *.so in the patch to have a smaller patch
39 # (pixel): spec-helper will clean it up
40 Patch2: proftpd-use-system-auth-instead-of-pam_unix.diff
41 Patch4: proftpd-1.3.0-installfix.diff
42 Patch7: proftpd-1.3.0-change_pam_name.diff
43 Patch8: proftpd-1.3.2-mod_time_fix.diff
44 Patch10: proftpd-1.3.3c-verbose_tests.diff
45 Patch40: mod_gss-1.3.0-format_not_a_string_literal_and_no_format_arguments.diff
46 Patch41: mod_time-format_not_a_string_literal_and_no_format_arguments.diff
47 Patch42: proftpd-1.3.3c-no_-ldes425.diff
48 Patch43: proftpd-1.3.3g-CVE-2012-6095.diff
49 BuildRequires: cap-devel
50 BuildRequires: gettext-devel
51 BuildRequires: libacl-devel
52 BuildRequires: libattr-devel
53 BuildRequires: libkrb-devel
54 BuildRequires: libtool
55 BuildRequires: libtool-devel
56 BuildRequires: mysql-devel
57 BuildRequires: ncurses-devel
58 BuildRequires: openldap-devel
59 BuildRequires: openssl-devel
60 BuildRequires: pam-devel
61 BuildRequires: pkgconfig
62 BuildRequires: postgresql-devel
63 BuildRequires: sasl-plug-gssapi
64 BuildRequires: tcp_wrappers-devel
65 BuildRequires: zlib-devel
66 # for the test suite
67 # disabled for now but kept here for reference
68 #BuildRequires: check-devel perl-Test-Unit perl-Error
69 Provides: ftpserver
70 Requires: pam
71 Requires(post): rpm-helper
72 Requires(postun): rpm-helper
73 Requires(preun): rpm-helper
74 Requires(pre): rpm-helper
75
76 %description
77 ProFTPd is an enhanced FTP server with a focus on simplicity, security, and
78 ease of configuration. It features a very Apache-like configuration syntax,
79 and a highly customizable server infrastructure, including support for multiple
80 'virtual' FTP servers, anonymous FTP, and permission-based directory
81 visibility.
82
83 This version supports both standalone and xinetd operation.
84
85 %package devel
86 Summary: Development files for ProFTPD
87 Group: Development/C
88
89 %description devel
90 This package contains the development headers for ProFTPD
91
92 %package mod_ctrls_admin
93 Summary: Module implementing admin control handlers
94 Group: System/Servers
95 Requires(post): %{name} = %{version}-%{release}
96 Requires(preun): %{name} = %{version}-%{release}
97 Requires: %{name} = %{version}-%{release}
98
99 %description mod_ctrls_admin
100 This module implements administrative control actions for the ftpdctl program.
101
102 %package mod_ifsession
103 Summary: Module supporting conditional per-user/group/class configuration contexts
104 Group: System/Servers
105 Requires(post): %{name} = %{version}-%{release}
106 Requires(preun): %{name} = %{version}-%{release}
107 Requires: %{name} = %{version}-%{release}
108
109 %description mod_ifsession
110 Module supporting conditional per-user/group/class configuration contexts
111
112 %package mod_ldap
113 Summary: LDAP password lookup module for ProFTPD
114 Group: System/Servers
115 Requires(post): %{name} = %{version}-%{release}
116 Requires(preun): %{name} = %{version}-%{release}
117 Requires: %{name} = %{version}-%{release}
118
119 %description mod_ldap
120 LDAP password lookup module for ProFTPD
121
122 %package mod_quotatab
123 Summary: Module for managing FTP byte/file quotas via centralized tables
124 Group: System/Servers
125 Requires(post): %{name} = %{version}-%{release}
126 Requires(preun): %{name} = %{version}-%{release}
127 Requires: %{name} = %{version}-%{release}
128 Requires: %{name}-mod_quotatab_driver = %{version}-%{release}
129
130 %description mod_quotatab
131 Module for managing FTP byte/file quotas via centralized tables
132
133 %package mod_quotatab_file
134 Summary: Sub-module for managing quota data via file-based tables
135 Group: System/Servers
136 Requires(post): %{name} = %{version}-%{release}
137 Requires(preun): %{name} = %{version}-%{release}
138 Requires: %{name}-mod_quotatab = %{version}-%{release}
139 Provides: %{name}-mod_quotatab_driver = %{version}-%{release}
140
141 %description mod_quotatab_file
142 Sub-module for managing quota data via file-based tables
143
144 %package mod_quotatab_ldap
145 Summary: Sub-module for obtaining quota information from an LDAP directory
146 Group: System/Servers
147 Requires(post): %{name} = %{version}-%{release}
148 Requires(preun): %{name} = %{version}-%{release}
149 Requires: %{name}-mod_quotatab = %{version}-%{release}
150 Provides: %{name}-mod_quotatab_driver = %{version}-%{release}
151
152 %description mod_quotatab_ldap
153 Sub-module for obtaining quota information from an LDAP directory
154
155 %package mod_quotatab_sql
156 Summary: Sub-module for managing quota data via SQL-based tables
157 Group: System/Servers
158 Requires(post): %{name} = %{version}-%{release}
159 Requires(preun): %{name} = %{version}-%{release}
160 Requires: %{name}-mod_quotatab = %{version}-%{release}
161 Provides: %{name}-mod_quotatab_driver = %{version}-%{release}
162
163 %description mod_quotatab_sql
164 Sub-module for managing quota data via SQL-based tables
165
166 %package mod_quotatab_radius
167 Summary: Sub-module for managing quota data via radius
168 Group: System/Servers
169 Requires(post): %{name} = %{version}-%{release}
170 Requires(preun): %{name} = %{version}-%{release}
171 Requires: %{name}-mod_quotatab = %{version}-%{release}
172 Provides: %{name}-mod_quotatab_driver = %{version}-%{release}
173
174 %description mod_quotatab_radius
175 Sub-module for managing quota data via radius
176
177 %package mod_radius
178 Summary: Module for RADIUS authentication and accounting
179 Group: System/Servers
180 Requires(post): %{name} = %{version}-%{release}
181 Requires(preun): %{name} = %{version}-%{release}
182 Requires: %{name} = %{version}-%{release}
183
184 %description mod_radius
185 Module for RADIUS authentication and accounting
186
187 %package mod_ratio
188 Summary: Support upload/download ratios
189 Group: System/Servers
190 Requires(post): %{name} = %{version}-%{release}
191 Requires(preun): %{name} = %{version}-%{release}
192 Requires: %{name} = %{version}-%{release}
193
194 %description mod_ratio
195 Support upload/download ratios
196
197 %package mod_rewrite
198 Summary: Module for rewriting FTP commands
199 Group: System/Servers
200 Requires(post): %{name} = %{version}-%{release}
201 Requires(preun): %{name} = %{version}-%{release}
202 Requires: %{name} = %{version}-%{release}
203
204 %description mod_rewrite
205 Module for rewriting FTP commands
206
207 %package mod_site_misc
208 Summary: Module implementing miscellaneous SITE commands
209 Group: System/Servers
210 Requires(post): %{name} = %{version}-%{release}
211 Requires(preun): %{name} = %{version}-%{release}
212 Requires: %{name} = %{version}-%{release}
213
214 %description mod_site_misc
215 Module implementing miscellaneous SITE commands
216
217 %package mod_sql
218 Summary: SQL frontend
219 Group: System/Servers
220 Requires(post): %{name} = %{version}-%{release}
221 Requires(preun): %{name} = %{version}-%{release}
222 Requires: %{name} = %{version}-%{release}
223 Requires: %{name}-mod_sql_driver = %{version}-%{release}
224
225 %description mod_sql
226 SQL frontend
227
228 %package mod_sql_mysql
229 Summary: Support for connecting to MySQL databases
230 Group: System/Servers
231 Requires(post): %{name} = %{version}-%{release}
232 Requires(preun): %{name} = %{version}-%{release}
233 Requires: %{name}-mod_sql = %{version}-%{release}
234 Provides: %{name}-mod_sql_driver = %{version}-%{release}
235
236 %description mod_sql_mysql
237 Support for connecting to MySQL databases
238
239 %package mod_sql_postgres
240 Summary: Support for connecting to Postgres databases
241 Group: System/Servers
242 Requires(post): %{name} = %{version}-%{release}
243 Requires(preun): %{name} = %{version}-%{release}
244 Requires: %{name}-mod_sql = %{version}-%{release}
245 Provides: %{name}-mod_sql_driver = %{version}-%{release}
246
247 %description mod_sql_postgres
248 Support for connecting to Postgres databases
249
250 %package mod_sql_passwd
251 Summary: Support for other password formats stored in SQL databases
252 Group: System/Servers
253 Requires(post): %{name} = %{version}-%{release}
254 Requires(preun): %{name} = %{version}-%{release}
255 Requires: %{name}-mod_sql = %{version}-%{release}
256 Requires: %{name}-mod_sql_driver = %{version}-%{release}
257
258 %description mod_sql_passwd
259 Support for other password formats stored in SQL databases
260
261 %package mod_tls
262 Summary: An RFC2228 SSL/TLS module for ProFTPD
263 Group: System/Servers
264 Requires(post): %{name} = %{version}-%{release}
265 Requires(preun): %{name} = %{version}-%{release}
266 Requires: %{name} = %{version}-%{release}
267
268 %description mod_tls
269 An RFC2228 SSL/TLS module for ProFTPD
270
271 #%package mod_facl
272 #Summary: POSIX ACL checking code (aka POSIX.1e hell)
273 #Group: System/Servers
274 #Requires: %{name} = %{version}-%{release}
275 #
276 #%description mod_facl
277 #POSIX ACL checking code (aka POSIX.1e hell)
278
279 %package mod_autohost
280 Summary: An autohost module for ProFTPD
281 Group: System/Servers
282 Requires(post): %{name} = %{version}-%{release}
283 Requires(preun): %{name} = %{version}-%{release}
284 Requires: %{name} = %{version}-%{release}
285
286 %description mod_autohost
287 For sites that run a large number of <VirtualHost>s for proftpd, it can be
288 cumbersome to configure them all in the proftpd.conf file. Adding or removing
289 virtual server configurations require restarting the daemon, as do changes to
290 one of the server configurations. The daemon also consumes memory for each
291 server configuration, and the memory footprint for the daemon process can grow
292 large for large numbers of servers.
293
294 The mod_autohost module allows for server configurations to be configured in
295 individual files, and for those configuration to be used in an "on demand"
296 fashion. Rather than loading the configurations into memory when the daemon
297 starts up, the daemon will check the IP address and port being contacted by a
298 connecting client, check in the filesystem for a mod_autohost configuration
299 file for that address/port, dynamically parse the configuration, and insert
300 the configuration into the session's process space. Thus changes to the
301 configuration are seen whenever a client connects, without requiring a daemon
302 restart. The memory footprint is reduced because proftpd, via mod_autohost,
303 only reads and uses the needed configuration.
304
305 %package mod_case
306 Summary: Makes ProFTPD case insensitive
307 Group: System/Servers
308 Requires(post): %{name} = %{version}-%{release}
309 Requires(preun): %{name} = %{version}-%{release}
310 Requires: %{name} = %{version}-%{release}
311
312 %description mod_case
313 The mod_case module is designed to help ProFTPD be case-insensitive, for those
314 sites that may need it (e.g. those that are migrating from a Windows
315 environment or have mounted Windows filesystems).
316
317 mod_case works by performing two checks on the filename used in FTP commands.
318 First, mod_case will scan the directory to see if there is already a file whose
319 name exactly matches the given filename. If not, mod_case will scan the
320 directory again, this time looking for case-insensitive matches.
321
322 %package mod_gss
323 Summary: A Kerberos 5 GSS module for ProFTPD
324 Group: System/Servers
325 Requires(post): %{name} = %{version}-%{release}
326 Requires(preun): %{name} = %{version}-%{release}
327 Requires: %{name} = %{version}-%{release}
328
329 %description mod_gss
330 A Kerberos 5 GSS module for ProFTPD
331
332 %package mod_load
333 Summary: A module that determines average load for ProFTPD
334 Group: System/Servers
335 Requires(post): %{name} = %{version}-%{release}
336 Requires(preun): %{name} = %{version}-%{release}
337 Requires: %{name} = %{version}-%{release}
338
339 %description mod_load
340 The code for determining load average on a given system is hairy, to say the
341 least. Unfortunately, it is necessary to do it this way, as there is no
342 standard method for extracting such information from the kernel. This module
343 uses code from GNU's make application, which should function properly. If not,
344 please contact the author as soon as possible.
345
346 %package mod_shaper
347 Summary: A shaping module for ProFTPD
348 Group: System/Servers
349 Requires(post): %{name} = %{version}-%{release}
350 Requires(preun): %{name} = %{version}-%{release}
351 Requires: %{name} = %{version}-%{release}
352
353 %description mod_shaper
354 The mod_shaper module is designed to split overall rates, both download and
355 upload, for the proftpd daemon among all connected FTP clients, shaping each
356 session to use only a portion of the overall rate. mod_shaper shapes both
357 transmitted traffic, e.g. bits being downloaded via the RETR command, and
358 received traffic, e.g. bits being uploaded via the APPE, STOR, and STOU
359 commands.
360
361 %package mod_time
362 Summary: Limits acces based on the time of day and/or the day of the week
363 Group: System/Servers
364 Requires(post): %{name} = %{version}-%{release}
365 Requires(preun): %{name} = %{version}-%{release}
366 Requires: %{name} = %{version}-%{release}
367
368 %description mod_time
369 This module is designed to allow for limiting FTP commands based on the time of
370 day and/or the day of the week. A more detailed explanation of the usage of
371 this module follows the directive explanations.
372
373 %package mod_wrap
374 Summary: Provides tcpwrapper-like access control rules for ProFTPD
375 Group: System/Servers
376 Requires(post): %{name} = %{version}-%{release}
377 Requires(preun): %{name} = %{version}-%{release}
378 Requires: %{name} = %{version}-%{release}
379 Requires: %{name}-mod_wrap_driver = %{version}-%{release}
380 Requires: tcp_wrappers
381
382 %description mod_wrap
383 The mod_wrap package allows the proftpd daemon to provide tcpwrapper-like
384 access control rules while running in standalone mode. It also allows for those
385 access rules to be stored in various formats, such as files (e.g.
386 /etc/hosts.allow and /etc/hosts.deny) or in SQL tables.
387
388 The most current version of mod_wrap's submodules supports storage of access
389 table information in various formats:
390
391 o mod_wrap_file for file-based access tables
392 o mod_wrap_sql for SQL-based access tables
393
394 %package mod_wrap_file
395 Summary: A file-specific driver for the mod_wrap module for ProFTPD
396 Group: System/Servers
397 Requires(post): %{name} = %{version}-%{release}
398 Requires(preun): %{name} = %{version}-%{release}
399 Requires: %{name} = %{version}-%{release}
400 Provides: %{name}-mod_wrap_driver = %{version}-%{release}
401
402 %description mod_wrap_file
403 This submodule provides the file-specific "driver" for storing IP/DNS-based
404 access control information in files.
405
406 %package mod_wrap_sql
407 Summary: A SQL database driver for the mod_wrap module for ProFTPD
408 Group: System/Servers
409 Requires(post): %{name} = %{version}-%{release}
410 Requires(preun): %{name} = %{version}-%{release}
411 Requires: %{name} = %{version}-%{release}
412 Provides: %{name}-mod_wrap_driver = %{version}-%{release}
413
414 %description mod_wrap_sql
415 This submodule provides the SQL database "driver" for storing IP/DNS-based
416 access control information in SQL tables.
417
418 %package mod_ban
419 Summary: Adds dynamic "ban" lists to ProFTPD
420 Group: System/Servers
421 Requires(post): %{name} = %{version}-%{release}
422 Requires(preun): %{name} = %{version}-%{release}
423 Requires: %{name} = %{version}-%{release}
424
425 %description mod_ban
426 The mod_ban module is designed to add dynamic "ban" lists to proftpd. A ban
427 prevents the banned user, host, or class from logging in to the server; it does
428 not prevent the banned user, host, or class from connecting to the server.
429 mod_ban is not a firewall. The module also provides automatic bans that are
430 triggered based on configurable criteria.
431
432 %package mod_vroot
433 Summary: Adds virtual chroot capability to ProFTPD
434 Group: System/Servers
435 Requires(post): %{name} = %{version}-%{release}
436 Requires(preun): %{name} = %{version}-%{release}
437 Requires: %{name} = %{version}-%{release}
438
439 %description mod_vroot
440 The purpose of this module to is to implement a virtual chroot capability that
441 does not require root privileges. The mod_vroot module provides this capability
442 by using ProFTPD's FS API, available as of 1.2.8rc1.
443
444 %package mod_sftp
445 Summary: Implements the SSH2 protocol and its SFTP subsystem for ProFTPD
446 Group: System/Servers
447 Requires(post): %{name} = %{version}-%{release}
448 Requires(preun): %{name} = %{version}-%{release}
449 Requires: %{name} = %{version}-%{release}
450
451 %description mod_sftp
452 The mod_sftp module implements the SSH2 protocol and its SFTP subsystem, for
453 secure file transfer over an SSH2 connection. The mod_sftp module supports:
454
455 o Public key authentication
456 o Password authentication (e.g. user authentication via mod_sql, mod_ldap,
457 mod_auth_file, mod_auth_unix, mod_auth_pam)
458 o SCP support
459 o Quotas (via the mod_quotatab module)
460 o FIPS support (see Usage section)
461 o Throttled transfers (via TransferRate, and/or the mod_shaper module)
462 o Blacklisted public keys
463 o Configurable traffic analysis protection
464 o Passphrase-protected host keys
465
466 %prep
467
468 %setup -q -n %{name}-%{version} -a100 -a102 -a103 -a104 -a105 -a108
469
470 %patch0 -p0 -b .logfile_location
471 %patch2 -p0 -b .pam
472 %patch4 -p1 -b .installfix
473 %patch7 -p0 -b .change_pam_name
474 %patch8 -p0 -b .mod_time_fix
475 %patch10 -p0 -b .verbose_tests
476
477 %patch40 -p0 -b .format_not_a_string_literal_and_no_format_arguments
478 %patch41 -p0 -b .format_not_a_string_literal_and_no_format_arguments
479 %patch42 -p1 -b .no_-ldes425
480 %patch43 -p1 -b .CVE-2012-6095
481
482 # our config
483 mkdir -p %{_vendor}
484 install -m0644 %{SOURCE1} %{_vendor}/proftpd.logrotate
485 install -m0644 %{SOURCE2} %{_vendor}/proftpd.xinetd
486 install -m0644 %{SOURCE3} %{_vendor}/proftpd.init
487 install -m0644 %{SOURCE4} %{_vendor}/proftpd.service
488 install -m0644 %{SOURCE5} %{_vendor}/basic.conf
489 install -m0644 %{SOURCE7} %{_vendor}/welcome.msg
490 install -m0644 %{SOURCE32} %{_vendor}/32_mod_shaper.conf
491
492 # lib64 fix
493 perl -pi -e "s|/usr/lib|%{_libdir}|g" %{_vendor}/basic.conf
494
495 # fix includes, instead of a patch
496 perl -pi -e "s|\<mysql\.h\>|\<mysql\/mysql\.h\>|g" contrib/mod_sql_mysql.c
497 #perl -pi -e "s|\<libpq-fe\.h\>|\<pgsql\/libpq-fe\.h\>|g" contrib/mod_sql_postgres.c
498
499 %build
500
501 %serverbuild
502
503 export CFLAGS="$CFLAGS -DLDAP_DEPRECATED -DUSE_LDAP_TLS -DHAVE_OPENSSL"
504 export LIBS="-L%{_libdir} -lattr"
505
506 pushd mod_gss-%{mod_gss_version}
507 perl -pi -e "s|<gssapi.h>|<gssapi/gssapi.h>|" configure*
508 perl -pi -e "s|NULL,code|kc,code|" *.in
509 #libtoolize --copy --force --ltdl
510 #rm -rf lib/libltdl; mv libltdl lib/
511 #rm -f configure; autoconf
512 %configure2_5x --enable-mit
513 # Workaround a missing dcl in kerberos...
514 cat >> mod_gss.h <<EOF
515 #ifndef GSS_C_AF_INET6
516 #define GSS_C_AF_INET6 24
517 #endif
518 EOF
519 popd
520
521 pushd contrib/mod_load
522 %configure2_5x
523 popd
524
525 pushd contrib/mod_wrap2
526 %configure2_5x
527 popd
528
529 # put extra modules in place
530 for i in `find mod_* -type f -name "*.c"` `find mod_* -type f -name "*.h"`; do
531 cp $i contrib/
532 done
533
534 #head -n 190 aclocal.m4 > acinclude.m4
535 #rm -f aclocal.m4
536 #libtoolize --copy --force --ltdl
537 #rm -rf lib/libltdl; mv libltdl lib/
538 #aclocal; autoconf
539
540 %configure2_5x \
541 --libexecdir=%{_libdir}/%{name} \
542 --enable-auth-pam \
543 --enable-cap \
544 --disable-facl \
545 --enable-dso \
546 --enable-nls \
547 --enable-openssl \
548 --with-lastlog=/var/log/lastlog \
549 --enable-ipv6 \
550 --enable-shadow \
551 --enable-ctrls \
552 --with-shared="mod_ratio:mod_tls:mod_radius:mod_ldap:mod_sql:mod_sql_mysql:mod_sql_postgres:mod_sql_passwd:mod_rewrite:mod_gss:mod_load:mod_ctrls_admin:mod_quotatab:mod_quotatab_file:mod_quotatab_ldap:mod_quotatab_sql:mod_quotatab_radius:mod_site_misc:mod_wrap2:mod_wrap2_file:mod_wrap2_sql:mod_autohost:mod_case:mod_shaper:mod_ban:mod_vroot:mod_sftp:mod_time:mod_ifsession" \
553 --with-modules="mod_readme:mod_auth_pam" \
554 --enable-buffer-size=8192
555
556 # --enable-tests
557
558 # libcap hack
559 perl -pi -e "s|/lib/libcap|/blabla|g" Make.rules
560 echo "#define HAVE_LINUX_CAPABILITY_H 1" >> config.h
561
562 %make
563
564 #%%check
565 #make check
566
567 %install
568 rm -rf %{buildroot}
569
570 install -d %{buildroot}%{_initrddir}
571 install -d %{buildroot}%{_libdir}/%{name}
572 install -d %{buildroot}%{_sysconfdir}/logrotate.d
573 install -d %{buildroot}%{_sysconfdir}/%{name}.d
574 install -d %{buildroot}%{_sysconfdir}/pam.d
575 install -d %{buildroot}%{_sysconfdir}/xinetd.d
576 install -d %{buildroot}%{_sysconfdir}/avahi/services
577 install -d %{buildroot}/var/ftp/pub
578 install -d %{buildroot}/var/log/%{name}
579 install -d %{buildroot}/var/run/%{name}
580
581 %makeinstall \
582 rundir=%{buildroot}/var/run/%{name} \
583 LIBEXECDIR=%{buildroot}%{_libdir}/%{name} \
584 SHARED_MODULE_DIRS="" \
585 pkgconfigdir=%{buildroot}%{_libdir}/pkgconfig
586
587 # fix borked pkgconfig file
588 perl -pi -e "s|^prefix.*|prefix=%{_prefix}|g" %{buildroot}%{_libdir}/pkgconfig/*.pc
589 perl -pi -e "s|/lib/|/%{_lib}/|g" %{buildroot}%{_libdir}/pkgconfig/*.pc
590
591 %makeinstall -C contrib/mod_wrap2 LIBEXECDIR=%{buildroot}%{_libdir}/%{name}
592 %makeinstall -C contrib/mod_load LIBEXECDIR=%{buildroot}%{_libdir}/%{name}
593 %makeinstall -C contrib/mod_sftp LIBEXECDIR=%{buildroot}%{_libdir}/%{name}
594
595 install -m0644 contrib/dist/rpm/ftp.pamd %{buildroot}%{_sysconfdir}/pam.d/%{name}
596 install -m0755 contrib/xferstats.holger-preiss %{buildroot}%{_sbindir}
597
598 install -m0644 %{_vendor}/proftpd.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
599 install -m0644 %{_vendor}/proftpd.xinetd %{buildroot}%{_sysconfdir}/xinetd.d/%{name}-xinetd
600 install -m0755 %{_vendor}/proftpd.init %{buildroot}%{_initrddir}/%{name}
601 install -m0644 %{_vendor}/proftpd.service %{buildroot}%{_sysconfdir}/avahi/services/%{name}.service
602 install -m0644 %{_vendor}/basic.conf %{buildroot}%{_sysconfdir}/%{name}.conf
603 install -m0644 %{_vendor}/welcome.msg %{buildroot}/var/ftp/pub/welcome.msg
604
605 install -m0644 %{SOURCE200} %{buildroot}%{_sysconfdir}/proftpd-anonymous.conf
606
607 ln -snf %{name} %{buildroot}%{_sbindir}/in.%{name}
608 ln -snf %{name} %{buildroot}%{_sbindir}/in.ftpd
609
610 # config
611 echo "LoadModule mod_ctrls_admin.c" > %{buildroot}%{_sysconfdir}/%{name}.d/10_mod_ctrls_admin.conf
612 echo "LoadModule mod_tls.c" > %{buildroot}%{_sysconfdir}/%{name}.d/11_mod_tls.conf
613 echo "LoadModule mod_sql.c" > %{buildroot}%{_sysconfdir}/%{name}.d/12_mod_sql.conf
614 echo "LoadModule mod_ldap.c" > %{buildroot}%{_sysconfdir}/%{name}.d/13_mod_ldap.conf
615 echo "LoadModule mod_sql_mysql.c" > %{buildroot}%{_sysconfdir}/%{name}.d/14_mod_sql_mysql.conf
616 echo "LoadModule mod_sql_postgres.c" > %{buildroot}%{_sysconfdir}/%{name}.d/15_mod_sql_postgres.conf
617 echo "LoadModule mod_quotatab.c" > %{buildroot}%{_sysconfdir}/%{name}.d/16_mod_quotatab.conf
618 echo "LoadModule mod_quotatab_file.c" > %{buildroot}%{_sysconfdir}/%{name}.d/17_mod_quotatab_file.conf
619 echo "LoadModule mod_quotatab_ldap.c" > %{buildroot}%{_sysconfdir}/%{name}.d/18_mod_quotatab_ldap.conf
620 echo "LoadModule mod_quotatab_sql.c" > %{buildroot}%{_sysconfdir}/%{name}.d/19_mod_quotatab_sql.conf
621 echo "LoadModule mod_quotatab_radius.c" > %{buildroot}%{_sysconfdir}/%{name}.d/20_mod_quotatab_radius.conf
622 echo "LoadModule mod_radius.c" > %{buildroot}%{_sysconfdir}/%{name}.d/20_mod_radius.conf
623 echo "LoadModule mod_wrap2.c" > %{buildroot}%{_sysconfdir}/%{name}.d/21_mod_wrap2.conf
624 echo "LoadModule mod_wrap2_file.c" > %{buildroot}%{_sysconfdir}/%{name}.d/22_mod_wrap2_file.conf
625 echo "LoadModule mod_wrap2_sql.c" > %{buildroot}%{_sysconfdir}/%{name}.d/23_mod_wrap2_sql.conf
626 echo "LoadModule mod_rewrite.c" > %{buildroot}%{_sysconfdir}/%{name}.d/24_mod_rewrite.conf
627 echo "LoadModule mod_ratio.c" > %{buildroot}%{_sysconfdir}/%{name}.d/25_mod_ratio.conf
628 echo "LoadModule mod_gss.c" > %{buildroot}%{_sysconfdir}/%{name}.d/26_mod_gss.conf
629 echo "LoadModule mod_autohost.c" > %{buildroot}%{_sysconfdir}/%{name}.d/27_mod_autohost.conf
630 echo "LoadModule mod_case.c" > %{buildroot}%{_sysconfdir}/%{name}.d/28_mod_case.conf
631 #echo "LoadModule mod_facl.c" > %{buildroot}%{_sysconfdir}/%{name}.d/30_mod_facl.conf
632 echo "LoadModule mod_load.c" > %{buildroot}%{_sysconfdir}/%{name}.d/31_mod_load.conf
633 install -m0644 %{_vendor}/32_mod_shaper.conf %{buildroot}%{_sysconfdir}/%{name}.d/32_mod_shaper.conf
634 echo "LoadModule mod_site_misc.c" > %{buildroot}%{_sysconfdir}/%{name}.d/33_mod_site_misc.conf
635 echo "LoadModule mod_time.c" > %{buildroot}%{_sysconfdir}/%{name}.d/34_mod_time.conf
636 echo "LoadModule mod_ban.c" > %{buildroot}%{_sysconfdir}/%{name}.d/35_mod_ban.conf
637 echo "LoadModule mod_vroot.c" > %{buildroot}%{_sysconfdir}/%{name}.d/36_mod_vroot.conf
638 echo "LoadModule mod_sftp.c" > %{buildroot}%{_sysconfdir}/%{name}.d/37_mod_sftp.conf
639 echo "LoadModule mod_sql_passwd.c" > %{buildroot}%{_sysconfdir}/%{name}.d/38_mod_sql_passwd.conf
640
641 cat > %{buildroot}%{_sysconfdir}/%{name}.d/99_mod_ifsession.conf << EOF
642 # keep this module the last one
643 LoadModule mod_ifsession.c
644 EOF
645
646 # automatic reloading for new plugins
647 install -d %buildroot%{_var}/lib/rpm/filetriggers
648 cat > %buildroot%{_var}/lib/rpm/filetriggers/%{name}.filter << EOF
649 ^.%{_sysconfdir}/proftpd.d/.*\.conf$
650 EOF
651 cat > %buildroot%{_var}/lib/rpm/filetriggers/%{name}.script << EOF
652 #!/bin/sh
653 service proftpd condrestart
654 EOF
655 chmod 755 %buildroot%{_var}/lib/rpm/filetriggers/%{name}.script
656
657
658 %find_lang %{name}
659
660 # cleanup
661 rm -f %{buildroot}%{_libdir}/%{name}/*.{a,la}
662 rm -f contrib/README.mod_sql contrib/README.linux-privs
663
664 cat > %{buildroot}%{_sysconfdir}/ftpusers << EOF
665 root
666 bin
667 daemon
668 adm
669 lp
670 sync
671 shutdown
672 halt
673 mail
674 news
675 uucp
676 operator
677 games
678 nobody
679 EOF
680
681 %post
682 %_post_service %{name}
683
684 %pre
685 %_pre_useradd ftp /var/ftp /bin/false
686
687 %postun
688 %_postun_userdel ftp
689
690 %preun
691 %_preun_service %{name}
692 if [ "$1" = 0 ]; then
693 if [ -d /var/run/%{name} ]; then
694 rm -rf /var/run/%{name}/*
695 fi
696 fi
697
698 %clean
699 rm -rf %{buildroot}
700
701 %files -f %{name}.lang
702 %defattr(-,root,root)
703 %doc README* INSTALL NEWS CREDITS COPYING doc/*
704 %doc sample-configurations/*
705 %dir %{_sysconfdir}/proftpd.d
706 %config(noreplace) %{_sysconfdir}/%{name}.conf
707 %config(noreplace) %{_sysconfdir}/%{name}-anonymous.conf
708 %config(noreplace) %{_sysconfdir}/pam.d/%{name}
709 %config(noreplace) %{_sysconfdir}/xinetd.d/%{name}-xinetd
710 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
711 %config(noreplace) %{_sysconfdir}/avahi/services/%{name}.service
712 %config(noreplace) %{_sysconfdir}/ftpusers
713 %{_initrddir}/%{name}
714 %{_sbindir}/%{name}
715 %{_sbindir}/ftpscrub
716 %{_sbindir}/ftpshut
717 %{_sbindir}/in.ftpd
718 %{_sbindir}/in.%{name}
719 %{_sbindir}/xferstats.holger-preiss
720 %{_bindir}/ftpcount
721 %{_bindir}/ftpdctl
722 %{_bindir}/ftptop
723 %{_bindir}/ftpwho
724 %{_bindir}/prxs
725 %dir %{_libdir}/%{name}
726 %dir /var/ftp
727 %dir /var/ftp/pub
728 %config(noreplace) /var/ftp/pub/welcome.msg
729 %dir /var/run/%{name}
730 %dir /var/log/%{name}
731 %{_mandir}/man*/*
732 %{_var}/lib/rpm/filetriggers/proftpd.*
733
734 %files devel
735 %defattr(-,root,root)
736 %doc ChangeLog
737 %dir %{_includedir}/%{name}
738 %{_includedir}/%{name}/*.h
739 %{_libdir}/pkgconfig/*.pc
740
741 %files mod_ctrls_admin
742 %defattr(-,root,root)
743 %doc doc/contrib/mod_ctrls_admin.html
744 %config(noreplace) %{_sysconfdir}/%{name}.d/10_mod_ctrls_admin.conf
745 %{_libdir}/%{name}/mod_ctrls_admin.so
746
747 %files mod_ifsession
748 %defattr(-,root,root)
749 %doc doc/contrib/mod_ifsession.html
750 %config(noreplace) %{_sysconfdir}/%{name}.d/99_mod_ifsession.conf
751 %{_libdir}/%{name}/mod_ifsession.so
752
753 %files mod_ldap
754 %defattr(-,root,root)
755 %config(noreplace) %{_sysconfdir}/%{name}.d/13_mod_ldap.conf
756 %{_libdir}/%{name}/mod_ldap.so
757
758 %files mod_quotatab
759 %defattr(-,root,root)
760 %doc doc/contrib/mod_quotatab.html
761 %config(noreplace) %{_sysconfdir}/%{name}.d/16_mod_quotatab.conf
762 %{_libdir}/%{name}/mod_quotatab.so
763
764 %files mod_quotatab_file
765 %defattr(-,root,root)
766 %doc doc/contrib/mod_quotatab_file.html
767 %config(noreplace) %{_sysconfdir}/%{name}.d/17_mod_quotatab_file.conf
768 %{_libdir}/%{name}/mod_quotatab_file.so
769
770 %files mod_quotatab_ldap
771 %defattr(-,root,root)
772 %doc doc/contrib/mod_quotatab_ldap.html
773 %config(noreplace) %{_sysconfdir}/%{name}.d/18_mod_quotatab_ldap.conf
774 %{_libdir}/%{name}/mod_quotatab_ldap.so
775
776 %files mod_quotatab_sql
777 %defattr(-,root,root)
778 %doc doc/contrib/mod_quotatab_sql.html
779 %config(noreplace) %{_sysconfdir}/%{name}.d/19_mod_quotatab_sql.conf
780 %{_libdir}/%{name}/mod_quotatab_sql.so
781
782 %files mod_quotatab_radius
783 %defattr(-,root,root)
784 %doc doc/contrib/mod_quotatab_radius.html
785 %config(noreplace) %{_sysconfdir}/%{name}.d/20_mod_quotatab_radius.conf
786 %{_libdir}/%{name}/mod_quotatab_radius.so
787
788 %files mod_radius
789 %defattr(-,root,root)
790 %doc doc/contrib/mod_radius.html
791 %config(noreplace) %{_sysconfdir}/%{name}.d/20_mod_radius.conf
792 %{_libdir}/%{name}/mod_radius.so
793
794 %files mod_ratio
795 %defattr(-,root,root)
796 %doc contrib/README.ratio
797 %config(noreplace) %{_sysconfdir}/%{name}.d/25_mod_ratio.conf
798 %{_libdir}/%{name}/mod_ratio.so
799
800 %files mod_rewrite
801 %defattr(-,root,root)
802 %doc doc/contrib/mod_rewrite.html
803 %config(noreplace) %{_sysconfdir}/%{name}.d/24_mod_rewrite.conf
804 %{_libdir}/%{name}/mod_rewrite.so
805
806 %files mod_site_misc
807 %defattr(-,root,root)
808 %doc doc/contrib/mod_site_misc.html
809 %config(noreplace) %{_sysconfdir}/%{name}.d/33_mod_site_misc.conf
810 %{_libdir}/%{name}/mod_site_misc.so
811
812 %files mod_sql
813 %defattr(-,root,root)
814 %doc doc/contrib/mod_sql.html
815 %config(noreplace) %{_sysconfdir}/%{name}.d/12_mod_sql.conf
816 %{_libdir}/%{name}/mod_sql.so
817
818 %files mod_sql_mysql
819 %defattr(-,root,root)
820 %config(noreplace) %{_sysconfdir}/%{name}.d/14_mod_sql_mysql.conf
821 %{_libdir}/%{name}/mod_sql_mysql.so
822
823 %files mod_sql_postgres
824 %defattr(-,root,root)
825 %config(noreplace) %{_sysconfdir}/%{name}.d/15_mod_sql_postgres.conf
826 %{_libdir}/%{name}/mod_sql_postgres.so
827
828 %files mod_sql_passwd
829 %defattr(-,root,root)
830 %config(noreplace) %{_sysconfdir}/%{name}.d/38_mod_sql_passwd.conf
831 %{_libdir}/%{name}/mod_sql_passwd.so
832
833 %files mod_tls
834 %defattr(-,root,root)
835 %doc doc/contrib/mod_tls.html
836 %config(noreplace) %{_sysconfdir}/%{name}.d/11_mod_tls.conf
837 %{_libdir}/%{name}/mod_tls.so
838
839 #%files mod_facl
840 #%defattr(-,root,root)
841 #%config(noreplace) %{_sysconfdir}/%{name}.d/30_mod_facl.conf
842 #%{_libdir}/%{name}/mod_facl.so
843
844 %files mod_autohost
845 %defattr(-,root,root)
846 %doc mod_autohost/mod_autohost.html
847 %config(noreplace) %{_sysconfdir}/%{name}.d/27_mod_autohost.conf
848 %{_libdir}/%{name}/mod_autohost.so
849
850 %files mod_case
851 %defattr(-,root,root)
852 %doc mod_case/mod_case.html
853 %config(noreplace) %{_sysconfdir}/%{name}.d/28_mod_case.conf
854 %{_libdir}/%{name}/mod_case.so
855
856 %files mod_gss
857 %defattr(-,root,root)
858 %doc mod_gss-*/COPYING mod_gss-*/mod_gss.html mod_gss-*/README.mod_gss mod_gss-*/rfc1509.txt mod_gss-*/rfc2228.txt
859 %config(noreplace) %{_sysconfdir}/%{name}.d/26_mod_gss.conf
860 %{_libdir}/%{name}/mod_gss.so
861
862 %files mod_load
863 %defattr(-,root,root)
864 %doc doc/contrib/mod_load.html
865 %config(noreplace) %{_sysconfdir}/%{name}.d/31_mod_load.conf
866 %{_libdir}/%{name}/mod_load.so
867
868 %files mod_shaper
869 %defattr(-,root,root)
870 %doc mod_shaper/mod_shaper.html
871 %config(noreplace) %{_sysconfdir}/%{name}.d/32_mod_shaper.conf
872 %{_libdir}/%{name}/mod_shaper.so
873
874 %files mod_time
875 %defattr(-,root,root)
876 %doc mod_time/README mod_time/mod_time.html
877 %config(noreplace) %{_sysconfdir}/%{name}.d/34_mod_time.conf
878 %{_libdir}/%{name}/mod_time.so
879
880 %files mod_wrap
881 %defattr(-,root,root)
882 %doc doc/contrib/mod_wrap2.html
883 %config(noreplace) %{_sysconfdir}/%{name}.d/21_mod_wrap2.conf
884 %{_libdir}/%{name}/mod_wrap2.so
885
886 %files mod_wrap_file
887 %defattr(-,root,root)
888 %doc doc/contrib/mod_wrap2_file.html
889 %config(noreplace) %{_sysconfdir}/%{name}.d/22_mod_wrap2_file.conf
890 %{_libdir}/%{name}/mod_wrap2_file.so
891
892 %files mod_wrap_sql
893 %defattr(-,root,root)
894 %doc doc/contrib/mod_wrap2_sql.html
895 %config(noreplace) %{_sysconfdir}/%{name}.d/23_mod_wrap2_sql.conf
896 %{_libdir}/%{name}/mod_wrap2_sql.so
897
898 %files mod_ban
899 %defattr(-,root,root)
900 %doc doc/contrib/mod_ban.html
901 %config(noreplace) %{_sysconfdir}/%{name}.d/35_mod_ban.conf
902 %{_libdir}/%{name}/mod_ban.so
903
904 %files mod_vroot
905 %defattr(-,root,root)
906 %doc mod_vroot/mod_vroot.html
907 %config(noreplace) %{_sysconfdir}/%{name}.d/36_mod_vroot.conf
908 %{_libdir}/%{name}/mod_vroot.so
909
910 %files mod_sftp
911 %defattr(-,root,root)
912 %doc doc/contrib/mod_sftp.html
913 %config(noreplace) %{_sysconfdir}/blacklist.dat
914 %config(noreplace) %{_sysconfdir}/dhparams.pem
915 %config(noreplace) %{_sysconfdir}/%{name}.d/37_mod_sftp.conf
916 %{_libdir}/%{name}/mod_sftp.so

  ViewVC Help
Powered by ViewVC 1.1.30