Trochę pokombinowałem, poprawiłem 2 patch'e, dodałem kolejne moduły i
udało się skompilować pakiet.
Teraz już na prawdę, ktoś obeznany z tworzeniem pakietów musiałby
sprawdzić, czy wprowadzone zmiany są zgodne ze sztuką i czy czegoś nie
brakuje.
No i czy da się to na stałe dodać do dystrybucji?

# diff -ruNp proftpd.spec.old proftpd.spec
--- proftpd.spec.old    2021-04-09 11:25:15.362083346 +0200
+++ proftpd.spec        2021-04-09 13:18:09.872997404 +0200
@@ -153,7 +153,6 @@ Group:              Networking/Daemons
 Requires(post):        fileutils
 Requires(post):        grep
 Requires(post):        sed >= 4.0
-Requires(triggerpostun):       sed >= 4.0
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
 Requires:      rc-inetd
 Provides:      ftpserver
@@ -189,7 +188,6 @@ Requires(post):     fileutils
 Requires(post):        grep
 Requires(post):        sed >= 4.0
 Requires(post,preun):  /sbin/chkconfig
-Requires(triggerpostun):       sed >= 4.0
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
 Requires:      rc-scripts
 Provides:      ftpserver
@@ -483,6 +481,12 @@ mod_readme
 mod_rewrite
 mod_wrap
 mod_facl
+mod_dnsbl
+mod_geoip
+mod_memcache
+mod_redis
+mod_sftp
+mod_wrap2
 mod_ifsession
 %{?with_ssl:mod_tls}
 %{?with_pam:mod_auth_pam}
@@ -705,6 +709,12 @@ fi
 %dir %{_libexecdir}
 %attr(755,root,root) %{_libexecdir}/mod_auth_file.so
 %attr(755,root,root) %{_libexecdir}/mod_facl.so
+%attr(755,root,root) %{_libexecdir}/mod_dnsbl.so
+%attr(755,root,root) %{_libexecdir}/mod_geoip.so
+%attr(755,root,root) %{_libexecdir}/mod_memcache.so
+%attr(755,root,root) %{_libexecdir}/mod_redis.so
+%attr(755,root,root) %{_libexecdir}/mod_sftp.so
+%attr(755,root,root) %{_libexecdir}/mod_wrap2.so
 %attr(755,root,root) %{_libexecdir}/mod_ident.so
 %attr(755,root,root) %{_libexecdir}/mod_ifsession.so
 %dir %{_localstatedir}/proftpd




