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
13 Summary: PROfessional FTP Daemon with apache-like configuration syntax
14 Summary(es): Servidor FTP profesional, con sintaxis de configuración semejante a la del apache
15 Summary(pl): PROfesionalny serwer FTP
16 Summary(pt_BR): Servidor FTP profissional, com sintaxe de configuração semelhante à do apache
17 Summary(zh_CN): Ò×ÓÚ¹ÜÀíµÄ,°²È«µÄ FTP ·þÎñÆ÷
24 Source0: ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}%{_rc}.tar.bz2
25 # Source0-md5: d834bb822816a2ce483cc2ef1a9533e7
27 Source2: %{name}.logrotate
29 Source4: %{name}.inetd
30 Source5: %{name}.sysconfig
32 Source7: ftpusers.tar.bz2
33 # Source7-md5: 76c80b6ec9f4d079a1e27316edddbe16
34 Patch0: %{name}-umode_t.patch
35 Patch1: %{name}-glibc.patch
36 Patch2: %{name}-paths.patch
37 Patch3: %{name}-noautopriv.patch
38 Patch4: %{name}-wtmp.patch
39 Patch5: %{name}-vmail.patch
40 Patch6: %{name}-IPv6.patch
41 URL: http://www.proftpd.org/
42 BuildRequires: autoconf
43 BuildRequires: automake
44 BuildRequires: libwrap-devel
45 %{?with_mysql:BuildRequires: mysql-devel}
46 BuildRequires: ncurses-devel
47 %{?with_ldap:BuildRequires: openldap-devel}
48 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
49 %{?with_pam:BuildRequires: pam-devel}
50 %{?with_pgsql:BuildRequires: postgresql-devel}
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 %define _sysconfdir /etc/ftpd
54 %define _localstatedir /var/run
57 ProFTPD is a highly configurable ftp daemon for unix and unix-like
58 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
59 replacement for wu-ftpd. Full online documentation is available at
60 http://www.proftpd.org/, including a server configuration directive
64 ProFTPD es un servidor ftp altamente configurable para sistemas
65 operativos unix. Está proyectado para ser un substituto directo al
66 wu-ftpd. La documentación completa está disponible en
67 http://www.proftpd.org, incluido el manual de referencia para las
68 directivas de configuración del servidor.
71 ProFTPD jest wysoce konfigurowalnym serwerem ftp dla systemów Unix.
72 ProFTPD jest robiony jako bezpo¶redni zamiennik wu-ftpd. Pe³na
73 dokunentacja jest dostêpna on-line pod http://www.proftpd.org/
74 w³±cznie z dokumentacj± dotycz±c± konfigurowania.
77 O ProFTPD é um servidor ftp altamente configurável para sistemas
80 É projetado para ser um substituto direto para o wu-ftpd. A
81 documentação completa está disponível em http://www.proftpd.org,
82 incluindo o manual de referência para as diretivas de configuração do
86 Summary: PROfessional FTP Daemon with apache-like configuration syntax - common files
87 Summary(pl): PROfesionalny serwer FTP - wspólne pliki
90 Requires(post): fileutils
92 %{?with_pam:Requires: pam >= 0.77.3}
93 Obsoletes: proftpd < 0:1.2.2rc1-3
96 ProFTPD is a highly configurable ftp daemon for unix and unix-like
97 operating systems. ProFTPD is designed to be somewhat of a "drop-in"
98 replacement for wu-ftpd. Full online documentation is available at
99 http://www.proftpd.org/, including a server configuration directive
102 %description common -l pl
103 ProFTPD jest wysoce konfigurowalnym serwerem ftp dla systemów Unix.
104 ProFTPD jest robiony jako bezpo¶redni zamiennik wu-ftpd. Pe³na
105 dokunentacja jest dostêpna on-line pod http://www.proftpd.org/
106 w³±cznie z dokumentacj± dotycz±c± konfigurowania.
109 Summary: inetd configs for proftpd
110 Summary(pl): Pliki konfiguracyjne do u¿ycia proftpd poprzez inetd
112 PreReq: %{name}-common = %{epoch}:%{version}
114 Requires(post): fileutils
117 Provides: proftpd = %{epoch}:%{version}-%{release}
119 Obsoletes: proftpd-standalone
125 Obsoletes: heimdal-ftpd
126 Obsoletes: linux-ftpd
127 Obsoletes: muddleftpd
129 Obsoletes: troll-ftpd
132 Conflicts: man-pages < 1.51
135 ProFTPD configs for running from inetd.
137 %description inetd -l pl
138 Pliki konfiguracyjna ProFTPD do startowania demona poprzez inetd.
141 Summary: Standalone daemon configs for proftpd
142 Summary(pl): Pliki konfiguracyjne do startowania proftpd w trybie standalone
144 PreReq: %{name}-common = %{epoch}:%{version}
146 Requires(post,preun): /sbin/chkconfig
147 Requires(post): fileutils
150 Provides: proftpd = %{epoch}:%{version}-%{release}
152 Obsoletes: proftpd-inetd
158 Obsoletes: heimdal-ftpd
159 Obsoletes: linux-ftpd
160 Obsoletes: muddleftpd
162 Obsoletes: troll-ftpd
165 Conflicts: man-pages < 1.51
167 %description standalone
168 ProFTPD configs for running as a standalone daemon.
170 %description standalone -l pl
171 Pliki konfiguracyjne ProFTPD do startowania demona w trybie
175 %setup -q -n %{name}-%{version}%{_rc}
182 # IPv6 support needs major update
186 cp -f /usr/share/automake/config.sub .
188 RUN_DIR=%{_localstatedir} ; export RUN_DIR
189 CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
190 CPPFLAGS="%{rpmcflags} -I/usr/include/ncurses"
192 --enable-autoshadow \
193 --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} \
194 %{?with_ipv6:--enable-ipv6} \
195 %{!?with_ssl:--disable-tls} \
201 rm -rf $RPM_BUILD_ROOT
203 install -d $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,security,sysconfig/rc-inetd,rc.d/init.d} \
204 $RPM_BUILD_ROOT/var/{lib/ftp/pub/Incoming,log}
206 %{__make} install DESTDIR=$RPM_BUILD_ROOT \
207 INSTALL_USER=`id -u` \
208 INSTALL_GROUP=`id -g`
210 rm -f $RPM_BUILD_ROOT%{_sbindir}/in.proftpd
212 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
213 install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/ftpd
214 %{?with_pam:install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/ftp}
215 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/ftpd
216 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/proftpd
217 install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/proftpd
218 install contrib/xferstats.holger-preiss $RPM_BUILD_ROOT%{_bindir}/xferstat
220 bzip2 -dc %{SOURCE7} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
222 mv -f contrib/README contrib/README.modules
224 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers.default
225 :> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers
226 :> $RPM_BUILD_ROOT/var/log/xferlog
228 ln -sf proftpd $RPM_BUILD_ROOT%{_sbindir}/ftpd
230 :> $RPM_BUILD_ROOT/etc/security/blacklist.ftp
233 rm -rf $RPM_BUILD_ROOT
237 touch /var/log/xferlog
238 awk 'BEGIN { FS = ":" }; { if(($3 < 500)&&($1 != "ftp")) print $1; }' < /etc/passwd >> %{_sysconfdir}/ftpusers.default
239 if [ ! -f %{_sysconfdir}/ftpusers ]; then
240 cp -f %{_sysconfdir}/ftpusers.default %{_sysconfdir}/ftpusers
245 if grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf ; then
246 cp -a %{_sysconfdir}/proftpd.conf %{_sysconfdir}/proftpd.conf.rpmorig
247 sed -e "s/^ServerType[[:space:]]\+standalone/ServerType inetd/g" \
248 %{_sysconfdir}/proftpd.conf.rpmorig >%{_sysconfdir}/proftpd.conf
250 if [ -f /var/lock/subsys/rc-inetd ]; then
251 /etc/rc.d/init.d/rc-inetd reload 1>&2
253 echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
257 if [ "$1" = "0" -a -f /var/lock/subsys/rc-inetd ]; then
258 /etc/rc.d/init.d/rc-inetd reload 1>&2
262 /sbin/chkconfig --add proftpd
263 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf ; then
264 cp -a %{_sysconfdir}/proftpd.conf %{_sysconfdir}/proftpd.conf.rpmorig
265 sed -e "s/^ServerType[[:space:]]\+inetd/ServerType standalone/g" \
266 %{_sysconfdir}/proftpd.conf.rpmorig >%{_sysconfdir}/proftpd.conf
268 if [ -f /var/lock/subsys/proftpd ]; then
269 /etc/rc.d/init.d/proftpd restart 1>&2
271 echo "Run \"/etc/rc.d/init.d/proftpd start\" to start ProFTPD daemon."
275 if [ "$1" = "0" ]; then
276 if [ -f /var/lock/subsys/proftpd ]; then
277 /etc/rc.d/init.d/proftpd stop 1>&2
279 /sbin/chkconfig --del proftpd
283 %defattr(644,root,root,755)
284 %doc sample-configurations/*.conf CREDITS ChangeLog NEWS
285 %doc README README.LDAP README.PAM README.capabilities README.modules
286 %doc doc/*html contrib/*.html
288 %attr(750,root,ftp) %dir %{_sysconfdir}
289 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
290 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/ftpusers
291 %attr(640,root,root) %{_sysconfdir}/ftpusers.default
292 %attr(640,root,root) /etc/logrotate.d/*
293 %attr(640,root,root) %ghost /var/log/*
294 %{?with_pam:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*}
296 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.ftp
298 %attr(755,root,root) %{_bindir}/*
299 %attr(755,root,root) %{_sbindir}/*
304 %dir /var/lib/ftp/pub
305 %attr(711,ftp,ftp) %dir /var/lib/ftp/pub/Incoming
308 %defattr(644,root,root,755)
309 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/ftpd
311 %lang(ja) %{_mandir}/ja/man5/ftpusers*
312 %lang(pl) %{_mandir}/pl/man5/ftpusers*
313 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
314 %lang(ru) %{_mandir}/ru/man5/ftpusers*
317 %defattr(644,root,root,755)
318 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/proftpd
319 %attr(754,root,root) /etc/rc.d/init.d/proftpd
321 %lang(ja) %{_mandir}/ja/man5/ftpusers*
322 %lang(pl) %{_mandir}/pl/man5/ftpusers*
323 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
324 %lang(ru) %{_mandir}/ru/man5/ftpusers*