+#
+%define _ftpdir /home/services/ftp
+#
Summary: vsftpd - Very Secure FTP Daemon
Summary(pl): Bardzo Bezpieczny Demon FTP
-Summary(pt_BR): vsftpd - Daemon Ftp Muito Seguro
+Summary(pt_BR): vsftpd - Daemon FTP Muito Seguro
Name: vsftpd
-Version: 1.0.1
+Version: 2.0.3
Release: 2
License: GPL v2
Group: Daemons
-Source0: ftp://ferret.lmh.ox.ac.uk/pub/linux/vsftpd/%{name}-%{version}.tar.gz
+Source0: ftp://vsftpd.beasts.org/users/cevans/%{name}-%{version}.tar.gz
+# Source0-md5: 74936cbd8e8251deb1cd99c5fb18b6f8
Source1: %{name}.inetd
Source2: %{name}.pamd
Source3: %{name}-ftpusers
+Source4: ftpusers.tar.bz2
+# Source4-md5: 76c80b6ec9f4d079a1e27316edddbe16
+Source5: %{name}.init
+Patch0: %{name}-builddefs.patch
+Patch1: %{name}-amd64-findlibs.patch
URL: http://vsftpd.beasts.org/
-PreReq: rc-inetd
+BuildRequires: libcap-devel
+BuildRequires: libwrap-devel
+BuildRequires: openssl-devel >= 0.9.7d
+Requires: FHS >= 2.3
+Requires: pam >= 0.77.3
+Requires: %{name}-init = %{version}-%{release}
Provides: ftpserver
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Obsoletes: ftpserver
Obsoletes: anonftp
Obsoletes: bftpd
Obsoletes: ftpd-BSD
+Obsoletes: glftpd
Obsoletes: heimdal-ftpd
Obsoletes: linux-ftpd
Obsoletes: muddleftpd
Obsoletes: pure-ftpd
Obsoletes: troll-ftpd
Obsoletes: wu-ftpd
+Conflicts: man-pages < 1.51
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
A Very Secure FTP Daemon - written from scratch - by Chris "One Man
A Very Secure FTP Daemon (vsftpd) - escrito do zero - por Chris "One
Man Security Audit Team" Evans.
+%package inetd
+Summary: vsftpd - Very Secure FTP Daemon
+Summary(pl): Bardzo Bezpieczny Demon FTP
+Summary(pt_BR): vsftpd - Daemon FTP Muito Seguro
+Group: Networking/Daemons
+Requires: %{name} = %{version}-%{release}
+Requires: rc-inetd
+Provides: %{name}-init = %{version}-%{release}
+Obsoletes: %{name}-standalone
+Conflicts: %{name} <= 2.0.3-1
+
+%description inetd
+This package allows to start vsftpd as inetd service.
+
+%description inetd -l pl
+Ten pakiet pozwala na wystartowanie vsftpd jako usĀ³ugi inetd.
+
+%package standalone
+Summary: vsftpd - Very Secure FTP Daemon
+Summary(pl): Bardzo Bezpieczny Demon FTP
+Summary(pt_BR): vsftpd - Daemon FTP Muito Seguro
+Group: Networking/Daemons
+Requires(post,preun): /sbin/chkconfig
+Requires: %{name} = %{version}-%{release}
+Requires: rc-scripts
+Provides: %{name}-init = %{version}-%{release}
+Obsoletes: %{name}-inetd
+Conflicts: %{name} <= 2.0.3-1
+
+%description standalone
+This package allows to start vsftpd as standalone daemon.
+
+%description standalone -l pl
+Ten pakiet pozwala na wystartowanie vsftpd jako samodzielnego demona.
+
%prep
-%setup -q -n %{name}-%{version}
+%setup -q
+%patch0 -p1
+%patch1 -p1
%build
%{__make} \
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sbindir},%{_datadir}/empty,%{_mandir}/man{5,8}} \
- $RPM_BUILD_ROOT/etc/{pam.d,sysconfig/rc-inetd,logrotate.d,ftpd} \
- $RPM_BUILD_ROOT{/home/ftp/pub/Incoming,/var/log}
+ $RPM_BUILD_ROOT/etc/{pam.d,sysconfig/rc-inetd,logrotate.d,ftpd,rc.d/init.d} \
+ $RPM_BUILD_ROOT{%{_ftpdir}/pub/incoming,/var/log}
install vsftpd $RPM_BUILD_ROOT%{_sbindir}/vsftpd
install vsftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/vsftpd.conf
-install vsftpd.conf.5 $RPM_BUILD_ROOT/%{_mandir}/man5/vsftpd.conf.5
-install vsftpd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/vsftpd.8
+install vsftpd.conf.5 $RPM_BUILD_ROOT%{_mandir}/man5/vsftpd.conf.5
+install vsftpd.8 $RPM_BUILD_ROOT%{_mandir}/man8/vsftpd.8
install RedHat/vsftpd.log $RPM_BUILD_ROOT/etc/logrotate.d/vsftpd
install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/vsftpd
install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/ftp
install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ftpd/ftpusers
+install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/vsftpd
> $RPM_BUILD_ROOT/var/log/vsftpd.log
+bzip2 -dc %{SOURCE4} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+
%clean
rm -rf $RPM_BUILD_ROOT
%post
touch /var/log/vsftpd.log
chmod 640 /var/log/vsftpd.log
+
+%post inetd
if [ -f /var/lock/subsys/rc-inetd ]; then
/etc/rc.d/init.d/rc-inetd reload 1>&2
else
echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
fi
-%postun
+%postun inetd
if [ "$1" = "0" -a -f /var/lock/subsys/rc-inetd ]; then
/etc/rc.d/init.d/rc-inetd reload 1>&2
fi
+%post standalone
+/sbin/chkconfig --add %{name}
+if [ -f /var/lock/subsys/vsftpd ]; then
+ /etc/rc.d/init.d/vsftpd restart 1>&2
+else
+ echo "Type \"/etc/rc.d/init.d/vsftpd start\" to start vsftpd server" 1>&2
+fi
+
+%preun standalone
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/vsftpd ]; then
+ /etc/rc.d/init.d/vsftpd stop >&2
+ fi
+ /sbin/chkconfig --del %{name}
+fi
+
%files
%defattr(644,root,root,755)
-%doc AUDIT BENCHMARKS BUGS Changelog FAQ README REWARD SIZE SPEED TODO TUNING
-%doc SECURITY
+%doc AUDIT BENCHMARKS BUGS Changelog FAQ README REWARD SIZE SPEED TODO TUNING EXAMPLE SECURITY
%attr(755,root,root) %{_sbindir}/vsftpd
-%dir %{_datadir}/empty
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/vsftpd.conf
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/ftpd/ftpusers
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/vsftpd
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/ftp
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/vsftpd
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vsftpd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ftpd/ftpusers
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/ftp
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/vsftpd
%attr(640,root,root) %ghost /var/log/vsftpd.log
%{_mandir}/man5/vsftpd.conf.5*
%{_mandir}/man8/vsftpd.8*
-%dir /home/ftp
-%dir /home/ftp/pub
+%{_mandir}/man5/ftpusers.5*
+%lang(ja) %{_mandir}/ja/man5/ftpusers*
+%lang(pl) %{_mandir}/pl/man5/ftpusers*
+%lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
+%lang(ru) %{_mandir}/ru/man5/ftpusers*
+%dir %{_ftpdir}
+%dir %{_ftpdir}/pub
# it's safe - by default anon_upload_enable=NO, anon_world_readable_only=YES
-%attr(775,root,ftp) %dir /home/ftp/pub/Incoming
+%attr(775,root,ftp) %dir %{_ftpdir}/pub/incoming
+
+%files inetd
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/vsftpd
+
+%files standalone
+%defattr(644,root,root,755)
+%attr(754,root,root) /etc/rc.d/init.d/vsftpd