W dniu 09.04.2021 o 12:07, Maciej Kędzierski pisze:
> Witam,
>
> Od lat używam serwera pure-ftpd, jednak w niektórych przypadkach mam z
> nim problemy.
> Myślę, zmienię go na proftpd. Pokonfigurowałem go do swoich potrzeb.
> Zrobiłem migrację użytkowników wirtualnych, quot, itp.
>
> W pure-ftpd korzystam z wpisów w /etc/tcpd/hosts.{allow|deny} i tu też
> chciałem, ale pojawił się problem opisany tutaj:
> http://www.proftpd.org/docs/contrib/mod_wrap.html#FAQ
> Pomimo tego, że testowo pozwalam nawet na logowanie z dowolnego adresu
> IP, to serwer odrzuca połączenie z IP niepoprawnie opisanego w DNSach.
> Dziwne, bo w pure-ftpd nie było z tym problemu.
>
> No dobra myślę, spróbuję z mod_wrap2. No, ale nie ma go proftpd
> dystrybucyjnym.
>
> Sprawdziłem w źródłach i jest tam ten moduł. Korzystając ze źródeł
> proftpd-1.3.7a.tar.gz da się to skompilować.
> Spróbowałem dodać też kilka innych, których też nie ma chyba w pakiecie
> dystrybucyjnym i też poszło.
>
> Taka testowa konfiguracja.
> # ./configure
> --with-shared=mod_geoip:mod_wrap:mod_wrap2:mod_dnsbl:mod_sftp:mod_redis:mod_memcache
> --enable-dso --enable-nls --enable-ctrls --enable-memcache
> --enable-redis --enable-pcre --enable-openssl
>
> No to teraz spróbuje zmodyfikować pakiet, ale okazuje się, że ten obecny
> nie chce się kompilować. Zapewne po zmianie rpm5 na rpm4.
>
> # rpmbuild --recompile proftpd-1.3.7a-1.src.rpm
> Instalowanie proftpd-1.3.7a-1.src.rpm
> ostrzeżenie: proftpd-1.3.7a-1.src.rpm: Nagłówek V4 DSA/SHA1 Signature,
> identyfikator klucza e4f1bc2d: NOKEY
> błąd: 156. wiersz: błędne określenia Requirename:
> Requires(triggerpostun):      sed >= 4.0
>
> # rpmbuild -ba proftpd.spec
> błąd: 156. wiersz: błędne określenia Requirename:
> Requires(triggerpostun):      sed >= 4.0
>
> Po wyrzuceniu 2 błędnych linii, ponowienie kompilacji wyrzuca kolejne
> błędy plus problem z patchem.
>
>
> # rpmbuild -ba proftpd.spec
> ostrzeżenie: 160. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       anonftp
> ostrzeżenie: 161. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       bftpd
> ostrzeżenie: 162. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       ftpd-BSD
> ostrzeżenie: 163. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       ftpserver
> ostrzeżenie: 164. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       glftpd
> ostrzeżenie: 165. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       heimdal-ftpd
> ostrzeżenie: 166. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       krb5-ftpd
> ostrzeżenie: 167. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       linux-ftpd
> ostrzeżenie: 168. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       muddleftpd
> ostrzeżenie: 169. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       proftpd-standalone
> ostrzeżenie: 170. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       pure-ftpd
> ostrzeżenie: 171. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       troll-ftpd
> ostrzeżenie: 172. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       vsftpd
> ostrzeżenie: 173. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       wu-ftpd
> ostrzeżenie: 195. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       anonftp
> ostrzeżenie: 196. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       bftpd
> ostrzeżenie: 197. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       ftpd-BSD
> ostrzeżenie: 198. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       ftpserver
> ostrzeżenie: 199. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       glftpd
> ostrzeżenie: 200. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       heimdal-ftpd
> ostrzeżenie: 201. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       krb5-ftpd
> ostrzeżenie: 202. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       linux-ftpd
> ostrzeżenie: 203. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       muddleftpd
> ostrzeżenie: 204. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       proftpd-inetd
> ostrzeżenie: 205. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       pure-ftpd
> ostrzeżenie: 206. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       troll-ftpd
> ostrzeżenie: 207. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       vsftpd
> ostrzeżenie: 208. wiersz: Obsoletes bez wersji są niezalecane:
> Obsoletes:       wu-ftpd
> Wykonywanie(%prep): /bin/sh -e /root/tmp/rpm-tmp.ug3Vom
> + umask 022
> + cd /root/rpm/BUILD
> + cd /root/rpm/BUILD
> + rm -rf proftpd-1.3.7a
> + /bin/gzip -dc /root/rpm/SOURCES/proftpd-1.3.7a.tar.gz
> + /bin/tar -xof -
> + STATUS=0
> + '[' 0 -ne 0 ']'
> + cd proftpd-1.3.7a
> + /bin/gzip -dc /root/rpm/SOURCES/mod_clamav-0.13.tar.gz
> + /bin/tar -xof -
> + STATUS=0
> + '[' 0 -ne 0 ']'
> + /bin/chmod -Rf a+rX,u+w,g-w,o-w .
> + echo 'Patch #0 (proftpd-paths.patch):'
> Patch #0 (proftpd-paths.patch):
> + </root/rpm/SOURCES/proftpd-paths.patch
> + /usr/bin/patch -s -p1 '--fuzz=0'
> 1 out of 2 hunks FAILED -- saving rejects to file
> include/default_paths.h.rej
> błąd: Błędny stan wyjścia z /root/tmp/rpm-tmp.ug3Vom (%prep)
>
>
> Błędy budowania pakietu RPM:
>     160. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> anonftp
>     161. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> bftpd
>     162. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> ftpd-BSD
>     163. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> ftpserver
>     164. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> glftpd
>     165. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> heimdal-ftpd
>     166. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> krb5-ftpd
>     167. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> linux-ftpd
>     168. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> muddleftpd
>     169. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> proftpd-standalone
>     170. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> pure-ftpd
>     171. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> troll-ftpd
>     172. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> vsftpd
>     173. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> wu-ftpd
>     195. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> anonftp
>     196. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> bftpd
>     197. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> ftpd-BSD
>     198. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> ftpserver
>     199. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> glftpd
>     200. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> heimdal-ftpd
>     201. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> krb5-ftpd
>     202. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> linux-ftpd
>     203. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> muddleftpd
>     204. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> proftpd-inetd
>     205. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> pure-ftpd
>     206. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> troll-ftpd
>     207. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> vsftpd
>     208. wiersz: Obsoletes bez wersji są niezalecane: Obsoletes:       
> wu-ftpd
>     Błędny stan wyjścia z /root/tmp/rpm-tmp.ug3Vom (%prep)
>
>
>
> Może ktoś mądrzejszy ;) i bardziej ogarnięty w kwestii pakietów, ode
> mnie, byłby tam miły, poprawił kompilację i dorzucił jeszcze do niego
> moduły takie poniższe moduły, bo wydają się być przydatne:
> mod_dnsbl
> mod_geoip
> mod_memcache
> mod_redis
> mod_sftp
> mod_wrap2
>
> Z góry Dzięki
> Pozdrawiam
> Maciej
>
> _______________________________________________
> pld-devel-pl mailing list
> [email protected]
> http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
>

# TODO
# - test mod_clamav as DSO (README says it's allowed)
# - mod_caps uses uname -r for detection
# - don't use internal libltdl
# - package contrib/ftp* perl scripts.
#
# Conditional build:
%bcond_without	pam		# PAM support
%bcond_without	ipv6		# IPv6 and TCPD support
%bcond_without	ssl		# TLS/SSL support
%bcond_without	ldap		# LDAP support
%bcond_without	mysql		# MySQL support
%bcond_without	pgsql		# PostgreSQL support
%bcond_without	quotafile	# quota file support
%bcond_without	quotaldap	# quota ldap support
%bcond_without	quotamysql	# quota mysql support
%bcond_without	quotapgsql	# quota pgsql support
#
%define		mod_clamav_version	0.13

