pen/pen.spec

128 lines
3.6 KiB
RPMSpec

#
# spec file for package pen (Version 0.17.2)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: pen
License: GPL v2 or later
Group: Productivity/Clustering/HA
Summary: A simple load balancer for tcp based protocols
Url: http://siag.nu/pen/
Version: 0.17.2
Release: 1
Source0: %{name}-%{version}.tar.bz2
Source1: %{name}.cfg
Source2: init.%{name}
Source3: runpen.sh
PreReq: %insserv_prereq %fillup_prereq
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Pen is a load balancer for "simple" tcp based protocols such as http or
smtp. It allows several servers to appear as one to the outside and
automatically detects servers that are down and distributes clients
among the available servers. This gives high availability and scalable
performance.
The load balancing algorithm keeps track of clients and will try to
send them back to the server they visited the last time. This is useful
for applications that maintain state between connections in the server,
including most modern web applications.
When pen detects that a server is unavailable, it scans for another
starting with the server after the most recently used one. That way we
get load balancing and "fair" failover for free.
Correctly configured, pen can ensure that a server farm is always
available, even when individual servers are brought down for
maintenance or reconfiguration.
The final single point of failure, pen itself, can be eliminated by
running pen on several servers, using vrrp to decide which is active.
Authors:
--------
Ulric Eriksson <ulric@siag.nu>
%prep
%setup -q
#%patch
%build
%configure \
--with-daemon
make %{?jobs:-j%jobs}
%install
mkdir -p $RPM_BUILD_ROOT/%_sbindir
#make DESTDIR="$RPM_BUILD_ROOT" install
%makeinstall
# Install pen init script
mkdir -p $RPM_BUILD_ROOT/etc/init.d
install -m 0744 %SOURCE2 $RPM_BUILD_ROOT/etc/init.d/%{name}
install -m 0744 %SOURCE3 $RPM_BUILD_ROOT/usr/bin/runpen.sh
install -m 0644 %SOURCE1 $RPM_BUILD_ROOT/etc/%{name}.cfg
ln -sf ../../etc/init.d/%{name} $RPM_BUILD_ROOT/usr/sbin/rc%{name}
mkdir -p ${RPM_BUILD_ROOT}%{_docdir}
mv $RPM_BUILD_ROOT/usr/doc/pen ${RPM_BUILD_ROOT}%{_docdir}
%clean
rm -rf ${RPM_BUILD_ROOT}
%post
%{fillup_and_insserv -n pen pen}
%postun
%restart_on_update %{name}
%insserv_cleanup
%preun
%stop_on_removal %{name}
%files
%defattr(-,root,root)
%{_docdir}/*
%{_mandir}/man1/*.1.gz
/etc/init.d/%{name}
/usr/bin/%{name}
/usr/bin/runpen.sh
/usr/bin/mergelogs
/usr/bin/penctl
/usr/bin/penlog
/usr/bin/penlogd
/usr/sbin/rc%{name}
%config(noreplace) /etc/%{name}.cfg
%changelog
* Fri Nov 09 2007 - joe@suse.de
- update to version 0.17.2
* Fri Nov 09 2007 - lrupp@suse.de
- fix rpmlint warnings
* Thu Jun 21 2007 - adrian@suse.de
- fix changelog entry order
* Fri Aug 25 2006 - joe@suse.de
- update to version 0.17.1
- bugfix: server_by_weight would never consider blacklisted
servers, which kept them blacklisted indefinitely
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Dec 16 2005 - joe@suse.de
- fixed the init script give feedback on restart action
- upgraded to version 0.16.0
- the configure option for ssl is now:
--with-experimental-only-ssl
- new "abuse server", similar to the emergency server:
use "-B host:port" to enable
* Wed Jun 09 2004 - joe@suse.de
- Initial version of SUSE pen package
* Sat Jan 24 2004 - joe@suse.de
- upgraded to version 0.15.0