+# NOTE: pound 3.x has been withdrawn; for pound 4.x (based on fork from pound 2.8)
+# see pound-4 branch - to be tested and merged
+#
+# Conditional build:
+%bcond_without tcmalloc # tcmalloc allocator
+
+%ifarch x32
+%undefine with_tcmalloc
+%endif
Summary: Pound - reverse-proxy and load-balancer
-Summary(pl.UTF-8): Pound - reverse-proxy i load-balancer
+Summary(pl.UTF-8): Pound - odwrotne proxy i load-balancer
Name: pound
-Version: 2.6
+Version: 3.0.2
Release: 3
-License: GPL
+License: GPL v3
Group: Networking/Daemons
Source0: http://www.apsis.ch/pound/Pound-%{version}.tgz
-# Source0-md5: 8c913b527332694943c4c67c8f152071
-Source1: %{name}.cfg
+# Source0-md5: c0f5af4cd6aa184c00f4848ae1c4536a
+Source1: %{name}.yaml
Source2: %{name}.init
Source3: %{name}.sysconfig
-Source4: %{name}.logrotate
Source5: %{name}.tmpfiles
-Patch0: %{name}-hash-UL.patch
-Patch1: %{name}-logfile.patch
-Patch2: %{name}-daemonize.patch
-Patch3: %{name}-log-notice.patch
-Patch4: %{name}-man.patch
-URL: http://www.apsis.ch/pound/
-BuildRequires: automake
-BuildRequires: openssl-devel >= 0.9.7d
-BuildRequires: openssl-tools
-BuildRequires: pcre-devel
+Patch0: tcmalloc.patch
+Patch1: pound-man.patch
+Patch2: mbedtls3.patch
+URL: https://github.com/graygnuorg/pound
+BuildRequires: cmake >= 3.0
+%{?with_tcmalloc:BuildRequires: libtcmalloc-devel}
+BuildRequires: mbedtls-devel
+BuildRequires: nanomsg-devel
+BuildRequires: pcre2-8-devel
+BuildRequires: pcre2-posix-devel
BuildRequires: rpmbuild(macros) >= 1.644
+BuildRequires: yaml-devel
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
Requires: rc-scripts
Provides: group(pound)
Provides: user(pound)
-Conflicts: logrotate < 3.7-4
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/pound
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
-%patch4 -p1
%build
-cp -f /usr/share/automake/config.sub .
-%configure \
- --with-maxbuf=4096
+install -d build
+cd build
+%cmake .. \
+ %{?with_tcmalloc:-DWANT_TCMALLOC:BOOL=ON}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8,%{_sysconfdir},/etc/{sysconfig,logrotate.d,rc.d/init.d}} \
- $RPM_BUILD_ROOT{/var/log/{%{name},archive/%{name}},/var/run/%{name}} \
+install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8,%{_sysconfdir},/etc/{sysconfig,rc.d/init.d}} \
+ $RPM_BUILD_ROOT/var/run/%{name} \
$RPM_BUILD_ROOT%{systemdtmpfilesdir}
-install -p pound $RPM_BUILD_ROOT%{_sbindir}
-install -p poundctl $RPM_BUILD_ROOT%{_sbindir}
-cp -p pound.8 $RPM_BUILD_ROOT%{_mandir}/man8
-cp -p poundctl.8 $RPM_BUILD_ROOT%{_mandir}/man8
+install -p build/pound $RPM_BUILD_ROOT%{_sbindir}
+cp -p man/pound.8 $RPM_BUILD_ROOT%{_mandir}/man8
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
-cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
-
-install %{SOURCE5} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
%clean
rm -rf $RPM_BUILD_ROOT
%useradd -u 200 -d /var/lib/%{name} -g %{name} -c "Pound Daemon" %{name}
%post
-for a in access.log pound.log; do
- if [ ! -f /var/log/%{name}/$a ]; then
- touch /var/log/%{name}/$a
- chown pound:pound /var/log/%{name}/$a
- chmod 644 /var/log/%{name}/$a
- fi
-done
/sbin/chkconfig --add %{name}
%service %{name} restart "Pound Daemon"
%files
%defattr(644,root,root,755)
-%doc README FAQ CHANGELOG z*.py
+%doc README.md
%attr(755,root,root) %{_sbindir}/pound
-%attr(755,root,root) %{_sbindir}/poundctl
%dir %{_sysconfdir}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pound.cfg
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pound.yaml
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
%attr(754,root,root) /etc/rc.d/init.d/%{name}
-%{_mandir}/man8/*
+%{_mandir}/man8/pound.8*
%{systemdtmpfilesdir}/%{name}.conf
%dir /var/run/%{name}
-%dir %attr(751,root,root) /var/log/%{name}
-%attr(750,root,root) %dir /var/log/archive/%{name}