Summary:	PROfessional FTP Daemon with apache-like configuration syntax
Summary(es.UTF-8):	Servidor FTP profesional, con sintaxis de configuración semejante a la del apache
Summary(pl.UTF-8):	PROfesionalny serwer FTP
Summary(pt_BR.UTF-8):	Servidor FTP profissional, com sintaxe de configuração semelhante à do apache
Summary(zh_CN.UTF-8):	易于管理的,安全的 FTP 服务器
Name:		proftpd
Version:	1.3.7a
Release:	1
Epoch:		2
License:	GPL v2+
Group:		Networking/Daemons
Source0:	ftp://ftp.proftpd.org/distrib/source/%{name}-%{version}.tar.gz
# Source0-md5:	4a9b8877b2e9b08d70e71ad56c19e2c9
# https://github.com/jbenden/mod_clamav/releases
Source1:	https://github.com/jbenden/mod_clamav/archive/v%{mod_clamav_version}/mod_clamav-%{mod_clamav_version}.tar.gz
# Source1-md5:	955269eb8b00ebcc217bbd6f74df4e1c
Source2:	%{name}.conf
Source3:	ftp.pamd
Source4:	%{name}.inetd
Source5:	%{name}.sysconfig
Source6:	%{name}.init
Source7:	ftpusers.tar.bz2
# Source7-md5:	76c80b6ec9f4d079a1e27316edddbe16
Source9:	%{name}-mod_pam.conf
Source10:	%{name}-mod_tls.conf
Source11:	%{name}-anonftp.conf
Source12:	%{name}-mod_clamav.conf
Source13:	%{name}.tmpfiles
Patch0:		%{name}-paths.patch
Patch1:		%{name}-noautopriv.patch
Patch2:		%{name}-wtmp.patch
Patch3:		%{name}-pool.patch
Patch4:		%{name}-link.patch
URL:		http://www.proftpd.org/
BuildRequires:	acl-devel
BuildRequires:	autoconf
BuildRequires:	automake
BuildRequires:	libcap-devel
BuildRequires:	libstdc++-devel
BuildRequires:	libwrap-devel
%if %{with mysql} || %{with quotamysql}
BuildRequires:	mysql-devel
%endif
BuildRequires:	ncurses-devel
%if %{with ldap} || %{with quotaldap}
BuildRequires:	openldap-devel
%endif
%{?with_ssl:BuildRequires:	openssl-devel >= 0.9.7d}
%{?with_pam:BuildRequires:		pam-devel}
%if %{with pgsql} || %{with quotapgsql}
BuildRequires:	postgresql-devel
%endif
BuildRequires:	rpm-perlprov
BuildRequires:	rpmbuild(macros) >= 1.745
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%define		_sysconfdir		/etc/ftpd
%define		_localstatedir		/var/run
%define		_libexecdir		%{_prefix}/%{_lib}/%{name}

%define         filterout               -flto

%description
ProFTPD is a highly configurable FTP daemon for Unix and Unix-like
operating systems. ProFTPD is designed to be somewhat of a "drop-in"
replacement for wu-ftpd. Full online documentation is available at
<http://www.proftpd.org/>, including a server configuration directive
reference manual.

%description -l es.UTF-8
ProFTPD es un servidor FTP altamente configurable para sistemas
operativos Unix. Está proyectado para ser un substituto directo al
wu-ftpd. La documentación completa está disponible en
<http://www.proftpd.org/>, incluido el manual de referencia para las
directivas de configuración del servidor.

%description -l pl.UTF-8
ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
ProFTPD jest robiony jako bezpośredni zamiennik wu-ftpd. Pełna
dokumentacja jest dostępna on-line pod <http://www.proftpd.org/>
włącznie z dokumentacją dotyczącą konfigurowania.

%description -l pt_BR.UTF-8
O ProFTPD é um servidor FTP altamente configurável para sistemas
operacionais Unix.

É projetado para ser um substituto direto para o wu-ftpd. A
documentação completa está disponível em <http://www.proftpd.org/>,
incluindo o manual de referência para as diretivas de configuração do
servidor.

%package common
Summary:	PROfessional FTP Daemon with apache-like configuration syntax - common files
Summary(pl.UTF-8):	PROfesionalny serwer FTP - wspólne pliki
Group:		Networking/Daemons
Requires(post):	awk
Requires(post):	fileutils
Obsoletes:	proftpd < 0:1.2.2rc1-3

%description common
ProFTPD is a highly configurable FTP daemon for Unix and Unix-like
operating systems. ProFTPD is designed to be somewhat of a "drop-in"
replacement for wu-ftpd. Full online documentation is available at
<http://www.proftpd.org/>, including a server configuration directive
reference manual.

%description common -l es.UTF-8
ProFTPD es un servidor FTP altamente configurable para sistemas
operativos Unix. Está proyectado para ser un substituto directo al
wu-ftpd. La documentación completa está disponible en
<http://www.proftpd.org/>, incluido el manual de referencia para las
directivas de configuración del servidor.

%description common -l pl.UTF-8
ProFTPD jest wysoce konfigurowalnym serwerem FTP dla systemów Unix.
ProFTPD jest robiony jako bezpośredni zamiennik wu-ftpd. Pełna
dokumentacja jest dostępna on-line pod <http://www.proftpd.org/>
włącznie z dokumentacją dotyczącą konfigurowania.

%description common -l pt_BR.UTF-8
O ProFTPD é um servidor FTP altamente configurável para sistemas
operacionais Unix.

É projetado para ser um substituto direto para o wu-ftpd. A
documentação completa está disponível em <http://www.proftpd.org/>,
incluindo o manual de referência para as diretivas de configuração do
servidor.

%package inetd
Summary:	inetd configs for proftpd
Summary(pl.UTF-8):	Pliki konfiguracyjne do użycia proftpd poprzez inetd
Group:		Networking/Daemons
Requires(post):	fileutils
Requires(post):	grep
Requires(post):	sed >= 4.0
Requires:	%{name}-common = %{epoch}:%{version}-%{release}
Requires:	rc-inetd
Provides:	ftpserver
Provides:	proftpd = %{epoch}:%{version}-%{release}
Obsoletes:	anonftp
Obsoletes:	bftpd
Obsoletes:	ftpd-BSD
Obsoletes:	ftpserver
Obsoletes:	glftpd
Obsoletes:	heimdal-ftpd
Obsoletes:	krb5-ftpd
Obsoletes:	linux-ftpd
Obsoletes:	muddleftpd
Obsoletes:	proftpd-standalone
Obsoletes:	pure-ftpd
Obsoletes:	troll-ftpd
Obsoletes:	vsftpd
Obsoletes:	wu-ftpd
Conflicts:	man-pages < 1.51
Conflicts:	rpm < 4.4.2-0.2

