Blob Blame Raw
Summary: Flexible, stable and highly-configurable FTP server
Name: proftpd
Version: 1.3.0
Release: 3%{?dist}
License: GPL
Group: System Environment/Daemons
URL: http://www.proftpd.org/
Source0: ftp://ftp.proftpd.org/distrib/source/proftpd-%{version}.tar.bz2
Source1: proftpd.conf
Source2: proftpd.init
Source3: proftpd-xinetd
Source4: proftpd.logrotate
Source5: welcome.msg
Source6: proftpd.pam
Patch0: proftpd-1.3.0-rpath.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
Requires: pam >= 0.59
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/service, /sbin/chkconfig
Requires(postun): /sbin/service
BuildRequires: pam-devel, ncurses-devel, pkgconfig
BuildRequires: openssl-devel, krb5-devel, libacl-devel
BuildRequires: openldap-devel, mysql-devel, zlib-devel, postgresql-devel
Provides: ftpserver

%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.


%package ldap
Summary: Module to add LDAP support to the ProFTPD FTP server
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}

%description ldap
Module to add LDAP support to the ProFTPD FTP server.


%package mysql
Summary: Module to add MySQL support to the ProFTPD FTP server
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}

%description mysql
Module to add MySQL support to the ProFTPD FTP server.


%package postgresql
Summary: Module to add PostgreSQL support to the ProFTPD FTP server
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}

%description postgresql
Module to add PostgreSQL support to the ProFTPD FTP server.


%prep
%setup
%patch0 -p1 -b .rpath


%build
# Disable stripping in order to get useful debuginfo packages
%{__perl} -pi -e 's|"-s"|""|g' configure

%configure \
    --libexecdir="%{_libexecdir}/proftpd" \
    --localstatedir="%{_var}/run" \
    --enable-ctrls \
    --enable-facl \
    --enable-dso \
    --enable-ipv6 \
    --with-libraries="%{_libdir}/mysql" \
    --with-includes="%{_includedir}/mysql" \
    --with-modules=mod_readme:mod_auth_pam:mod_tls \
    --with-shared=mod_ldap:mod_sql:mod_sql_mysql:mod_sql_postgres

%{__make} %{?_smp_mflags}


%install
%{__rm} -rf %{buildroot}
%{__make} install DESTDIR=%{buildroot} \
    rundir="%{_var}/run/proftpd" \
    INSTALL_USER=`id -un` \
    INSTALL_GROUP=`id -gn`
%{__install} -D -p -m 0640 %{SOURCE1} \
    %{buildroot}%{_sysconfdir}/proftpd.conf
%{__install} -D -p -m 0755 %{SOURCE2} \
    %{buildroot}%{_sysconfdir}/rc.d/init.d/proftpd
%{__install} -D -p -m 0640 %{SOURCE3} \
    %{buildroot}%{_sysconfdir}/xinetd.d/xproftpd
%{__install} -D -p -m 0644 %{SOURCE4} \
    %{buildroot}%{_sysconfdir}/logrotate.d/proftpd
%{__install} -D -p -m 0644 %{SOURCE5} %{buildroot}/var/ftp/welcome.msg
%{__install} -D -p -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/pam.d/proftpd
%{__mkdir_p} %{buildroot}/var/ftp/uploads
%{__mkdir_p} %{buildroot}/var/ftp/pub
%{__mkdir_p} %{buildroot}/var/log/proftpd
touch %{buildroot}%{_sysconfdir}/ftpusers


%clean
%{__rm} -rf %{buildroot}


%post
if [ $1 -eq 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 -eq 0 ]; then
    /sbin/service proftpd stop &>/dev/null || :
    /sbin/chkconfig --del proftpd
    /sbin/service xinetd reload &>/dev/null || :
    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 || :
fi


