]> git.pld-linux.org Git - packages/proftpd.git/blob - proftpd.spec
- updated %description
[packages/proftpd.git] / proftpd.spec
1 # TODO
2 # - why main and -common package descriptions are same?
3 #
4 # Conditional build:
5 %bcond_without  pam             # disable PAM support
6 %bcond_without  ipv6            # disable IPv6 and TCPD support
7 %bcond_without  ssl             # disbale TLS/SSL support
8 %bcond_with     ldap            # enable LDAP support
9 %bcond_with     mysql           # enable MySQL support
10 %bcond_with     pgsql           # enable PostgreSQL support
11 %bcond_with     quotafile       # enable quota file support
12 %bcond_with     quotaldap       # enable quota ldap support
13 %bcond_with     quotamysql      # enable quota mysql support
14 %bcond_with     quotapgsql      # enable quota pgsql support
15 %bcond_with     linuxprivs      # enable libcap support
16 #
17 Summary:        PROfessional FTP Daemon with apache-like configuration syntax
18 Summary(es):    Servidor FTP profesional, con sintaxis de configuración semejante a la del apache
19 Summary(pl):    PROfesionalny serwer FTP
20 Summary(pt_BR): Servidor FTP profissional, com sintaxe de configuração semelhante à do apache
21 Summary(zh_CN): Ò×ÓÚ¹ÜÀíµÄ,°²È«µÄ FTP ·þÎñÆ÷
22 Name:           proftpd
23 Version:        1.2.10
24 Release:        4.1
25 Epoch:          1
26 License:        GPL v2+
27 Group:          Daemons
28 Source0:        ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}.tar.bz2
29 # Source0-md5:  5feb4a7348e12faefc25e34fd92efdd6
30 Source1:        %{name}.conf
31 Source2:        %{name}.logrotate
32 Source3:        ftp.pamd
33 Source4:        %{name}.inetd
34 Source5:        %{name}.sysconfig
35 Source6:        %{name}.init
36 Source7:        ftpusers.tar.bz2
37 # Source7-md5:  76c80b6ec9f4d079a1e27316edddbe16
38 Source8:        http://www.castaglia.org/proftpd/modules/proftpd-mod-shaper-0.5.5.tar.gz
39 # Source8-md5:  ca3d63ffbc6ad5b6a9063f79b36d1b55
40 Patch0:         %{name}-umode_t.patch
41 Patch1:         %{name}-glibc.patch
42 Patch2:         %{name}-paths.patch
43 Patch3:         %{name}-noautopriv.patch
44 Patch4:         %{name}-wtmp.patch
45 Patch5:         %{name}-sendfile64.patch
46 URL:            http://www.proftpd.org/
47 BuildRequires:  autoconf
48 BuildRequires:  automake
49 BuildRequires:  libwrap-devel
50 %{?with_mysql:BuildRequires:            mysql-devel}
51 %{?with_quotamysql:BuildRequires:       mysql-devel}
52 BuildRequires:  ncurses-devel
53 %{?with_ldap:BuildRequires:             openldap-devel}
54 %{?with_quotaldap:BuildRequires:        openldap-devel}
55 %{?with_ssl:BuildRequires:              openssl-devel >= 0.9.7d}
56 %{?with_pam:BuildRequires:              pam-devel}
57 %{?with_pgsql:BuildRequires:            postgresql-devel}
58 %{?with_quotapgsql:BuildRequires:       postgresql-devel}
59 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61 %define         _sysconfdir     /etc/ftpd
62 %define         _localstatedir  /var/run
63
64 %description
65 ProFTPD is a highly configurable FTP daemon for unix and unix-like
66 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
67 replacement for wu-ftpd. Full online documentation is available at
68 <http://www.proftpd.org/>, including a server configuration directive
69 reference manual.
70
71 This package also includes mod_shaper module from
72 <http://www.castaglia.org/proftpd/>
73
74 %description -l es
75 ProFTPD es un servidor FTP altamente configurable para sistemas
76 operativos unix. Está proyectado para ser un substituto directo al
77 wu-ftpd. La documentación completa está disponible en
78 <http://www.proftpd.org/>, incluido el manual de referencia para las
79 directivas de configuración del servidor.
80
81 %description -l pl
82 ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
83 ProFTPD jest robiony jako bezpo¶redni zamiennik wu-ftpd. Pe³na
84 dokumentacja jest dostêpna on-line pod <http://www.proftpd.org/>
85 w³±cznie z dokumentacj± dotycz±c± konfigurowania.
86
87 %description -l pt_BR
88 O ProFTPD é um servidor FTP altamente configurável para sistemas
89 operacionais unix.
90
91 É projetado para ser um substituto direto para o wu-ftpd. A
92 documentação completa está disponível em <http://www.proftpd.org/>,
93 incluindo o manual de referência para as diretivas de configuração do
94 servidor.
95
96 %package common
97 Summary:        PROfessional FTP Daemon with apache-like configuration syntax - common files
98 Summary(pl):    PROfesionalny serwer FTP  - wspólne pliki
99 Group:          Daemons
100 Requires(post): awk
101 Requires(post): fileutils
102 Requires:       logrotate
103 %{?with_pam:Requires:   pam >= 0.77.3}
104 Obsoletes:      proftpd < 0:1.2.2rc1-3
105
106 %description common
107 ProFTPD is a highly configurable FTP daemon for unix and unix-like
108 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
109 replacement for wu-ftpd. Full online documentation is available at
110 <http://www.proftpd.org/>, including a server configuration directive
111 reference manual.
112
113 %description common -l pl
114 ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
115 ProFTPD jest robiony jako bezpo¶redni zamiennik wu-ftpd. Pe³na
116 dokunentacja jest dostêpna on-line pod http://www.proftpd.org/
117 w³±cznie z dokumentacj± dotycz±c± konfigurowania.
118
119 %package inetd
120 Summary:        inetd configs for proftpd
121 Summary(pl):    Pliki konfiguracyjne do u¿ycia proftpd poprzez inetd
122 Group:          Daemons
123 PreReq:         %{name}-common = %{epoch}:%{version}-%{release}
124 PreReq:         rc-inetd
125 Requires(post): fileutils
126 Requires(post): grep
127 Requires(post): sed
128 Provides:       proftpd = %{epoch}:%{version}-%{release}
129 Provides:       ftpserver
130 Obsoletes:      proftpd-standalone
131 Obsoletes:      ftpserver
132 Obsoletes:      anonftp
133 Obsoletes:      bftpd
134 Obsoletes:      ftpd-BSD
135 Obsoletes:      glftpd
136 Obsoletes:      heimdal-ftpd
137 Obsoletes:      linux-ftpd
138 Obsoletes:      muddleftpd
139 Obsoletes:      pure-ftpd
140 Obsoletes:      troll-ftpd
141 Obsoletes:      vsftpd
142 Obsoletes:      wu-ftpd
143 Conflicts:      man-pages < 1.51
144
145 %description inetd
146 ProFTPD configs for running from inetd.
147
148 %description inetd -l pl
149 Pliki konfiguracyjna ProFTPD do startowania demona poprzez inetd.
150
151 %package standalone
152 Summary:        Standalone daemon configs for proftpd
153 Summary(pl):    Pliki konfiguracyjne do startowania proftpd w trybie standalone
154 Group:          Daemons
155 PreReq:         %{name}-common = %{epoch}:%{version}-%{release}
156 PreReq:         rc-scripts
157 Requires(post,preun):   /sbin/chkconfig
158 Requires(post): fileutils
159 Requires(post): grep
160 Requires(post): sed
161 Provides:       proftpd = %{epoch}:%{version}-%{release}
162 Provides:       ftpserver
163 Obsoletes:      proftpd-inetd
164 Obsoletes:      ftpserver
165 Obsoletes:      anonftp
166 Obsoletes:      bftpd
167 Obsoletes:      ftpd-BSD
168 Obsoletes:      glftpd
169 Obsoletes:      heimdal-ftpd
170 Obsoletes:      linux-ftpd
171 Obsoletes:      muddleftpd
172 Obsoletes:      pure-ftpd
173 Obsoletes:      troll-ftpd
174 Obsoletes:      vsftpd
175 Obsoletes:      wu-ftpd
176 Conflicts:      man-pages < 1.51
177
178 %description standalone
179 ProFTPD configs for running as a standalone daemon.
180
181 %description standalone -l pl
182 Pliki konfiguracyjne ProFTPD do startowania demona w trybie
183 standalone.
184
185 %prep
186 %if %{with mysql} && %{with pgsql}
187 echo "Error: You can't build at once --with mysql and --with pgsql"
188 exit 1
189 %endif
190
191 %setup -q -a 8
192 %patch0 -p1
193 %patch1 -p1
194 %patch2 -p1
195 %patch3 -p1
196 %patch4 -p1
197 %patch5 -p1
198 # move mod_shaper code on to the source tree
199 mv mod_shaper/mod_shaper.c contrib/
200
201 %build
202 cp -f /usr/share/automake/config.sub .
203 %{__autoconf}
204 RUN_DIR=%{_localstatedir} ; export RUN_DIR
205 CFLAGS="%{rpmcflags} -I/usr/include/ncurses %{?with_mysql:-I/usr/include/mysql}"
206 CPPFLAGS="%{rpmcflags} -I/usr/include/ncurses %{?with_mysql:-I/usr/include/mysql}"
207 %configure \
208         --enable-autoshadow \
209         --with-modules=mod_ratio:mod_readme:mod_shaper%{?with_ssl::mod_tls}%{?with_ipv6::mod_wrap}%{?with_pam::mod_auth_pam}%{?with_ldap::mod_ldap}%{?with_quotafile::mod_quotatab:mod_quotatab_file}%{?with_quotaldap::mod_quotatab:mod_quotatab_ldap}%{?with_quotamysql::mod_quotatab:mod_quotatab_sql}%{?with_quotapgsql:mod_quotatab:mod_quotatab_sql}%{?with_linuxprivs::mod_linuxprivs}%{?with_mysql::mod_sql:mod_sql_mysql}%{?with_pgsql::mod_sql:mod_sql_postgres} \
210         %{?with_ipv6:--enable-ipv6} \
211         %{!?with_ssl:--disable-tls} \
212         --enable-ctrls \
213         --enable-sendfile
214
215 %{__make}
216
217 %install
218 rm -rf $RPM_BUILD_ROOT
219 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,security,sysconfig/rc-inetd,rc.d/init.d} \
220         $RPM_BUILD_ROOT/var/{lib/ftp/pub/Incoming,log}
221
222 %{__make} install \
223         DESTDIR=$RPM_BUILD_ROOT \
224         INSTALL_USER=%(id -u) \
225         INSTALL_GROUP=%(id -g)
226
227 rm -f $RPM_BUILD_ROOT%{_sbindir}/in.proftpd
228
229 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
230 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/ftpd
231 %{?with_pam:install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/ftp}
232 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/ftpd
233 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/proftpd
234 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/proftpd
235 install contrib/xferstats.holger-preiss $RPM_BUILD_ROOT%{_bindir}/xferstat
236
237 bzip2 -dc %{SOURCE7} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
238
239 mv -f contrib/README contrib/README.modules
240
241 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers.default
242 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers
243 :> $RPM_BUILD_ROOT/var/log/xferlog
244
245 ln -sf proftpd $RPM_BUILD_ROOT%{_sbindir}/ftpd
246
247 :> $RPM_BUILD_ROOT/etc/security/blacklist.ftp
248
249 %clean
250 rm -rf $RPM_BUILD_ROOT
251
252 %post common
253 umask 027
254 touch /var/log/xferlog
255 awk 'BEGIN { FS = ":" }; { if(($3 < 500)&&($1 != "ftp")) print $1; }' < /etc/passwd >> %{_sysconfdir}/ftpusers.default
256 if [ ! -f %{_sysconfdir}/ftpusers ]; then
257         cp -f %{_sysconfdir}/ftpusers.default %{_sysconfdir}/ftpusers
258 fi
259
260 %post inetd
261 umask 027
262 if grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf ; then
263         cp -a %{_sysconfdir}/proftpd.conf %{_sysconfdir}/proftpd.conf.rpmorig
264         sed -e "s/^ServerType[[:space:]]\+standalone/ServerType                 inetd/g" \
265                 %{_sysconfdir}/proftpd.conf.rpmorig >%{_sysconfdir}/proftpd.conf
266 fi
267 if [ -f /var/lock/subsys/rc-inetd ]; then
268         /etc/rc.d/init.d/rc-inetd reload 1>&2
269 else
270         echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
271 fi
272
273 %postun inetd
274 if [ "$1" = "0" -a -f /var/lock/subsys/rc-inetd ]; then
275         /etc/rc.d/init.d/rc-inetd reload 1>&2
276 fi
277
278 %post standalone
279 /sbin/chkconfig --add proftpd
280 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf ; then
281         cp -a %{_sysconfdir}/proftpd.conf %{_sysconfdir}/proftpd.conf.rpmorig
282         sed -e "s/^ServerType[[:space:]]\+inetd/ServerType                      standalone/g" \
283                 %{_sysconfdir}/proftpd.conf.rpmorig >%{_sysconfdir}/proftpd.conf
284 fi
285 if [ -f /var/lock/subsys/proftpd ]; then
286         /etc/rc.d/init.d/proftpd restart 1>&2
287 else
288         echo "Run \"/etc/rc.d/init.d/proftpd start\" to start ProFTPD daemon."
289 fi
290
291 %preun standalone
292 if [ "$1" = "0" ]; then
293         if [ -f /var/lock/subsys/proftpd ]; then
294                 /etc/rc.d/init.d/proftpd stop 1>&2
295         fi
296         /sbin/chkconfig --del proftpd
297 fi
298
299 %triggerpostun -- %{name}-inetd <= 1.2.10-1
300 echo "Changing deprecated config uptions"
301 cp /etc/ftpd/proftpd.conf /etc/ftpd/proftpd.conf.backup
302 sed -i -e 's/AuthPAMAuthoritative\b/AuthPAM/' /etc/ftpd/proftpd.conf
303 sed -i -e 's/TCPDServiceName/TCPServiceName/' /etc/ftpd/proftpd.conf
304 grep -v UseTCPD /etc/ftpd/proftpd.conf > /etc/ftpd/proftpd.conf.tmp
305 mv -f /etc/ftpd/proftpd.conf.tmp /etc/ftpd/proftpd.conf
306 chmod 640 /etc/ftpd/proftpd.conf
307
308 %triggerpostun -- %{name}-standalone <= 1.2.10-1
309 echo "Changing deprecated config uptions"
310 cp /etc/ftpd/proftpd.conf /etc/ftpd/proftpd.conf.backup
311 sed -i -e 's/AuthPAMAuthoritative\b/AuthPAM/' /etc/ftpd/proftpd.conf
312 sed -i -e 's/TCPDServiceName/TCPServiceName/' /etc/ftpd/proftpd.conf
313 grep -v UseTCPD /etc/ftpd/proftpd.conf > /etc/ftpd/proftpd.conf.tmp
314 mv -f /etc/ftpd/proftpd.conf.tmp /etc/ftpd/proftpd.conf
315 chmod 640 /etc/ftpd/proftpd.conf
316
317 %files common
318 %defattr(644,root,root,755)
319 %doc sample-configurations/*.conf CREDITS ChangeLog NEWS RELEASE_NOTES
320 %doc README README.LDAP README.PAM README.capabilities README.classes README.controls README.IPv6
321 %doc README.modules
322 %doc doc/*html contrib/*.html
323
324 %attr(750,root,ftp) %dir %{_sysconfdir}
325 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
326 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/ftpusers
327 %attr(640,root,root) %{_sysconfdir}/ftpusers.default
328 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/*
329 %attr(640,root,root) %ghost /var/log/*
330 %{?with_pam:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*}
331
332 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.ftp
333
334 %attr(755,root,root) %{_bindir}/*
335 %attr(755,root,root) %{_sbindir}/*
336
337 %{_mandir}/man[18]/*
338
339 %dir /var/lib/ftp
340 %dir /var/lib/ftp/pub
341 %attr(711,ftp,ftp) %dir /var/lib/ftp/pub/Incoming
342
343 %files inetd
344 %defattr(644,root,root,755)
345 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/ftpd
346 %{_mandir}/man5/*
347 %lang(ja) %{_mandir}/ja/man5/ftpusers*
348 %lang(pl) %{_mandir}/pl/man5/ftpusers*
349 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
350 %lang(ru) %{_mandir}/ru/man5/ftpusers*
351
352 %files standalone
353 %defattr(644,root,root,755)
354 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/proftpd
355 %attr(754,root,root) /etc/rc.d/init.d/proftpd
356 %{_mandir}/man5/*
357 %lang(ja) %{_mandir}/ja/man5/ftpusers*
358 %lang(pl) %{_mandir}/pl/man5/ftpusers*
359 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
360 %lang(ru) %{_mandir}/ru/man5/ftpusers*
This page took 0.100655 seconds and 3 git commands to generate.