%description inetd
ProFTPD configs for running from inetd.

%description inetd -l pl.UTF-8
Pliki konfiguracyjna ProFTPD do startowania demona poprzez inetd.

%package standalone
Summary:	Standalone daemon configs for proftpd
Summary(pl.UTF-8):	Pliki konfiguracyjne do startowania proftpd w trybie standalone
Group:		Networking/Daemons
Requires(post):	fileutils
Requires(post):	grep
Requires(post):	sed >= 4.0
Requires(post,preun):	/sbin/chkconfig
Requires:	%{name}-common = %{epoch}:%{version}-%{release}
Requires:	rc-scripts
Provides:	ftpserver
Provides:	proftpd = %{epoch}:%{version}-%{release}
Obsoletes:	anonftp
Obsoletes:	bftpd
Obsoletes:	ftpd-BSD
Obsoletes:	ftpserver
Obsoletes:	glftpd
Obsoletes:	heimdal-ftpd
Obsoletes:	krb5-ftpd
Obsoletes:	linux-ftpd
Obsoletes:	muddleftpd
Obsoletes:	proftpd-inetd
Obsoletes:	pure-ftpd
Obsoletes:	troll-ftpd
Obsoletes:	vsftpd
Obsoletes:	wu-ftpd
Conflicts:	man-pages < 1.51
Conflicts:	rpm < 4.4.2-0.2

%description standalone
ProFTPD configs for running as a standalone daemon.

%description standalone -l pl.UTF-8
Pliki konfiguracyjne ProFTPD do startowania demona w trybie
standalone.

%package devel
Summary:	Header files ProFTPD
Summary(pl.UTF-8):	Pliki nagłówkowe ProFTPD
Group:		Development/Libraries
Requires:	acl-devel

%description devel
This is the package containing the header files for ProFTPD.

%description devel -l pl.UTF-8
Ten pakiet zawiera pliki nagłówkowe ProFTPD

%package anonftp
Summary:	Anonymous FTP config for ProFTPD
Summary(pl.UTF-8):	Konfiguracja anonimowego FTP dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}

%description anonftp
Anonymous FTP config for ProFTPD.

%description anonftp -l pl.UTF-8
Konfiguracja anonimowego FTP dla ProFTPD.

%package mod_auth_pam
Summary:	ProFTPD PAM auth module
Summary(pl.UTF-8):	Moduł uwierzytelnienia PAM dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}
Requires:	pam >= 0.79.0

%description mod_auth_pam
PAM authentication method for ProFTPD.

%description mod_auth_pam -l pl.UTF-8
Metoda uwierzytelnienia PAM dla ProFTPD.

%package mod_ldap
Summary:	ProFTPD OpenLDAP module
Summary(pl.UTF-8):	Moduł OpenLDAP dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}

%description mod_ldap
mod_ldap provides LDAP authentication support for ProFTPD. It supports
many features useful in "toaster" environments such as default UID/GID
and autocreation/autogeneration of home directories.

%description mod_ldap -l pl.UTF-8
mod_ldap dodaje obsługę uwierzytelnienia LDAP do ProFTPD. Obsługuje
wiele cech przydatnych w środowiskach "tosterowych", takich jak
domyślny UID/GID i automatyczne tworzenie/generowanie katalogów
domowych.

%package mod_quotatab
Summary:	ProFTPD quotatab module
Summary(pl.UTF-8):	Moduł quotatab dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}

%description mod_quotatab
A module for managing FTP byte/file quotas via centralized tables.

%description mod_quotatab -l pl.UTF-8
Moduł do zarządzania ograniczeniami bajtów/plików FTP poprzez
scentralizowane tabele.

%package mod_quotatab_file
Summary:	ProFTPD quotatab file module
Summary(pl.UTF-8):	Moduł quotatab_file dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}
Requires:	%{name}-mod_quotatab = %{epoch}:%{version}-%{release}

%description mod_quotatab_file
A mod_quotatab sub-module for managing quota data via file-based
tables.

%description mod_quotatab_file -l pl.UTF-8
Podmoduł mod_quotatab do zarządzania danymi o ograniczeniach poprzez
tabele zapisane w pliku.

%package mod_quotatab_ldap
Summary:	ProFTPD quotatab ldap module
Summary(pl.UTF-8):	Moduł quotatab_ldap dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}
Requires:	%{name}-mod_ldap = %{epoch}:%{version}-%{release}
Requires:	%{name}-mod_quotatab = %{epoch}:%{version}-%{release}

%description mod_quotatab_ldap
A mod_quotatab sub-module for obtaining quota information from an LDAP
directory.

%description mod_quotatab_ldap -l pl.UTF-8
Podmoduł mod_quotatab do pobierania informacji o ograniczeniach z
katalogu LDAP.

%package mod_quotatab_sql
Summary:	ProFTPD quotatab sql module
Summary(pl.UTF-8):	Moduł quotatab_sql dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}
Requires:	%{name}-mod_quotatab = %{epoch}:%{version}-%{release}
Requires:	%{name}-mod_sql = %{epoch}:%{version}-%{release}

%description mod_quotatab_sql
A mod_quotatab sub-module for managing quota data via SQL-based
tables.

%description mod_quotatab_sql -l pl.UTF-8
Podmoduł mod_quotatab do zarządzania danymi o ograniczeniach poprzez
tabele SQL.

%package mod_ratio
Summary:	ProFTPD ratio module
Summary(pl.UTF-8):	Moduł ratio dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}

%description mod_ratio
Support upload/download ratios.

