#
# Conditional build:
-# _with_mysql - enables MySQL auth but disables PAM auth
-# _with_ldap - enabled LDAP auth
+%bcond_without ldap # disable LDAP auth
+%bcond_without mysql # disable MySQL auth but disables PAM auth
+%bcond_without pgsql # disable PostgreSQL support
+%bcond_without puredb # disable pure-db support
+%bcond_without tls # support SSL/TLS
#
Summary: Small, fast and secure FTP server
Summary(pl): Ma³y, szybki i bezpieczny serwer FTP
Name: pure-ftpd
-Version: 1.0.13
+Version: 1.0.20
Release: 1
Epoch: 0
-License: GPL
+License: BSD-like
Group: Daemons
-Source0: ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/%{name}-%{version}a.tar.bz2
+Source0: ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/%{name}-%{version}.tar.bz2
+# Source0-md5: e928e9e15adf6b52bfe6183fdad20144
Source1: %{name}.pamd
Source2: %{name}.init
Source3: ftpusers.tar.bz2
+# Source3-md5: 76c80b6ec9f4d079a1e27316edddbe16
+Patch0: %{name}-config.patch
+# This patch is broken and changes default pureftpd behaviour
+Patch1: %{name}-path_to_ssl_cert_in_config.patch
+Patch2: %{name}-pure-pw_passwd.patch
URL: http://www.pureftpd.org/
BuildRequires: libcap-devel
-%{?_with_mysql:BuildRequires: mysql-devel}
-%{?_with_ldap:BuildRequires: openldap-devel}
+%{?with_ldap:BuildRequires: openldap-devel}
+%{?with_mysql:BuildRequires: mysql-devel}
+%{?with_pgsql:BuildRequires: postgresql-devel}
+%{?with_tls:BuildRequires: openssl-devel}
BuildRequires: pam-devel
Prereq: rc-scripts
Requires(post,preun):/sbin/chkconfig
+Requires: pam >= 0.77.3
+Requires: perl-base
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: vsftpd
Obsoletes: wu-ftpd
Conflicts: man-pages < 1.51
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/ftpd
+%define _ftpdir /home/services/ftp
%description
Pure-FTPd is a fast, production-quality, standard-comformant FTP
po³±czeñ...
%prep
-%setup -q -n %{name}-%{version}a
+%setup -q
+%patch0 -p0
+# broken
+#%patch1 -p1
+%patch2 -p1
%build
%configure \
- %{?_with_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \
+ --with-boring \
--with-altlog \
- --with-puredb \
- %{?!_with_mysql:--with-pam} \
--with-cookie \
- --with-throttling \
- --with-ratios \
- --with-quotas \
+ --with-diraliases \
+ --with-extauth \
--with-ftpwho \
+ --with-language=english \
--with-largefile \
+ %{?with_ldap:--with-ldap} \
+ %{?with_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \
+ --with-pam \
+ --with-peruserlimits \
+ %{?with_pgsql:--with-pgsql} \
+ --with-privsep \
+ %{?with_puredb:--with-puredb} \
+ --with-quotas \
+ --with-ratios \
+ --with-throttling \
+ %{?with_tls:--with-tls --with-certfile=%{_sharedstatedir}/openssl/certs/ftpd.pem} \
--with-uploadscript \
- --with-virtualhosts \
- --with-language=english \
--with-virtualchroot \
- %{?_with_ldap:--with-ldap}
-
+ --with-virtualhosts
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d} \
- $RPM_BUILD_ROOT{%{_sysconfdir}/vhosts,/home/ftp/Incoming}
+ $RPM_BUILD_ROOT{%{_sysconfdir}/vhosts,%{_ftpdir}/Incoming}
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-%{?_with_mysql:cat pureftpd-mysql.conf >> configuration-file/pure-ftpd.conf}
-install configuration-file/pure-ftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/pure-ftpd.conf
+%{?with_ldap:install pureftpd-ldap.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-ldap.conf}
+%{?with_mysql:install pureftpd-mysql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf}
+%{?with_pgsql:install pureftpd-pgsql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.conf}
+install configuration-file/pure-ftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd.conf
install configuration-file/pure-config.pl $RPM_BUILD_ROOT%{_sbindir}
touch $RPM_BUILD_ROOT/etc/security/blacklist.ftp
+ln -s vhosts $RPM_BUILD_ROOT%{_sysconfdir}/pure-ftpd
+
bzip2 -dc %{SOURCE3} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
%clean
%files
%defattr(644,root,root,755)
-%doc README* AUTHORS ChangeLog HISTORY NEWS THANKS pure*.conf
+%doc AUTHORS ChangeLog CONTACT FAQ HISTORY NEWS README* THANKS pure*.conf pureftpd.schema
%attr(755,root,root) %{_bindir}/*
%attr(755,root,root) %{_sbindir}/*
%attr(754,root,root) /etc/rc.d/init.d/%{name}
-%{?!_with_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*}
-%{?!_with_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/security/blacklist.ftp}
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pure-ftpd.conf
-%attr(740,root,root) %dir %{_sysconfdir}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/security/blacklist.ftp
+%{?with_ldap:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-ldap.conf}
+%{?with_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-mysql.conf}
+%{?with_pgsql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-pgsql.conf}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd.conf
+%attr(710,root,ftp) %dir %{_sysconfdir}
%dir %{_sysconfdir}/vhosts
-%dir /home/ftp
-%attr(775,root,ftp) %dir /home/ftp/Incoming
+%dir %{_sysconfdir}/pure-ftpd
+%dir %{_ftpdir}
+%attr(775,root,ftp) %dir %{_ftpdir}/Incoming
%{_mandir}/man?/*
%lang(ja) %{_mandir}/ja/man5/ftpusers*
%lang(pl) %{_mandir}/pl/man5/ftpusers*