]> git.pld-linux.org Git - packages/pure-ftpd.git/blobdiff - pure-ftpd.spec
- rel 3; certd dir needs 770
[packages/pure-ftpd.git] / pure-ftpd.spec
index 9ab2af2dbd232b2c65ded7490cd8fd73d90716ca..17f94a5409322ada50ce203223b6de204d569aec 100644 (file)
@@ -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}
This page took 0.036117 seconds and 4 git commands to generate.