%description mod_ratio -l pl.UTF-8
Obsługa współczynników upload/download.

%package mod_readme
Summary:	ProFTPD readme module
Summary(pl.UTF-8):	Moduł readme dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}

%description mod_readme
"README" file support.

%description mod_readme -l pl.UTF-8
Obsługa pliku "README".

%package mod_rewrite
Summary:	ProFTPD rewrite module
Summary(pl.UTF-8):	Moduł rewrite dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}

%description mod_rewrite
Runtime rewrite engine.

%description mod_rewrite -l pl.UTF-8
Silnik przepisujący adresy w locie.

%package mod_sql
Summary:	ProFTPD SQL support module
Summary(pl.UTF-8):	Moduł obsługi SQL dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}

%description mod_sql
This module provides the necessary support for SQL based
authentication, logging and other features as required.

%description mod_sql -l pl.UTF-8
Ten moduł dodaje obsługę SQL potrzebną do uwierzytelniania, logowania
i innych możliwości opartych o SQL.

%package mod_sql_mysql
Summary:	ProFTPD sql mysql module
Summary(pl.UTF-8):	Moduł sql_mysql dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}
Requires:	%{name}-mod_sql = %{epoch}:%{version}-%{release}

%description mod_sql_mysql
Support for connecting to MySQL databases.

%description mod_sql_mysql -l pl.UTF-8
Obsługa łączenia się z bazami danych MySQL.

%package mod_sql_postgres
Summary:	ProFTPD sql postgres module
Summary(pl.UTF-8):	Moduł sql_postgres dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}
Requires:	%{name}-mod_sql = %{epoch}:%{version}-%{release}

%description mod_sql_postgres
Support for connecting to PostgreSQL databases.

%description mod_sql_postgres -l pl.UTF-8
Obsługa łączenia się z bazami danych PostgreSQL.

%package mod_tls
Summary:	ProFTPD TLS support
Summary(pl.UTF-8):	Obsługa TLS dla ProFTPD
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}

%description mod_tls
An RFC2228 SSL/TLS module for ProFTPD.

%description mod_tls -l pl.UTF-8
Moduł SSL/TLS zgodny z RFC2228 dla ProFTPD.

%package mod_wrap
Summary:	ProFTPD interface to libwrap
Summary(pl.UTF-8):	Interfejs ProFTPD do libwrap
Group:		Networking/Daemons
Requires:	%{name}-common = %{epoch}:%{version}-%{release}
Requires:	libwrap

%description mod_wrap
It enables the daemon to use the common tcpwrappers access control
library while in standalone mode, and in a very configurable manner.

Many programs will automatically add entries in the common allow/deny
files, and use of this module will allow a ProFTPD daemon running in
standalone mode to adapt as these entries are added. The portsentry
program does this, for example: when illegal access is attempted, it
will add hosts to the /etc/hosts.deny file.

%description mod_wrap -l pl.UTF-8
Ten pakiet pozwala demonowi używać wspólnej biblioteki kontroli
dostępu tcpwrappers w trybie samodzielnym w bardzo wygodny sposób.

Wiele programów automatycznie dodaje wpisy we wspólnych plikach
allow/deny, a użycie tego modułu pozwala demonowi ProFTPD działającemu
w trybie samodzielnym adaptować te wpisy w miarę dodawania. Robi tak
na przykład program portsentry: przy próbie niedozwolonego dostępu
dodaje hosty do pliku /etc/hosts.deny.

%prep
%setup -q -n %{name}-%{version}%{?_rc} -a1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1

# mod_clamav
# no patch as of 0.13
#patch -p0 < mod_clamav-%{mod_clamav_version}/proftpd.patch || exit 1
cp -a mod_clamav-%{mod_clamav_version}/*.{c,h} contrib/

cp -f /usr/share/automake/config.sub .

# cleanup backups after patching
find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f

sed -E -i -e '1s,#![[:space:]]*/usr/bin/env[[:space:]]+perl,#!%{__perl},' \
        contrib/ftpasswd \
        contrib/ftpmail \
        contrib/ftpquota \
        contrib/xferstats.holger-preiss \
	src/prxs.in

%build
%{__autoconf}

MODULES="
mod_auth_file
mod_ident
mod_ratio
mod_readme
mod_rewrite
mod_wrap
mod_facl
mod_dnsbl
mod_geoip
mod_memcache
mod_redis
mod_sftp
mod_wrap2
mod_ifsession
%{?with_ssl:mod_tls}
%{?with_pam:mod_auth_pam}
%{?with_ldap:mod_ldap}
%{?with_quotafile:mod_quotatab mod_quotatab_file}
%{?with_quotaldap:mod_quotatab mod_quotatab_ldap}
%{?with_quotamysql:mod_quotatab mod_quotatab_sql}
%{?with_quotapgsql:mod_quotatab mod_quotatab_sql}
%{?with_mysql:mod_sql mod_sql_mysql}
%{?with_pgsql:mod_sql mod_sql_postgres}
"

MODARG=$(echo $MODULES | tr ' ' '\n' | sort -u | xargs | tr ' ' ':')
%configure \
	ac_cv_lib_iconv_iconv_open=no \
	ac_cv_lib_iconv_libiconv_open=no \
	ac_cv_lib_intl_bindtextdomain=no \
	--disable-auth-file \
	--enable-buffer-size=4096 \
	--enable-autoshadow \
	--enable-ctrls \
	--enable-dso \
	%{?with_ipv6:--enable-ipv6} \
	--enable-nls \
	--enable-sendfile \
	--disable-strip \
	%{!?with_ssl:--disable-tls} \
	--with-includes=/usr/include/ncurses%{?with_mysql::%{_includedir}/mysql} \
	--with-modules=mod_clamav \
	--with-shared=$MODARG

