Search
j0ke.net Open Build Service
>
Projects
>
home:jg
>
psa-proftpd
> psa-proftpd.spec
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File psa-proftpd.spec of Package psa-proftpd
# NOTES # --with-modules=mod_ratio:mod_readme:mod_quota # --disable-sendfile # --with-modules= mod_ratio:mod_readme:mod_quota:mod_tls # --enable-buffer-size=8192 # FC8 only # Don't use embedded libcap, complie fix with new kernheaders 2.6.23+ # EXTRA_PATCHES= ${FILESDIR}/mod-cap-patch ${FILESDIR}/kernheaders-patch # --enable-nls replaces mod_codeconv # add to "UseEncoding utf8 cp1251" config %define _default_patch_fuzz 2 Summary: Flexible, stable and highly-configurable FTP server Name: psa-proftpd Version: 1.3.3c Release: 1.art License: GPL Group: System Environment/Daemons URL: http://www.proftpd.org/ Source0: ftp://ftp.proftpd.org/distrib/source/proftpd-%{version}.tar.gz #Source1: mod_clamav-0.10.2.tar.gz Source1: mod_clamav-0.11rc.tar.gz Source2: proftpd-mod-sftp-0.9.6.tar.gz Source3: proftpd-mod-dnsbl-0.1.3.tar.gz Source4: proftpd-mod-exec-0.9.6.tar.gz # In plesk, this is part of psa-proftpd-xinetd #Source1: proftpd.conf #Source3: proftpd-xinetd # This isnt used at all #Source2: proftpd.init #Source4: proftpd.logrotate #Source5: welcome.msg Source6: proftpd.pam.plesk #Source7: proftpd.pam.el4 #Source8: proftpd.pam.el5 Patch0: proftpd.patch Patch1: parser.patch Patch2: mod-cap-patch Patch3: patch-af-proftp-man.patch Patch4: patch-ah-krb5.patch Patch5: patch-configure Patch6: patch-contrib-mod_wrap2-Makefile.in Patch7: dnsbl-lib64.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %if 0%{?fc11}0%{?fc12}0%{?fc13}0%{?fc14} BuildRequires: glibc-static %endif BuildRequires: pam-devel, ncurses-devel, pkgconfig BuildRequires: openssl-devel, krb5-devel BuildRequires: openldap-devel, mysql-devel, zlib-devel BuildRequires: glibc-devel %{!?_without_acl:BuildRequires: libacl-devel} %{!?_without_postgresql:BuildRequires: postgresql-devel} Requires: pam >= 0.59 Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig Requires(postun): /sbin/service Provides: ftpserver # <ART> Provides: psa-proftpd AutoReq: 0 # </ART> %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 devel Summary: Header files, libraries and development documentation for %{name}. Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel This package contains the header files, static libraries and development documentation for %{name}. If you like to develop programs using %{name}, you will need to install %{name}-devel. %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. %package mod_sftp Summary: Implements the SSH2 protocol and its SFTP subsystem for ProFTPD Group: System/Servers Requires(post): %{name} = %{version}-%{release} Requires(preun): %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release} %description mod_sftp The mod_sftp module implements the SSH2 protocol and its SFTP subsystem, for secure file transfer over an SSH2 connection. The mod_sftp module supports: o Public key authentication o Password authentication (e.g. user authentication via mod_sql, mod_ldap, mod_auth_file, mod_auth_unix, mod_auth_pam) o SCP support o Quotas (via the mod_quotatab module) o FIPS support (see Usage section) o Throttled transfers (via TransferRate, and/or the mod_shaper module) o Blacklisted public keys o Configurable traffic analysis protection o Passphrase-protected host keys %prep %setup -n proftpd-%{version} -a1 -a2 -a3 -a4 %patch0 -p1 %patch1 -p0 # Not needed #%if 0%{?fc8}%{?fc9}%{?fc10} #%patch2 -p0 #%endif #%patch3 -p0 # Not needed #%patch4 -p0 #%patch5 -p0 # mod_conv #%patch6 -p0 # /usr/local/include mv mod_clamav-0.11rc/* contrib/ #mv mod_sftp contrib mv mod_dnsbl/*c contrib/ mv mod_exec/*c contrib/ %ifarch x86_64 %patch7 -p0 %endif # Disable stripping in order to get useful debuginfo packages %{__perl} -pi -e 's|"-s"|""|g' configure %build if pkg-config openssl; then export CFLAGS="%{optflags} $(pkg-config --cflags openssl)" export LDFLAGS="$LDFLAGS $(pkg-config --libs-only-L openssl)" fi #--with-modules="mod_clamav:mod_quotatab:mod_quotatab_file:mod_tls:mod_readme:mod_auth_pam" \ #--with-shared="mod_ldap:mod_sql:mod_sql_mysql:%{!?_without_postgresql:mod_sql_postgres:}mod_quotatab:mod_quotatab_file:mod_quotatab_ldap:mod_quotatab_sql" %configure \ --libexecdir="%{_libexecdir}/proftpd" \ --localstatedir="%{_var}/run/proftpd" \ --enable-ctrls \ --enable-dso \ %{!?_without_acl:--enable-facl} \ --enable-ipv6 \ --enable-openssl \ --with-includes="%{_includedir}/mysql" \ --with-libraries="%{_libdir}/mysql" \ --with-modules="mod_clamav:mod_quotatab:mod_quotatab_file:mod_tls:mod_readme:mod_auth_pam:mod_dnsbl:mod_ifsession" \ --with-shared="mod_ldap:mod_sql:mod_sql_mysql:%{!?_without_postgresql:mod_sql_postgres:}mod_quotatab_ldap:mod_quotatab_sql:mod_sftp" %{__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 rm -f %{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 #%{__mkdir_p} %{buildroot}/var/ftp/uploads #%{__mkdir_p} %{buildroot}/var/ftp/pub #%{__mkdir_p} %{buildroot}/var/log/proftpd %{__install} -D -p -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/pam.d/proftpd #%if 0%{?el4} #%{__install} -D -p -m 0644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pam.d/proftpd #%else #%{__install} -D -p -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/pam.d/proftpd #%endif #%if 0%{?el5} #%{__install} -D -p -m 0644 %{SOURCE8} %{buildroot}%{_sysconfdir}/pam.d/proftpd #%endif %{__make} install -C contrib/mod_sftp DESTDIR=%{buildroot} LIBEXECDIR=%{_libexecdir}/proftpd/ INSTALL_USER=`id -un` INSTALL_GROUP=`id -gn` %{__mkdir} -p %{buildroot}/var/run/proftpd #touch %{buildroot}%{_sysconfdir}/ftpusers %clean %{__rm} -rf %{buildroot} %post if [ $1 -eq 1 ]; then 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 /sbin/service xinetd reload &>/dev/null || : fi # create psaftp user if ! grep -q psaftp /etc/passwd ; then /usr/sbin/useradd -r -c "anonftp psa user" -d / -s /sbin/nologin psaftp fi # add /bin/false to shell if ! grep -q "/bin/false" /etc/shells; then echo "/bin/false" >> /etc/shells fi # make sure @psacln is in /etc/ftpchroot if [ ! -f /etc/ftpchroot ]; then touch /etc/ftpchroot fi if ! grep -q "@psacln" /etc/ftpchroot; then echo "@psacln" >> /etc/ftpchroot fi %post -n %{name}-mod_sftp if [ "$1" = 0 ]; then service proftpd condrestart > /dev/null 2>/dev/null || : fi %preun if [ $1 -eq 0 ]; then /sbin/service xinetd reload &>/dev/null || : if [ -d %{_var}/run/proftpd ]; then rm -rf %{_var}/run/proftpd/* fi fi %postun if [ $1 -eq 0 ]; then /usr/sbin/userdel psaftp fi %files %defattr(-, root, root, 0755) %doc COPYING CREDITS ChangeLog NEWS README* 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}/man?/* %{_bindir}/* %dir %{_libexecdir}/proftpd/ #%{_libexecdir}/proftpd/mod_quotatab.so #%{_libexecdir}/proftpd/mod_quotatab_file.so %{_libexecdir}/proftpd/mod_sql.so %{_sbindir}/* %{_libdir}/pkgconfig/proftpd.pc #%dir /var/ftp/ #%dir /var/ftp/pub/ #%config(noreplace) /var/ftp/welcome.msg #%defattr(0331, ftp, ftp, 0331) #%dir /var/ftp/uploads/ %defattr(0750, root, root, 0750) #%dir /var/log/proftpd/ %exclude %{_libexecdir}/proftpd/*.a %exclude %{_libexecdir}/proftpd/*.la %files devel %defattr(-, root, root, 0755) %{_includedir}/proftpd/ %files ldap %defattr(-, root, root, 0755) %dir %{_libexecdir}/proftpd/ %{_libexecdir}/proftpd/mod_ldap.so %{_libexecdir}/proftpd/mod_quotatab_ldap.so %files mysql %defattr(-, root, root, 0755) %dir %{_libexecdir}/proftpd/ %{_libexecdir}/proftpd/mod_sql_mysql.so %{_libexecdir}/proftpd/mod_quotatab_sql.so %files mod_sftp %defattr(-,root,root) #%doc contrib/mod_sftp/mod_sftp.html %config(noreplace) %{_sysconfdir}/blacklist.dat %config(noreplace) %{_sysconfdir}/dhparams.pem #%config(noreplace) %{_sysconfdir}/%{name}.d/37_mod_sftp.conf %{_libexecdir}/proftpd/mod_sftp.so %if %{!?_without_postgresql:1}0 %files postgresql %defattr(-, root, root, 0755) %dir %{_libexecdir}/proftpd/ %{_libexecdir}/proftpd/mod_sql_postgres.so %{_libexecdir}/proftpd/mod_quotatab_sql.so %endif %changelog * Mon Nov 1 2010 Support <support@atomicorp.com> - 1.3.3c-1 - Update to 1.3.3c, important security update