]> git.pld-linux.org Git - packages/pure-ftpd.git/blob - pure-ftpd.spec
- rel 11; sleep first and THEN say 'no auth', not the other way
[packages/pure-ftpd.git] / pure-ftpd.spec
1 #
2 # Conditional build:
3 %bcond_with     extra           # with additional, maybe useful, but unmaintained features
4 %bcond_without  ldap            # disable LDAP auth
5 %bcond_without  longusername    # with username length = 128 (default 32)
6 %bcond_without  mysql           # disable MySQL auth but disables PAM auth
7 %bcond_without  pgsql           # disable PostgreSQL support
8 %bcond_without  puredb          # disable pure-db support
9 %bcond_without  tls             # disable SSL/TLS support
10 %bcond_without  cap             # disable capabilities
11 #
12 Summary:        Small, fast and secure FTP server
13 Summary(pl.UTF-8):      Mały, szybki i bezpieczny serwer FTP
14 Name:           pure-ftpd
15 Version:        1.0.21
16 Release:        11%{?with_extra:extra}
17 Epoch:          0
18 License:        BSD-like%{?with_extra:, GLPv2 for pure-config due to libcfg+ license}
19 Group:          Daemons
20 Source0:        ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/%{name}-%{version}.tar.bz2
21 # Source0-md5:  ca8a8dbec0cd9c8ea92fc4c37ea9c410
22 Source1:        %{name}.pamd
23 Source2:        %{name}.init
24 Source3:        %{name}.sysconfig
25 Source4:        ftpusers.tar.bz2
26 # Source4-md5:  76c80b6ec9f4d079a1e27316edddbe16
27 Source5:        http://twittner.host.sk/files/pure-config/pure-config-20041201.tar.gz
28 # Source5-md5:  3f2ff6b00b5c38ee11ce588ee5af6cf6
29 Patch0:         %{name}-config.patch
30 Patch1:         %{name}-path_to_ssl_cert_in_config.patch
31 Patch2:         %{name}-pure-pw_passwd.patch
32 Patch3:         %{name}-mysql_config.patch
33 Patch4:         %{name}-nosymlinks-hideuidmismatch.patch
34 Patch5:         %{name}-auth-can-delete-pure.patch
35 Patch6:         %{name}-nonssl-die.patch
36 Patch7:         %{name}-del-log-path.patch
37 Patch8:         %{name}-anonymous.patch
38 Patch9:         %{name}-sleep.patch
39 URL:            http://www.pureftpd.org/
40 %{?with_extra:BuildRequires:    autoconf}
41 %{?with_extra:BuildRequires:    automake}
42 %{?with_cap:BuildRequires:      libcap-devel}
43 %{?with_extra:BuildRequires:    libcfg+-devel >= 0.6.2}
44 %{?with_mysql:BuildRequires:    mysql-devel}
45 %{?with_ldap:BuildRequires:     openldap-devel >= 2.4.6}
46 %{?with_tls:BuildRequires:      openssl-devel}
47 BuildRequires:  pam-devel
48 %{?with_pgsql:BuildRequires:    postgresql-devel}
49 BuildRequires:  rpmbuild(macros) >= 1.304
50 Requires(post,preun):   /sbin/chkconfig
51 Requires:       pam >= 0.79.0
52 %{!?with_extra:Requires:        perl-base}
53 Requires:       rc-scripts
54 Provides:       ftpserver
55 Obsoletes:      anonftp
56 Obsoletes:      bftpd
57 Obsoletes:      ftpd-BSD
58 Obsoletes:      ftpserver
59 Obsoletes:      glftpd
60 Obsoletes:      heimdal-ftpd
61 Obsoletes:      krb5-ftpd
62 Obsoletes:      linux-ftpd
63 Obsoletes:      muddleftpd
64 Obsoletes:      proftpd
65 Obsoletes:      proftpd-common
66 Obsoletes:      proftpd-inetd
67 Obsoletes:      proftpd-standalone
68 Obsoletes:      troll-ftpd
69 Obsoletes:      vsftpd
70 Obsoletes:      wu-ftpd
71 Conflicts:      man-pages < 1.51
72 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73
74 %define         _sysconfdir     /etc/ftpd
75 %define         _ftpdir         /home/services/ftp
76 %define         schemadir       /usr/share/openldap/schema
77
78 %description
79 Pure-FTPd is a fast, production-quality, standard-comformant FTP
80 server, based upon Troll-FTPd. Unlike other popular FTP servers, it
81 has no known security flaw, it is really trivial to set up and it is
82 especially designed for modern Linux kernels (setfsuid, sendfile,
83 capabilities) . Features include PAM support, IPv6, chroot()ed home
84 directories, virtual domains, built-in LS, anti-warez system, bounded
85 ports for passive downloads...
86
87 %description -l pl.UTF-8
88 Pure-FTPD to szybki, wysokiej jakości, odpowiadający standardom serwer
89 FTP bazujący na Troll-FTPd. W przeciwieństwie do innych serwerów FTP
90 nie ma znanych luk w bezpieczeństwie. Ponadto jest trywialny w
91 konfiguracji i specjalnie zaprojektowany dla nowych kerneli Linuksa
92 (setfsuid, sendfile, capabilibies). Możliwości to wsparcie dla PAM-a,
93 IPv6, chroot()owanych katalogów domowych, virtualne domeny, wbudowany
94 LS, system anty-warezowy, ograniczanie portów dla pasywnych
95 połączeń...
96
97 %package -n openldap-schema-pureftpd
98 Summary:        Pure-FTPd LDAP schema
99 Summary(pl.UTF-8):      Schemat LDAP dla Pure-FTPd
100 Group:          Networking/Daemons
101 Requires(post,postun):  sed >= 4.0
102 Requires:       openldap-servers
103 Requires:       sed >= 4.0 
104
105 %description -n openldap-schema-pureftpd
106 This package contains an Pure-FTPd openldap schema.
107
108 %description -n openldap-schema-pureftpd -l pl.UTF-8
109 Ten pakiet zawiera schemat Pure-FTPd pureftpd.schema dla openldapa.
110
111 %prep
112 %setup -q -a 5
113 %patch0 -p0
114 %patch3 -p1
115 %patch4 -p1
116 %patch5 -p1
117 %patch6 -p0
118 %patch7 -p1
119 %patch8 -p1
120 %patch9 -p1
121 %{?with_extra:%patch1 -p1}
122 %{?with_extra:%patch2 -p1}
123
124 %build
125 # drop --without-cork for Th
126 %configure \
127         --without-cork \
128         --with-boring \
129         --with-altlog \
130         --with-cookie \
131         --with-diraliases \
132         --with-extauth \
133         --with-ftpwho \
134         --with-language=english \
135         --with-largefile \
136         %{!?with_cap:--without-capabilities} \
137         %{?with_ldap:--with-ldap} \
138         %{?with_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \
139         --with-pam \
140         --with-peruserlimits \
141         %{?with_pgsql:--with-pgsql} \
142         --with-privsep \
143         %{?with_puredb:--with-puredb} \
144         --with-quotas \
145         --with-ratios \
146         --with-throttling \
147         %{?with_tls:--with-tls --with-certfile=%{_sharedstatedir}/openssl/certs/ftpd.pem} \
148         --with-uploadscript \
149         --with-virtualchroot \
150         --with-virtualhosts
151
152 %if %{with extra}
153 cd pure-config
154 %{__aclocal}
155 %{__autoconf}
156 %{__autoheader}
157 %{__automake}
158 %configure
159 %{__make}
160 %endif
161
162 %install
163 rm -rf $RPM_BUILD_ROOT
164 install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d} \
165         $RPM_BUILD_ROOT{%{_sysconfdir}/vhosts,%{_ftpdir},%{schemadir}}
166
167 %{__make} install \
168         DESTDIR=$RPM_BUILD_ROOT
169
170 install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
171 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
172 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
173
174 %{?with_ldap:install pureftpd-ldap.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-ldap.conf}
175 %{?with_mysql:install pureftpd-mysql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf}
176 %{?with_pgsql:install pureftpd-pgsql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.conf}
177 install configuration-file/pure-ftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd.conf
178 %{!?with_extra:install configuration-file/pure-config.pl $RPM_BUILD_ROOT%{_sbindir}}
179 install pureftpd.schema $RPM_BUILD_ROOT%{schemadir}/pureftpd.schema
180
181 touch $RPM_BUILD_ROOT%{_sysconfdir}/{ftpusers,pureftpd-dir-aliases}
182
183 ln -s vhosts $RPM_BUILD_ROOT%{_sysconfdir}/pure-ftpd
184
185 bzip2 -dc %{SOURCE4} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
186 rm -f $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff
187
188 %if %{with extra}
189 %{__make} -C pure-config install \
190         DESTDIR=$RPM_BUILD_ROOT
191 %endif
192
193 %clean
194 rm -rf $RPM_BUILD_ROOT
195
196 %post
197 /sbin/chkconfig --add %{name}
198 %service %{name} restart "PureFTPD daemon"
199
200 %preun
201 if [ "$1" = "0" ]; then
202         %service %{name} stop
203         /sbin/chkconfig --del %{name}
204 fi
205
206 %post -n openldap-schema-pureftpd
207 %openldap_schema_register %{schemadir}/pureftpd.schema -d core
208 %service -q ldap restart
209
210 %postun -n openldap-schema-pureftpd
211 if [ "$1" = "0" ]; then
212         %openldap_schema_unregister %{schemadir}/pureftpd.schema
213         %service -q ldap restart
214 fi
215
216
217 %files
218 %defattr(644,root,root,755)
219 %doc AUTHORS ChangeLog CONTACT COPYING FAQ HISTORY NEWS README* THANKS pure*.conf pureftpd.schema
220 %attr(755,root,root) %{_bindir}/*
221 %attr(755,root,root) %{_sbindir}/*
222 %attr(754,root,root) /etc/rc.d/init.d/%{name}
223 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
224 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/*
225 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ftpusers
226 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-dir-aliases
227 %{?with_ldap:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-ldap.conf}
228 %{?with_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-mysql.conf}
229 %{?with_pgsql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-pgsql.conf}
230 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd.conf
231 %attr(710,root,ftp) %dir %{_sysconfdir}
232 %dir %{_sysconfdir}/vhosts
233 %dir %{_sysconfdir}/pure-ftpd
234 %dir %{_ftpdir}
235 %{_mandir}/man?/*
236 %lang(ja) %{_mandir}/ja/man5/ftpusers*
237 %lang(pl) %{_mandir}/pl/man5/ftpusers*
238 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
239 %lang(ru) %{_mandir}/ru/man5/ftpusers*
240
241 %files -n openldap-schema-pureftpd
242 %defattr(644,root,root,755)
243 %{schemadir}/pureftpd.schema
This page took 0.083302 seconds and 4 git commands to generate.