%{__make} -j1

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{pam.d,security,sysconfig/rc-inetd,rc.d/init.d} \
	$RPM_BUILD_ROOT/var/{lib/ftp/pub/Incoming,log,run/proftpd} \
	$RPM_BUILD_ROOT%{_sysconfdir}/conf.d \
	$RPM_BUILD_ROOT%{_includedir}/%{name} \
	$RPM_BUILD_ROOT%{systemdtmpfilesdir}

%{__make} install \
	DESTDIR=$RPM_BUILD_ROOT \
	INSTALL_USER=%(id -u) \
	INSTALL_GROUP=%(id -g)

%{__rm} $RPM_BUILD_ROOT%{_sbindir}/in.proftpd

install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}
install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_auth_pam.conf
MODULES="
mod_auth_file
mod_ident
mod_ratio
mod_readme
mod_rewrite
mod_wrap
%{?with_ldap:mod_ldap}
%{?with_quotafile:mod_quotatab mod_quotatab_file}
%{?with_quotaldap:mod_quotatab mod_quotatab_ldap}
%{?with_quotamysql:mod_quotatab mod_quotatab_sql}
%{?with_quotapgsql:mod_quotatab mod_quotatab_sql}
%{?with_mysql:mod_sql mod_sql_mysql}
%{?with_pgsql:mod_sql mod_sql_postgres}
"
for module in $MODULES; do
	echo "LoadModule	$module.c" > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/$module.conf
done
install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_tls.conf
install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/anonftp.conf
install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_clamav.conf

%{?with_pam:install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/ftp}
install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/ftpd
install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/proftpd
install %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/proftpd
install contrib/xferstats.holger-preiss $RPM_BUILD_ROOT%{_bindir}/xferstat

bzip2 -dc %{SOURCE7} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}

:> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers.default
:> $RPM_BUILD_ROOT%{_sysconfdir}/ftpusers

cp -p %{SOURCE13} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf

# only for -inetd package?
ln -sf proftpd $RPM_BUILD_ROOT%{_sbindir}/ftpd

:> $RPM_BUILD_ROOT/etc/security/blacklist.ftp