%files
%defattr(-, root, root, 0755)
%doc COPYING CREDITS ChangeLog NEWS README*
%doc doc/* sample-configurations/
%dir %{_localstatedir}/run/proftpd/
%config(noreplace) %{_sysconfdir}/proftpd.conf
%config(noreplace) %{_sysconfdir}/xinetd.d/xproftpd
%config %{_sysconfdir}/ftpusers
%config(noreplace) %{_sysconfdir}/pam.d/proftpd
%config(noreplace) %{_sysconfdir}/logrotate.d/proftpd
%{_sysconfdir}/rc.d/init.d/proftpd
%{_mandir}/*/*
%{_bindir}/*
%dir %{_libexecdir}/proftpd/
%{_libexecdir}/proftpd/mod_sql.so
%exclude %{_libexecdir}/proftpd/*.a
%exclude %{_libexecdir}/proftpd/*.la
%{_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/

%files ldap
%defattr(-, root, root, 0755)
%dir %{_libexecdir}/proftpd/
%{_libexecdir}/proftpd/mod_ldap.so

%files mysql
%defattr(-, root, root, 0755)
%dir %{_libexecdir}/proftpd/
%{_libexecdir}/proftpd/mod_sql_mysql.so

%files postgresql
%defattr(-, root, root, 0755)
%dir %{_libexecdir}/proftpd/
%{_libexecdir}/proftpd/mod_sql_postgres.so


%changelog
* Wed May 10 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-3
- Add commented section about DSO loading to the default proftpd.conf.
- Update TLS cert paths in the default proftpd.conf to /etc/pki/tls.

* Fri Apr 28 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-2
- Mark pam.d and logrotate.d config files as noreplace.
- Include patch to remove -rpath to DESTDIR/usr/sbin/ in the proftpd binary
  when DSO is enabled (#190122).

* Fri Apr 21 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-1
- Update to 1.3.0 final.
- Remove no longer needed PostgreSQL and OpenSSL detection workarounds.
- Remove explicit conflicts on wu-ftpd, anonftp and vsftpd to let people
  install more than one ftp daemon (what for? hmm...) (#189023).
- Enable LDAP, MySQL and PostgreSQL as DSOs by default, and stuff them in
  new sub-packages. This won't introduce any regression since they weren't
  enabled by default.
- Remove useless explicit requirements.
- Rearrange scriplets requirements.
- Enable ctrls (controls via ftpdctl) and facl (POSIX ACLs).
- Using --disable-static makes the build fail, so exclude .a files in %%files.
- Silence harmless IPv6 failure message at startup when IPv6 isn't available.

* Tue Mar  7 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-0.2.rc4
- Update to 1.3.0rc4 (bugfix release).

* Mon Mar  6 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-0.2.rc3
- FC5 rebuild.

* Thu Feb  9 2006 Matthias Saou <http://freshrpms.net/> 1.3.0-0.1.rc3
- Update to 1.3.0rc3, which builds with the latest openssl.

* Thu Nov 17 2005 Matthias Saou <http://freshrpms.net/> 1.2.10-7
- Rebuild against new openssl library... not.

* Wed Jul 13 2005 Matthias Saou <http://freshrpms.net/> 1.2.10-6
- The provided pam.d file no longer works, use our own based on the one from
  the vsftpd package (#163026).
- Rename the pam.d file we use from 'ftp' to 'proftpd'.
- Update deprecated AuthPAMAuthoritative in the config file (see README.PAM).

* Tue May 10 2005 Matthias Saou <http://freshrpms.net/> 1.2.10-4
- Disable stripping in order to get useful debuginfo packages.

* Fri Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net> 1.2.10-3
- rebuilt

* Tue Nov 16 2004 Matthias Saou <http://freshrpms.net/> 1.2.10-2
- Bump release to provide Extras upgrade path.

* Wed Sep 22 2004 Matthias Saou <http://freshrpms.net/> 1.2.10-1
- Updated to release 1.2.10.

* Tue Jun 22 2004 Matthias Saou <http://freshrpms.net/> 1.2.9-8
- Added ncurses-devel build requires to fix the ftptop utility.

* Fri Feb 26 2004 Magnus-swe <Magnus-swe@telia.com> 1.2.9-7
- Fixed the scoreboard and pidfile issues.

* Fri Jan  9 2004 Matthias Saou <http://freshrpms.net/> 1.2.9-6
- Pass /var/run/proftpd as localstatedir to configure to fix pid and
  scoreboard file problems.

* Wed Dec 10 2003 Matthias Saou <http://freshrpms.net/> 1.2.9-4
- Fixed the MySQL include path, thanks to Jim Richardson.
- Renamed the postgres conditional build to postgresql.

* Tue Nov 11 2003 Matthias Saou <http://freshrpms.net/> 1.2.9-3
- Renamed the xinetd service to xproftpd to avoid conflict.
- Only HUP the standalone proftpd through logrotate if it's running.

* Fri Nov  7 2003 Matthias Saou <http://freshrpms.net/> 1.2.9-2
- Rebuild for Fedora Core 1.
- Modified the init script to make it i18n aware.

* Fri Oct 31 2003 Matthias Saou <http://freshrpms.net/> 1.2.9-1
- Update to 1.2.9.

* Wed Sep 24 2003 Matthias Saou <http://freshrpms.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 <http://freshrpms.net/>
- Minor fixes in included README files.

* Mon Mar 31 2003 Matthias Saou <http://freshrpms.net/>
- Rebuilt for Red Hat Linux 9.

* Thu Mar 13 2003 Matthias Saou <http://freshrpms.net/>
- Update to 1.2.8.
- Remove the renamed linuxprivs module.
- Added TLS module build option.

* Fri Dec 13 2002 Matthias Saou <http://freshrpms.net/>
- Fix change for ScoreboardFile in the default conf, thanks to Sven Hoexter.

* Mon Dec  9 2002 Matthias Saou <http://freshrpms.net/>
- Update to 1.2.7.

* Thu Sep 26 2002 Matthias Saou <http://freshrpms.net/>
- Rebuilt for Red Hat Linux 8.0.

* Tue Sep 17 2002 Matthias Saou <http://freshrpms.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 <http://freshrpms.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 <http://freshrpms.net/>
- Rebuilt against Red Hat Linux 7.3.
- Added the %%{?_smp_mflags} expansion.

* Tue Oct 23 2001 Matthias Saou <http://freshrpms.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 <http://freshrpms.net/>
- Update to 1.2.4, since 1.2.3 had a nasty umask bug.

* Sat Aug 18 2001 Matthias Saou <http://freshrpms.net/>
- Update to 1.2.2 final.
- Changed the default config file a lot.

* Wed Apr 25 2001 Matthias Saou <http://freshrpms.net/>
- Update to 1.2.2rc2.

* Mon Apr  1 2001 Matthias Saou <http://freshrpms.net/>
- Update to 1.2.2rc1.

* Tue Mar 20 2001 Matthias Saou <http://freshrpms.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 <http://freshrpms.net/>
- Upgraded to 1.2.1.
- New init script (added condrestart).

* Tue Feb 27 2001 Matthias Saou <http://freshrpms.net/>
- Upgraded to 1.2.0 final.

* Tue Feb  6 2001 Matthias Saou <http://freshrpms.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 <http://freshrpms.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 <http://freshrpms.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 <http://freshrpms.net/>
  [proftpd-1.2.0rc2-1]
- Upgraded to 1.2.0rc2

- Upgraded to 1.2.0rc1
* Sat Jul 22 2000 Matthias Saou <http://freshrpms.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.