X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=pure-ftpd.spec;h=17f94a5409322ada50ce203223b6de204d569aec;hb=ca1af9dd6fb277e25d813602250778e7c0d78619;hp=9ab2af2dbd232b2c65ded7490cd8fd73d90716ca;hpb=3feab945cb7a453eae8eae35a2975f47d298cd3e;p=packages%2Fpure-ftpd.git diff --git a/pure-ftpd.spec b/pure-ftpd.spec index 9ab2af2..17f94a5 100644 --- a/pure-ftpd.spec +++ b/pure-ftpd.spec @@ -9,16 +9,16 @@ %bcond_without tls # disable SSL/TLS support %bcond_without cap # disable capabilities -%define rel 2 +%define rel 3 Summary: Small, fast and secure FTP server Summary(pl.UTF-8): Mały, szybki i bezpieczny serwer FTP Name: pure-ftpd -Version: 1.0.41 +Version: 1.0.49 Release: %{rel}%{?with_extra:extra} License: BSD-like%{?with_extra:, GLPv2 for pure-config due to libcfg+ license} Group: Daemons Source0: http://download.pureftpd.org/pub/pure-ftpd/releases/%{name}-%{version}.tar.bz2 -# Source0-md5: 76c2364591418f153ed815034621d058 +# Source0-md5: b7025f469711d88bd84a3518f67c1470 Source1: %{name}.pamd Source2: %{name}.init Source3: %{name}.sysconfig @@ -27,15 +27,15 @@ Source4: ftpusers.tar.bz2 Source5: http://twittner.host.sk/files/pure-config/pure-config-20041201.tar.gz # Source5-md5: 3f2ff6b00b5c38ee11ce588ee5af6cf6 Patch0: %{name}-config.patch - +Patch1: %{name}-allauth.patch Patch2: %{name}-pure-pw_passwd.patch Patch3: %{name}-mysql_config.patch - -Patch5: %{name}-passwd_location.patch -Patch6: %{name}-additionalgid.patch -Patch7: audit_cap.patch -Patch8: %{name}-apparmor.patch -Patch9: %{name}-mysql-utf8.patch +# from Fedora +Patch4: 0003-Allow-having-both-options-and-config-file-on-command.patch +Patch5: paths.patch +Patch6: %{name}-apparmor.patch +Patch7: %{name}-mysql-utf8.patch +Patch8: caps.patch URL: http://www.pureftpd.org/ %{?with_extra:BuildRequires: autoconf} %{?with_extra:BuildRequires: automake} @@ -49,11 +49,22 @@ BuildRequires: libsodium-devel BuildRequires: pam-devel %{?with_pgsql:BuildRequires: postgresql-devel} BuildRequires: rpmbuild(macros) >= 1.304 +Requires(post): /usr/bin/openssl Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd Requires: pam >= 0.79.0 %{!?with_extra:Requires: perl-base} Requires: rc-scripts Provides: ftpserver +Provides: user(ftpauth) +Provides: group(ftpauth) +Provides: user(ftpcert) +Provides: group(ftpcert) Conflicts: man-pages < 1.51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -100,13 +111,13 @@ Ten pakiet zawiera schemat Pure-FTPd pureftpd.schema dla openldapa. %prep %setup -q -a 5 %patch0 -p0 +%patch1 -p1 %patch3 -p1 - +%patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 %{?with_extra:%patch2 -p1} @@ -114,8 +125,10 @@ Ten pakiet zawiera schemat Pure-FTPd pureftpd.schema dla openldapa. %{__aclocal} -Im4 %{__autoconf} %{__autoheader} +%{__automake} %configure \ CFLAGS="%{rpmcflags} %{rpmcppflags} -DALLOW_DELETION_OF_TEMPORARY_FILES=1 -DALWAYS_SHOW_RESOLVED_SYMLINKS=1" \ + --disable-silent-rules \ --with-boring \ --with-altlog \ --with-cookie \ @@ -128,14 +141,13 @@ Ten pakiet zawiera schemat Pure-FTPd pureftpd.schema dla openldapa. %{?with_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \ --with-pam \ --with-peruserlimits \ - --with-rfc2640 \ %{?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_tls:--with-tls --with-certfile=/etc/pure-ftpd/ssl/pure-ftpd.pem} \ --with-uploadscript \ --with-virtualchroot \ --with-virtualhosts \ @@ -153,7 +165,7 @@ cd pure-config %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d} \ +install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d,%{name}/{certd,authd,conf,ssl}} \ $RPM_BUILD_ROOT{%{_sysconfdir}/vhosts,%{_ftpdir},%{schemadir}} %{__make} install \ @@ -166,11 +178,12 @@ cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name} %{?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} -cp -p configuration-file/pure-ftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd.conf -%{!?with_extra:install configuration-file/pure-config.pl $RPM_BUILD_ROOT%{_sbindir}} cp -p pureftpd.schema $RPM_BUILD_ROOT%{schemadir}/pureftpd.schema +mv $RPM_BUILD_ROOT%{_sysconfdir}/{pure-ftpd,pureftpd}.conf + touch $RPM_BUILD_ROOT%{_sysconfdir}/{ftpusers,pureftpd-dir-aliases} +:> $RPM_BUILD_ROOT/etc/pure-ftpd/ssl/dhparams.pem ln -s vhosts $RPM_BUILD_ROOT%{_sysconfdir}/pure-ftpd @@ -186,15 +199,34 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff rm -rf $RPM_BUILD_ROOT %post +if [ ! -s /etc/pure-ftpd/ssl/dhparams.pem ]; then + umask 027 + %{_bindir}/openssl dhparam -out /etc/pure-ftpd/ssl/dhparams.pem 2048 || : +fi + /sbin/chkconfig --add %{name} %service %{name} restart "PureFTPD daemon" +%pre +%groupadd -g 326 ftpauth +%useradd -u 326 -d %{_ftpdir} -s /bin/false -c "FTP Auth daemon" -g ftpauth ftpauth +%groupadd -g 335 ftpcert +%useradd -u 335 -d %{_ftpdir} -s /bin/false -c "FTP Cert daemon" -g ftpcert ftpcert + %preun if [ "$1" = "0" ]; then %service %{name} stop /sbin/chkconfig --del %{name} fi +%postun +if [ "$1" = "0" ]; then + %userremove ftpauth + %groupremove ftpauth + %userremove ftpcert + %groupremove ftpcert +fi + %post -n openldap-schema-pureftpd %openldap_schema_register %{schemadir}/pureftpd.schema -d core %service -q ldap restart @@ -213,12 +245,19 @@ exit 0 %files %defattr(644,root,root,755) -%doc AUTHORS ChangeLog CONTACT COPYING FAQ HISTORY NEWS README* THANKS pure*.conf pureftpd.schema +%doc AUTHORS ChangeLog COPYING 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 mtime size) /etc/sysconfig/* +%attr(751,root,root) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name} +%attr(750,root,ftpauth) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name}/authd +%attr(750,root,ftpcert) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name}/certd +# for future /etc/ftpd -> /etc/pure-ftpd/conf migration +# %attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name}/conf +%attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name}/ssl +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost /etc/%{name}/ssl/dhparams.pem %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ftpusers %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-dir-aliases %{?with_ldap:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-ldap.conf}