# cannot just --disable-static because build process depend on static objects
%{__rm} $RPM_BUILD_ROOT%{_libexecdir}/*.a
%{__rm} $RPM_BUILD_ROOT%{_libexecdir}/*.la

%{__rm} $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff*
cp -aL include/* config.h $RPM_BUILD_ROOT%{_includedir}/%{name}

%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/bg{_BG,}
%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/es{_ES,}
%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/fr{_FR,}
%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/it{_IT,}
%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/ja{_JP,}
%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/ko{_KR,}
%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/ru{_RU,}

%find_lang %{name}

%clean
rm -rf $RPM_BUILD_ROOT

%post common
umask 027
awk -F: '{ if (($3 < 500) && ($1 != "ftp")) print $1; }' < /etc/passwd >> %{_sysconfdir}/ftpusers.default
if [ ! -f %{_sysconfdir}/ftpusers ]; then
	cp -f %{_sysconfdir}/ftpusers.default %{_sysconfdir}/ftpusers
fi

%posttrans inetd
if grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf ; then
	cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
	sed -i -e 's/^ServerType[[:space:]]\+standalone/ServerType			inetd/g' %{_sysconfdir}/proftpd.conf
fi
%service -q rc-inetd reload

%postun inetd
if [ "$1" = "0" ]; then
	%service -q rc-inetd reload
fi

%posttrans standalone
if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf ; then
	cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
	sed -i -e 's/^ServerType[[:space:]]\+inetd/ServerType			standalone/g' %{_sysconfdir}/proftpd.conf
fi
/sbin/chkconfig --add proftpd
%service proftpd restart "ProFTPD daemon"

%preun standalone
if [ "$1" = "0" ]; then
	%service proftpd stop
	/sbin/chkconfig --del proftpd
fi

%triggerin standalone -- pam
# restart proftpd if pam is upgraded
# (proftpd is linked with old libpam but tries to open modules linked with new libpam)
if [ "$2" != 1 ]; then
	%service -q proftpd restart
fi

# macro called at module post scriptlet
%define	module_post \
if [ "$1" = "1" ]; then \
	if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
		%service -q rc-inetd reload \
	elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
		%service -q proftpd restart \
	fi \
fi

# macro called at module postun scriptlet
%define	module_postun \
if [ "$1" = "0" ]; then \
	if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
		%service -q rc-inetd reload \
	elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
		%service -q proftpd restart \
	fi \
fi

# it's sooo annoying to write them
%define	module_scripts() \
%post %1 \
%module_post \
\
%postun %1 \
%module_postun

%module_scripts mod_auth_pam
%module_scripts mod_ldap
%module_scripts mod_quotatab
%module_scripts mod_quotatab_file
%module_scripts mod_quotatab_ldap
%module_scripts mod_quotatab_sql
%module_scripts mod_ratio
%module_scripts mod_readme
%module_scripts mod_rewrite
%module_scripts mod_sql
%module_scripts mod_sql_mysql
%module_scripts mod_sql_postgres
%module_scripts mod_tls
%module_scripts mod_wrap

%files common -f %{name}.lang
%defattr(644,root,root,755)
%doc CREDITS ChangeLog NEWS README.md README.modules RELEASE_NOTES
%doc doc/{*.html,contrib,howto,modules} sample-configurations/*.conf
%dir %attr(750,root,ftp) %dir %{_sysconfdir}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/proftpd.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/ftpusers
%attr(640,root,root) %{_sysconfdir}/ftpusers.default
%dir %attr(750,root,root) %{_sysconfdir}/conf.d
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_auth_file.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ident.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_clamav.conf
#%attr(640,root,root) %ghost /var/log/*
%attr(755,root,root) %{_bindir}/ftpasswd
%attr(755,root,root) %{_bindir}/ftpcount
%attr(755,root,root) %{_bindir}/ftpdctl
%attr(755,root,root) %{_bindir}/ftpmail
%attr(755,root,root) %{_bindir}/ftpquota
%attr(755,root,root) %{_bindir}/ftptop
%attr(755,root,root) %{_bindir}/ftpwho
%attr(755,root,root) %{_bindir}/prxs
%attr(755,root,root) %{_bindir}/xferstat
%attr(755,root,root) %{_sbindir}/ftpscrub
%attr(755,root,root) %{_sbindir}/ftpshut
%attr(755,root,root) %{_sbindir}/proftpd
%attr(755,root,root) %{_sbindir}/ftpd
%dir %{_libexecdir}
%attr(755,root,root) %{_libexecdir}/mod_auth_file.so
%attr(755,root,root) %{_libexecdir}/mod_facl.so
%attr(755,root,root) %{_libexecdir}/mod_dnsbl.so
%attr(755,root,root) %{_libexecdir}/mod_geoip.so
%attr(755,root,root) %{_libexecdir}/mod_memcache.so
%attr(755,root,root) %{_libexecdir}/mod_redis.so
%attr(755,root,root) %{_libexecdir}/mod_sftp.so
%attr(755,root,root) %{_libexecdir}/mod_wrap2.so
%attr(755,root,root) %{_libexecdir}/mod_ident.so
%attr(755,root,root) %{_libexecdir}/mod_ifsession.so
%dir %{_localstatedir}/proftpd
%{systemdtmpfilesdir}/%{name}.conf
%{_mandir}/man1/ftpasswd.1*
%{_mandir}/man1/ftpcount.1*
%{_mandir}/man1/ftpmail.1*
%{_mandir}/man1/ftpquota.1*
%{_mandir}/man1/ftptop.1*
%{_mandir}/man1/ftpwho.1*
%{_mandir}/man5/ftpusers.5*
%{_mandir}/man5/proftpd.conf.5*
%{_mandir}/man5/xferlog.5*
%{_mandir}/man8/ftpdctl.8*
%{_mandir}/man8/ftpscrub.8*
%{_mandir}/man8/ftpshut.8*
%{_mandir}/man8/proftpd.8*
%lang(ja) %{_mandir}/ja/man5/ftpusers.5*
%lang(pl) %{_mandir}/pl/man5/ftpusers.5*
%lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers.5*
%lang(ru) %{_mandir}/ru/man5/ftpusers.5*
%dir /var/lib/ftp
%dir /var/lib/ftp/pub
%attr(711,ftp,ftp) %dir /var/lib/ftp/pub/Incoming

%files inetd
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/ftpd

%files standalone
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/proftpd
%attr(754,root,root) /etc/rc.d/init.d/proftpd

%files devel
%defattr(644,root,root,755)
%{_includedir}/%{name}
%{_pkgconfigdir}/proftpd.pc

%files anonftp
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/anonftp.conf

%if %{with pam}
%files mod_auth_pam
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/ftp
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.ftp
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_auth_pam.conf
%attr(755,root,root) %{_libexecdir}/mod_auth_pam.so
%endif

%if %{with ldap}
%files mod_ldap
%defattr(644,root,root,755)
%doc README.LDAP
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ldap.conf
%attr(755,root,root) %{_libexecdir}/mod_ldap.so
%endif

%files mod_quotatab
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab.conf
%attr(755,root,root) %{_libexecdir}/mod_quotatab.so

%if %{with quotafile}
%files mod_quotatab_file
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_file.conf
%attr(755,root,root) %{_libexecdir}/mod_quotatab_file.so
%endif

%if %{with quotaldap}
%files mod_quotatab_ldap
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_ldap.conf
%attr(755,root,root) %{_libexecdir}/mod_quotatab_ldap.so
%endif

%if %{with quotamysql} || %{with quotapgsql}
%files mod_quotatab_sql
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_sql.conf
%attr(755,root,root) %{_libexecdir}/mod_quotatab_sql.so
%endif

%files mod_ratio
%defattr(644,root,root,755)
%doc contrib/README.ratio
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ratio.conf
%attr(755,root,root) %{_libexecdir}/mod_ratio.so

%files mod_readme
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_readme.conf
%attr(755,root,root) %{_libexecdir}/mod_readme.so

%files mod_rewrite
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_rewrite.conf
%attr(755,root,root) %{_libexecdir}/mod_rewrite.so

%if %{with mysql} || %{with pgsql}
%files mod_sql
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql.conf
%attr(755,root,root) %{_libexecdir}/mod_sql.so
%endif

%if %{with mysql}
%files mod_sql_mysql
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_mysql.conf
%attr(755,root,root) %{_libexecdir}/mod_sql_mysql.so
%endif

%if %{with pgsql}
%files mod_sql_postgres
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_postgres.conf
%attr(755,root,root) %{_libexecdir}/mod_sql_postgres.so
%endif

%files mod_tls
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_tls.conf
%attr(755,root,root) %{_libexecdir}/mod_tls.so

%files mod_wrap
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_wrap.conf
%attr(755,root,root) %{_libexecdir}/mod_wrap.so
%changelog
* Sun Aug 30 2020 PLD Linux Team <[email protected]>
- For complete changelog see: http://git.pld-linux.org/?p=packages/proftpd.git;a=log;h=master

* Sun Aug 30 2020 Jakub Bogusz <[email protected]> c0c40ac
- updated to 1.3.7a, mod_clamav 0.13
- added link patch (kill unnecessary -lnsl -lresolv from linking)
- ensure standalone libiconv is not used

* Tue Mar 03 2020 Arkadiusz Miśkiewicz <[email protected]> 60543e0
- rel 2; rename locale dirs

* Wed Feb 26 2020 Arkadiusz Miśkiewicz <[email protected]> cc0e338
- up to 1.3.6c; package locale files

* Wed Jan 08 2020 Arkadiusz Miśkiewicz <[email protected]> d87c1f2
- up to 1.3.6b

* Thu Nov 07 2019 Arkadiusz Miśkiewicz <[email protected]> a16fa77
- rel 2; fix FSCachePolicy parameter handling

* Fri Oct 18 2019 Arkadiusz Miśkiewicz <[email protected]> 7a14082
- up to 1.3.6a

* Thu Sep 20 2018 Arkadiusz Miśkiewicz <[email protected]> cf16444
- up to 1.3.6

* Sat Sep 15 2018 Arkadiusz Miśkiewicz <[email protected]> a915791
- release 4 (by relup.sh)

* Fri Sep 14 2018 Arkadiusz Miśkiewicz <[email protected]> c513581
- release 3 (by relup.sh)

* Tue Mar 06 2018 Jan Rękorajski <[email protected]> da5984d
- rebuild with mysql 5.7
- release 2 (by relup.sh)

* Wed Oct 19 2016 Bartek Szady <[email protected]> d2bb21b
- updated to 1.3.5b
- mod_lang has to be static to work

* Fri Apr 03 2015 Adam Osuchowski <[email protected]> c6226f4
- up to 1.3.5

* Fri Sep 20 2013 Marcin Krol <[email protected]> c4bfeba
- updated to 1.3.4d

* Fri Dec 07 2012 Jan Rękorajski <[email protected]> 65e2b72
- move common man pages to common subpackage
- rel 4

* Thu Dec 06 2012 Jan Rękorajski <[email protected]> 14fbef1
- release 3 (by relup.sh)

* Tue Jan 31 2012 Jan Rękorajski <[email protected]> 7611743
- release 2

* Tue Jan 31 2012 Jan Rękorajski <[email protected]> 48217a3
- added tmpfiles config for systemd

* Mon Jan 30 2012 Jan Rękorajski <[email protected]> e91d1da
- add systemd tmpfiles config

* Tue Jan 24 2012 lisu <[email protected]> 404a317
- no more separated libtinfo(w)

* Tue Nov 15 2011 marti <[email protected]> e0f502a
- up to 1.3.4a

--- proftpd-1.2.0pre1/include/log.h.noauthpriv	Thu Feb 11 12:10:38 1999
+++ proftpd-1.2.0pre1/include/log.h	Thu Feb 11 12:11:01 1999
@@ -25,6 +25,7 @@
 #ifndef PR_LOG_H
 #define PR_LOG_H
 
+#undef LOG_AUTHPRIV
 #ifndef LOG_AUTHPRIV
 #define LOG_AUTHPRIV LOG_AUTH
 #endif
--- proftpd-1.2.0pre3/contrib/xferstats.holger-preiss	Sun Oct 18 04:24:41 1998
+++ proftpd-1.2.0pre3.pld/contrib/xferstats.holger-preiss	Fri May 28 10:49:08 1999
@@ -52,7 +52,7 @@
 # If you want to specify $mydom1 and $mydom2 manually you should edit the
 # next two lines to customize for your domain. This will allow your domain
 # to be separated in the domain listing.
-# $mydom1 = "debian";
+# $mydom1 = "pld";
 # $mydom2 = "org";
 
 # edit the next line to customize for your default log file
--- proftpd-1.3.0/include/default_paths.h~	2006-04-29 14:05:26.906490255 +0300
+++ proftpd-1.3.0/include/default_paths.h	2006-04-29 14:06:53.778425641 +0300
@@ -57,7 +57,7 @@
  * overridden at runtime with the '-c' switch
  */
 #ifndef PR_CONFIG_FILE_PATH
