#$Id: proftpd.spec,v 1.11 2003/09/24 10:51:11 dude Exp $
Summary: A flexible, stable and highly-configurable FTP Server.
Name: proftpd
Version: 1.2.8
Release: 4p%{?_with_ldap:_ldap}%{?_with_mysql:_mysql}%{?_with_postgres:_postgres}.fr
Group: System Environment/Daemons
License: GPL
URL: http://www.proftpd.org/
Source: ftp://proftpd.org/distrib/source/%{name}-%{version}.tar.bz2
Source1: proftpd.conf
Source2: proftpd.init
Source3: proftpd-xinetd
Source4: proftpd.logrotate
Source5: welcome.msg
Buildroot: %{_tmppath}/%{name}-root
Requires: pam >= 0.59, /sbin/service, /sbin/chkconfig, /etc/init.d
%{!?_without_tls:Requires: openssl}
%{!?_without_tls:BuildRequires: openssl-devel, krb5-devel}
%{?_with_ldap:Requires: openldap}
%{?_with_ldap:BuildRequires: openldap-devel}
%{?_with_mysql:Requires: mysql}
%{?_with_mysql:BuildRequires: mysql-devel}
%{?_with_postgres:Requires: postgresql}
%{?_with_postgres:BuildRequires: postgresql-devel}
BuildRequires: pam-devel, perl, pkgconfig
Provides: ftpserver
Conflicts: wu-ftpd, anonftp, vsftpd
%description
ProFTPD is an enhanced FTP server with a focus toward simplicity, security,
and ease of configuration. It features a very Apache-like configuration
syntax, and a highly customizable server infrastructure, including support for
multiple 'virtual' FTP servers, anonymous FTP, and permission-based directory
visibility.
This package defaults to the standalone behaviour of ProFTPD, but all the
needed scripts to have it run by xinetd instead are included.
Available rpmbuild rebuild options :
--without : tls
--with : ldap mysql postgres
%prep
%setup -q
%build
# Workaround for the PostgreSQL include file
perl -pi -e 's|pgsql/libpq-fe.h|libpq-fe.h|g' contrib/mod_sql_postgres.c
# TLS includes
OPENSSL_INC=""
if OPENSSL_CFLAGS=`pkg-config --cflags openssl`; then
for i in ${OPENSSL_CFLAGS}; do
INCPATH=`echo $i | perl -pi -e 's|-I([a-z/]*)|$1|g'`
test ! -z ${INCPATH} && OPENSSL_INC="${OPENSSL_INC}:${INCPATH}"
done
fi
%configure \
--with-includes=%{_includedir}%{!?_without_tls:${OPENSSL_INC}} \
%{?_with_mysql:--with-libraries=%{_libdir}/mysql} \
%{?_with_postgres:--with-libraries=%{_libdir}} \
--with-modules=mod_readme:mod_auth_pam%{?_with_ldap::mod_ldap}%{?_with_mysql::mod_sql:mod_sql_mysql}%{?_with_postgres::mod_sql:mod_sql_postgres}%{!?_without_tls::mod_tls}
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
%makeinstall rundir=%{buildroot}%{_localstatedir}/run/proftpd \
INSTALL_USER=`id -un` \
INSTALL_GROUP=`id -gn`
install -D -m 644 contrib/dist/rpm/ftp.pamd %{buildroot}%{_sysconfdir}/pam.d/ftp
install -D -m 640 %{SOURCE1} %{buildroot}%{_sysconfdir}/proftpd.conf
install -D -m 755 %{SOURCE2} %{buildroot}%{_sysconfdir}/rc.d/init.d/proftpd
install -D -m 640 %{SOURCE3} %{buildroot}%{_sysconfdir}/xinetd.d/proftpd
install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/logrotate.d/proftpd
install -D -m 644 %{SOURCE5} %{buildroot}/var/ftp/welcome.msg
mkdir -p %{buildroot}/var/ftp/uploads
mkdir -p %{buildroot}/var/ftp/pub
mkdir -p %{buildroot}/var/log/proftpd
touch %{buildroot}%{_sysconfdir}/ftpusers
%post
if [ $1 = 1 ]; then
/sbin/chkconfig --add proftpd
IFS=":"; cat /etc/passwd | \
while { read username nu nu gid nu nu nu nu; }; do \
if [ $gid -lt 100 -a "$username" != "ftp" ]; then
echo $username >> %{_sysconfdir}/ftpusers
fi
done
fi
%preun
if [ $1 = 0 ]; then
/sbin/service proftpd stop >/dev/null 2>&1 || :
/sbin/chkconfig --del proftpd
/sbin/service xinetd reload >/dev/null 2>&1 || :
if [ -d /var/run/proftpd ]; then
rm -rf /var/run/proftpd/*
fi
fi
%postun
if [ $1 -ge 1 ]; then
/sbin/service proftpd condrestart >/dev/null 2>&1
fi
%clean
rm -rf %{buildroot}
%files
%defattr(-, root, root)
%doc COPYING CREDITS ChangeLog NEWS README README.LDAP README.mod_sql
%doc README.modules README.PAM doc/* sample-configurations
%dir %{_localstatedir}/run/proftpd
%config(noreplace) %{_sysconfdir}/proftpd.conf
%config(noreplace) %{_sysconfdir}/xinetd.d/proftpd
%config %{_sysconfdir}/ftpusers
%config %{_sysconfdir}/pam.d/ftp
%config %{_sysconfdir}/logrotate.d/proftpd
%{_sysconfdir}/rc.d/init.d/proftpd
%{_mandir}/*/*
%{_bindir}/*
%{_sbindir}/*
%dir /var/ftp
%attr(331, ftp, ftp) %dir /var/ftp/uploads
%dir /var/ftp/pub
%config(noreplace) /var/ftp/welcome.msg
%attr(750, root, root) %dir /var/log/proftpd
%changelog
* Wed Sep 24 2003 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 1.2.8p to fix secutiry vulnerability.
- Fix the TLS build option at last, enable it by default.
* Mon Aug 4 2003 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Minor fixes in included README files.
* Mon Mar 31 2003 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Rebuilt for Red Hat Linux 9.
* Thu Mar 13 2003 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 1.2.8.
- Remove the renamed linuxprivs module.
- Added TLS module build option.
* Fri Dec 13 2002 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Fix change for ScoreboardFile in the default conf, thanks to Sven Hoexter.
* Mon Dec 9 2002 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 1.2.7.
* Thu Sep 26 2002 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Rebuilt for Red Hat Linux 8.0.
* Tue Sep 17 2002 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 1.2.6.
- Fixed typo in the config for "AllowForeignAddress" thanks to Michel Kraus.
- Removed obsolete user install patch.
- Added "modular" ldap, mysql and postgresql support.
* Mon Jun 10 2002 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 1.2.5.
- Changed the welcome.msg to config so that it doesn't get replaced.
* Fri May 3 2002 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Rebuilt against Red Hat Linux 7.3.
- Added the %%{?_smp_mflags} expansion.
* Tue Oct 23 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Changed the default config file : Where the pid file is stored, addedd
an upload authorization in anon server, and separate anon logfiles.
- Updated welcome.msg to something nicer.
* Fri Oct 19 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 1.2.4, since 1.2.3 had a nasty umask bug.
* Sat Aug 18 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 1.2.2 final.
- Changed the default config file a lot.
* Wed Apr 25 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 1.2.2rc2.
* Mon Apr 1 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 1.2.2rc1.
* Tue Mar 20 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Added a DenyFilter to prevent a recently discovered DOS attack.
This is only useful for fresh installs since the config file is not
overwritten.
* Fri Mar 2 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Upgraded to 1.2.1.
- New init script (added condrestart).
* Tue Feb 27 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Upgraded to 1.2.0 final.
* Tue Feb 6 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Upgraded to 1.2.0rc3 (at last a new version!)
- Modified the spec file to support transparent upgrades
* Wed Nov 8 2000 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Upgraded to the latest CVS to fix the "no PORT command" bug
- Fixed the ftpuser creation script
- Modified the default config file to easily change to an anonymous
server
* Sun Oct 15 2000 Matthias Saou <matthias.saou@est.une.marmotte.net>
[proftpd-1.2.0rc2-2]
- Updated the spec file and build process for RedHat 7.0
- Added xinetd support
- Added logrotate.d support
* Fri Jul 28 2000 Matthias Saou <matthias.saou@est.une.marmotte.net>
[proftpd-1.2.0rc2-1]
- Upgraded to 1.2.0rc2
- Upgraded to 1.2.0rc1
* Sat Jul 22 2000 Matthias Saou <matthias.saou@est.une.marmotte.net>
[proftpd-1.2.0rc1-1]
- Upgraded to 1.2.0rc1
- Re-did the whole spec file (it's hopefully cleaner now)
- Made a patch to be able to build the RPM as an other user than root
- Added default pam support (but without /etc/shells check)
- Rewrote the rc.d script (mostly exit levels and ftpshut stuff)
- Modified the default configuration file to not display a version number
- Changed the package to standalone in one single RPM easily changeable
to inetd (for not-so-newbie users)
- Fixed the ftpusers generating shell script (missing "nu"s for me...)
- Removed mod_ratio (usually used with databases modules anyway)
- Removed the prefix (relocations a rarely used on non-X packages)
- Gzipped the man pages
* Thu Oct 03 1999 O.Elliyasa <osman@Cable.EU.org>
- Multi package creation.
Created core, standalone, inetd (&doc) package creations.
Added startup script for init.d
Need to make the "standalone & inetd" packages being created as "noarch"
- Added URL.
- Added prefix to make the package relocatable.
* Wed Sep 08 1999 O.Elliyasa <osman@Cable.EU.org>
- Corrected inetd.conf line addition/change logic.
* Sat Jul 24 1999 MacGyver <macgyver@tos.net>
- Initial import of spec.