%define pound_user pound
%define pound_group %{pound_user}
%define pound_home %{_localstatedir}/lib/pound
Name: Pound
Version: 2.1.8
Release: 1%{?dist}
Summary: Reverse proxy and load balancer
Group: System Environment/Daemons
License: GPL
URL: http://apsis.ch/pound
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: openssl-devel, pcre-devel
Requires(pre): %{_sbindir}/useradd
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig, /sbin/service
Requires(postun): /sbin/service
Source0: http://apsis.ch/pound/%{name}-%{version}.tgz
Source1: pound.init
Source2: pound.cfg
%description
The Pound program is a reverse proxy, load balancer and
HTTPS front-end for Web server(s). Pound was developed
to enable distributing the load among several Web-servers
and to allow for a convenient SSL wrapper for those Web
servers that do not offer it natively. Pound is distributed
under the GPL - no warranty, it's free to use, copy and
give away
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
%{__install} -d %{buildroot}%{pound_home}
%{__install} -p -D -m 0755 -s pound %{buildroot}%{_sbindir}/pound
%{__install} -p -D -m 0755 -s poundctl %{buildroot}%{_sbindir}/poundctl
%{__install} -p -D -m 0644 pound.8 %{buildroot}%{_mandir}/man8/pound.8
%{__install} -p -D -m 0644 poundctl.8 %{buildroot}%{_mandir}/man8/poundctl.8
%{__install} -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/pound
%{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pound.cfg
mkdir -p %{buildroot}%{_sysconfdir}/pki/tls/certs
touch %{buildroot}%{_sysconfdir}/pki/tls/certs/pound.pem
%clean
rm -rf %{buildroot}
%pre
%{_sbindir}/useradd -c "Pound user" -s /bin/false -r -d %{pound_home} \
%{pound_user} 2>/dev/null || :
%post
/sbin/chkconfig --add pound
# generate dummy certificate
exec > /dev/null 2> /dev/null
if [ ! -f %{_sysconfdir}/pki/tls/certs/pound.pem ] ; then
pushd %{_sysconfdir}/pki/tls/certs
umask 077
cat << EOF | make pound.pem
--
SomeState
SomeCity
Pound Example Certificate
SomeOrganizationalUnit
localhost.localdomain
root@localhost.localdomain
EOF
chown root:pound pound.pem
chmod 640 pound.pem
popd
fi
exit 0
%preun
if [ $1 = 0 ]; then
/sbin/service pound stop >/dev/null 2>&1
/sbin/chkconfig --del pound
fi
%postun
if [ $1 -ge 1 ] ; then
/sbin/service pound condrestart > /dev/null 2>&1 || :
fi
%files
%defattr(-,root,root,-)
%doc CHANGELOG FAQ GPL.html README
%{_mandir}/man8/pound.8*
%{_mandir}/man8/poundctl.8*
%{_sbindir}/pound
%{_sbindir}/poundctl
%{_initrddir}/pound
%config(noreplace) %{_sysconfdir}/pound.cfg
%ghost %config(noreplace) %{_sysconfdir}/pki/tls/certs/pound.pem
%attr(-,%{pound_user},%{pound_group}) %dir %{pound_home}
%changelog
* Sat Dec 09 2006 <ruben@rubenkerkhof.com> 2.1.8-1
- Sync with upstream
* Thu Dec 07 2006 <ruben@rubenkerkhof.com> 2.1.7-1
- Sync with upstream
* Wed Nov 08 2006 <ruben@rubenkerkhof.com> 2.1.6-2
- Changed hardcoded paths into rpmmacros
* Mon Nov 06 2006 <ruben@rubenkerkhof.com> 2.1.6-1
- Synced with upstream version
- Changed Summary
- Added an init script
- Added pound.cfg with an example configuration
- Added pound user and group
- A self-signed ssl certificate is created in %%post
* Fri Nov 03 2006 <ruben@rubenkerkhof.com> 2.1.5-1
- initial version