-# define PR_CONFIG_FILE_PATH	"/etc/proftpd.conf"
+# define PR_CONFIG_FILE_PATH	"/etc/ftpd/proftpd.conf"
 #endif
 
 /* The location of your `shells' file; a newline delimited list of
@@ -84,7 +84,7 @@
  * services (odd, eh?)
  */
 #ifndef PR_FTPUSERS_PATH
-# define PR_FTPUSERS_PATH	"/etc/ftpusers"
+# define PR_FTPUSERS_PATH	"/etc/ftpd/ftpusers"
 #endif
 
 #endif /* PROFTPD_PATHS_H */
--- proftpd-1.3.3b/configure.in~	2010-09-15 11:59:14.956175001 +0200
+++ proftpd-1.3.3b/configure.in	2010-09-15 12:05:20.368863997 +0200
@@ -3832,7 +3832,7 @@ locale_dir="`eval echo ${localedir}`"
 locale_dir="`eval echo ${locale_dir}`"
 AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`", [Define the locale directory])
 
-AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`", [Define the run directory])
+AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}/proftpd"`", [Define the run directory])
 AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`", [Define the configuration file path])
 AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`", [Define the PID file path])
 
diff -ur proftpd-1.3.2e/Make.rules.in proftpd-1.3.3b/Make.rules.in
--- proftpd-1.3.2e/Make.rules.in	2008-11-19 04:51:38.000000000 +0100
+++ proftpd-1.3.3b/Make.rules.in	2009-11-18 22:48:25.000000000 +0100
@@ -11,6 +11,7 @@
 localedir=@localedir@
 localstatedir=@localstatedir@
 pkgconfigdir=@pkgconfigdir@
+rundir=@localstatedir@/proftpd
 mandir=@mandir@
 
 AR=@AR@
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym