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