X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=pure-ftpd.spec;h=d089d7edf92ac1f6721754ad92998b5c694fa3b2;hb=4ceeaa1f2562da54d6a4731487b25bc32da18926;hp=8a4e70c07cb9dd071b87801ab22b58558d7dd2e6;hpb=636f280aa0f953ff2ef5dd1418ad72295e0fcbd3;p=packages%2Fpure-ftpd.git diff --git a/pure-ftpd.spec b/pure-ftpd.spec index 8a4e70c..d089d7e 100644 --- a/pure-ftpd.spec +++ b/pure-ftpd.spec @@ -1,40 +1,55 @@ # # Conditional build: -# _without_mysql - disable MySQL auth but disables PAM auth -# _without_ldap - disable LDAP auth -# _without_pgsql - disable PostgreSQL support -# _without_tls - support SSL/TLS +%bcond_with extra # with additional, maybe useful, but unmaintained features +%bcond_without ldap # disable LDAP auth +%bcond_without longusername # with username length = 128 (default 32) +%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 # disable SSL/TLS support # Summary: Small, fast and secure FTP server Summary(pl): Ma³y, szybki i bezpieczny serwer FTP Name: pure-ftpd -Version: 1.0.16a -Release: 3 +Version: 1.0.20 +Release: 6%{?with_extra:extra} Epoch: 0 -License: BSD-like +License: BSD-like%{?with_extra:, GLPv2 for pure-config due to libcfg+ license} Group: Daemons Source0: ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/%{name}-%{version}.tar.bz2 -# Source0-md5: 9bb8e85367bda9a63afdcbe6e2d26c71 +# Source0-md5: e928e9e15adf6b52bfe6183fdad20144 Source1: %{name}.pamd Source2: %{name}.init Source3: ftpusers.tar.bz2 # Source3-md5: 76c80b6ec9f4d079a1e27316edddbe16 +Source4: http://twittner.host.sk/files/pure-config/pure-config-20041201.tar.gz +# Source4-md5: 3f2ff6b00b5c38ee11ce588ee5af6cf6 +Patch0: %{name}-config.patch +Patch1: %{name}-path_to_ssl_cert_in_config.patch +Patch2: %{name}-pure-pw_passwd.patch +Patch3: %{name}-userlength.patch +Patch4: %{name}-mysql_config.patch +Patch5: %{name}-nosymlinks-hideuidmismatch.patch URL: http://www.pureftpd.org/ +%{?with_extra:BuildRequires: autoconf} +%{?with_extra:BuildRequires: automake} BuildRequires: libcap-devel -%{!?_without_mysql:BuildRequires: mysql-devel} -%{!?_without_ldap:BuildRequires: openldap-devel} -%{!?_without_tls:BuildRequires: openssl-devel} -%{!?_without_pgsql:BuildRequires: postgresql-devel} +%{?with_extra:BuildRequires: libcfg+-devel >= 0.6.2} +%{?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 +PreReq: rc-scripts +Requires(post,preun): /sbin/chkconfig +Requires: pam >= 0.79.0 +%{!?with_extra: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 @@ -46,8 +61,10 @@ Obsoletes: troll-ftpd 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 @@ -63,44 +80,59 @@ Pure-FTPD to szybki, wysokiej jako FTP bazuj±cy na Troll-FTPd. W przeciwieñstwie do innych serwerów FTP nie ma znanych luk w bezpieczeñstwie. Ponadto jest trywialny w konfiguracji i specjalnie zaprojektowany dla nowych kerneli Linuksa -(setfsuid, sendfile, capabilibies). Mo¿liwo¶ci to wsparcie dla PAMa, +(setfsuid, sendfile, capabilibies). Mo¿liwo¶ci to wsparcie dla PAM-a, IPv6, chroot()owanych katalogów domowych, virtualne domeny, wbudowany LS, system anty-warezowy, ograniczanie portów dla pasywnych po³±czeñ... %prep -%setup -q +%setup -q -a 4 +%patch0 -p0 +%patch4 -p1 +%patch5 -p1 +%{?with_longusername:%patch3 -p1} +%{?with_extra:%patch1 -p1} +%{?with_extra:%patch2 -p1} %build %configure \ + --with-boring \ --with-altlog \ - --with-puredb \ - --with-extauth \ - --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-virtualchroot \ - --with-diraliases \ - --with-peruserlimits \ - %{!?_without_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \ - %{!?_without_pgsql:--with-pgsql} \ - %{!?_without_ldap:--with-ldap} \ - %{!?_without_tls: --with-tls} \ - --with-language=english \ - --with-privsep - -echo '#define TLS_CERTIFICATE_PATH "%{_sysconfdir}/ssl/pure-ftpd.pem"' >> config.h + --with-virtualhosts + +%if %{with extra} +cd pure-config +%{__aclocal} +%{__autoconf} +%{__autoheader} +%{__automake} +%configure +%{__make} +%endif %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,ssl},/home/services/ftp/Incoming} + $RPM_BUILD_ROOT{%{_sysconfdir}/vhosts,%{_ftpdir}} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT @@ -108,26 +140,31 @@ install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d} \ install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name} install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} -%{!?_without_ldap:install pureftpd-ldap.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-ldap.conf} -%{!?_without_mysql:install pureftpd-mysql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf} -%{!?_without_pgsql:install pureftpd-pgsql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.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} +%{!?with_extra: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} +%if %{with extra} +cd pure-config +%{__make} install DESTDIR=$RPM_BUILD_ROOT +%endif + %clean rm -rf $RPM_BUILD_ROOT %post /sbin/chkconfig --add %{name} if [ -f %{_var}/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} restart 1>&2 + /etc/rc.d/init.d/%{name} restart 1>&2 else - echo "Run \"/etc/rc.d/init.d/%{name} start\" to start PureFTPD daemon." + echo "Run \"/etc/rc.d/init.d/%{name} start\" to start PureFTPD daemon." fi %preun @@ -140,22 +177,20 @@ fi %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} %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 -%{!?_without_ldap:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-ldap.conf} -%{!?_without_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-mysql.conf} -%{!?_without_pgsql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-pgsql.conf} +%{?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 %{_sysconfdir}/pure-ftpd -%{!?_without_tls:%attr(750,root,root) %dir %{_sysconfdir}/ssl} -%dir /home/services/ftp -%attr(775,root,ftp) %dir /home/services/ftp/Incoming +%dir %{_ftpdir} %{_mandir}/man?/* %lang(ja) %{_mandir}/ja/man5/ftpusers* %lang(pl) %{_mandir}/pl/man5/ftpusers*