]> git.pld-linux.org Git - packages/pure-ftpd.git/blobdiff - pure-ftpd.spec
- rel 2; upstream pureftpd ignores config file if cmd line options are passed which...
[packages/pure-ftpd.git] / pure-ftpd.spec
index f46c0e5c28ddfc142bb4d84058d65bc86e09f0a8..68c47497c50cc9afc88ce6033a39e8d91b600c02 100644 (file)
@@ -8,17 +8,17 @@
 %bcond_without puredb          # disable pure-db support
 %bcond_without tls             # disable SSL/TLS support
 %bcond_without cap             # disable capabilities
-#
+
+%define        rel     2
 Summary:       Small, fast and secure FTP server
 Summary(pl.UTF-8):     Mały, szybki i bezpieczny serwer FTP
 Name:          pure-ftpd
-Version:       1.0.21
-Release:       8%{?with_extra:extra}
-Epoch:         0
+Version:       1.0.46
+Release:       %{rel}%{?with_extra:extra}
 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: ca8a8dbec0cd9c8ea92fc4c37ea9c410
+Source0:       http://download.pureftpd.org/pub/pure-ftpd/releases/%{name}-%{version}.tar.bz2
+# Source0-md5: efce5529c1f0a39dafdd532c619503f1
 Source1:       %{name}.pamd
 Source2:       %{name}.init
 Source3:       %{name}.sysconfig
@@ -27,19 +27,22 @@ 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}-path_to_ssl_cert_in_config.patch
+Patch1:                %{name}-allauth.patch
 Patch2:                %{name}-pure-pw_passwd.patch
 Patch3:                %{name}-mysql_config.patch
-Patch4:                %{name}-nosymlinks-hideuidmismatch.patch
-Patch5:                %{name}-auth-can-delete-pure.patch
-Patch6:                %{name}-nonssl-die.patch
-Patch7:                %{name}-del-log-path.patch
-Patch8:                %{name}-anonymous.patch
+# from Fedora
+Patch4:                0003-Allow-having-both-options-and-config-file-on-command.patch
+
+Patch7:                audit_cap.patch
+Patch8:                %{name}-apparmor.patch
+Patch9:                %{name}-mysql-utf8.patch
 URL:           http://www.pureftpd.org/
 %{?with_extra:BuildRequires:   autoconf}
 %{?with_extra:BuildRequires:   automake}
+BuildRequires: libapparmor-devel
 %{?with_cap:BuildRequires:     libcap-devel}
 %{?with_extra:BuildRequires:   libcfg+-devel >= 0.6.2}
+BuildRequires: libsodium-devel
 %{?with_mysql:BuildRequires:   mysql-devel}
 %{?with_ldap:BuildRequires:    openldap-devel >= 2.3.0}
 %{?with_tls:BuildRequires:     openssl-devel}
@@ -47,26 +50,18 @@ BuildRequires:      pam-devel
 %{?with_pgsql:BuildRequires:   postgresql-devel}
 BuildRequires: rpmbuild(macros) >= 1.304
 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
-Obsoletes:     anonftp
-Obsoletes:     bftpd
-Obsoletes:     ftpd-BSD
-Obsoletes:     ftpserver
-Obsoletes:     glftpd
-Obsoletes:     heimdal-ftpd
-Obsoletes:     krb5-ftpd
-Obsoletes:     linux-ftpd
-Obsoletes:     muddleftpd
-Obsoletes:     proftpd
-Obsoletes:     proftpd-common
-Obsoletes:     proftpd-inetd
-Obsoletes:     proftpd-standalone
-Obsoletes:     troll-ftpd
-Obsoletes:     vsftpd
-Obsoletes:     wu-ftpd
+Provides:      user(ftpauth)
+Provides:      group(ftpauth)
 Conflicts:     man-pages < 1.51
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -99,7 +94,10 @@ Summary(pl.UTF-8):   Schemat LDAP dla Pure-FTPd
 Group:         Networking/Daemons
 Requires(post,postun): sed >= 4.0
 Requires:      openldap-servers
-Requires:      sed >= 4.0 
+Requires:      sed >= 4.0
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description -n openldap-schema-pureftpd
 This package contains an Pure-FTPd openldap schema.
@@ -110,19 +108,22 @@ 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 -p0
+
 %patch7 -p1
 %patch8 -p1
-%{?with_extra:%patch1 -p1}
+%patch9 -p1
+
 %{?with_extra:%patch2 -p1}
 
 %build
-# drop --without-cork for Th
+%{__aclocal} -Im4
+%{__autoconf}
+%{__autoheader}
 %configure \
-       --without-cork \
+       CFLAGS="%{rpmcflags} %{rpmcppflags} -DALLOW_DELETION_OF_TEMPORARY_FILES=1 -DALWAYS_SHOW_RESOLVED_SYMLINKS=1" \
        --with-boring \
        --with-altlog \
        --with-cookie \
@@ -130,12 +131,12 @@ Ten pakiet zawiera schemat Pure-FTPd pureftpd.schema dla openldapa.
        --with-extauth \
        --with-ftpwho \
        --with-language=english \
-       --with-largefile \
        %{!?with_cap:--without-capabilities} \
        %{?with_ldap:--with-ldap} \
        %{?with_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \
        --with-pam \
        --with-peruserlimits \
+       --with-rfc2640 \
        %{?with_pgsql:--with-pgsql} \
        --with-privsep \
        %{?with_puredb:--with-puredb} \
@@ -145,7 +146,8 @@ Ten pakiet zawiera schemat Pure-FTPd pureftpd.schema dla openldapa.
        %{?with_tls:--with-tls --with-certfile=%{_sharedstatedir}/openssl/certs/ftpd.pem} \
        --with-uploadscript \
        --with-virtualchroot \
-       --with-virtualhosts
+       --with-virtualhosts \
+       --with-apparmor
 
 %if %{with extra}
 cd pure-config
@@ -165,16 +167,16 @@ install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d} \
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+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}
-install configuration-file/pure-ftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd.conf
-%{!?with_extra:install configuration-file/pure-config.pl $RPM_BUILD_ROOT%{_sbindir}}
-install pureftpd.schema $RPM_BUILD_ROOT%{schemadir}/pureftpd.schema
+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}
 
@@ -195,12 +197,22 @@ rm -rf $RPM_BUILD_ROOT
 /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
+
 %preun
 if [ "$1" = "0" ]; then
        %service %{name} stop
        /sbin/chkconfig --del %{name}
 fi
 
+%postun
+if [ "$1" = "0" ]; then
+       %userremove ftpauth
+       %groupremove ftpauth
+fi
+
 %post -n openldap-schema-pureftpd
 %openldap_schema_register %{schemadir}/pureftpd.schema -d core
 %service -q ldap restart
@@ -211,6 +223,11 @@ if [ "$1" = "0" ]; then
        %service -q ldap restart
 fi
 
+%triggerpostun -- %{name} < 1.0.41-2
+%{?with_mysql:sed -i -e 's#MYSQLCrypt[\t ]\+all#MYSQLCrypt    any#gi' $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf}
+%{?with_pgsql:sed -i -e 's#PgSQLCrypt[\t ]\+all#PgSQLCrypt    any#gi' $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.conf}
+sed -i -e 's#SSLCertFile#CertFile#gi' $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd.conf
+exit 0
 
 %files
 %defattr(644,root,root,755)
This page took 0.080064 seconds and 4 git commands to generate.