d55870e
%define haproxy_user    haproxy
d55870e
%define haproxy_group   %{haproxy_user}
d55870e
%define haproxy_home    %{_localstatedir}/lib/haproxy
d55870e
%define haproxy_confdir %{_sysconfdir}/haproxy
d55870e
%define haproxy_datadir %{_datadir}/haproxy
d55870e
d55870e
Name:           haproxy
6a91368
Version:        1.3.25
956aa77
Release:        1%{?dist}
d55870e
Summary:        HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
d55870e
d55870e
Group:          System Environment/Daemons
2b2535f
License:        GPLv2+
d55870e
d55870e
URL:            http://haproxy.1wt.eu/
d55870e
Source0:        http://haproxy.1wt.eu/download/1.3/src/haproxy-%{version}.tar.gz
d55870e
Source1:        %{name}.init
d55870e
Source2:        %{name}.cfg
63e1b6f
Source3:        %{name}.logrotate
d55870e
d55870e
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
d55870e
BuildRequires:  pcre-devel 
d55870e
d55870e
d55870e
Requires(pre):      %{_sbindir}/useradd
d55870e
Requires(post):     /sbin/chkconfig
d55870e
Requires(preun):    /sbin/chkconfig, /sbin/service
d55870e
Requires(postun):   /sbin/service
d55870e
d55870e
%description
d55870e
HA-Proxy is a TCP/HTTP reverse proxy which is particularly suited for high
d55870e
availability environments. Indeed, it can:
d55870e
- route HTTP requests depending on statically assigned cookies
d55870e
- spread the load among several servers while assuring server persistence
d55870e
  through the use of HTTP cookies
d55870e
- switch to backup servers in the event a main one fails
d55870e
- accept connections to special ports dedicated to service monitoring
d55870e
- stop accepting connections without breaking existing ones
d55870e
- add/modify/delete HTTP headers both ways
d55870e
- block requests matching a particular pattern
d55870e
d55870e
d55870e
%prep
d55870e
%setup -q
d55870e
76a2500
d55870e
%build
d55870e
# No configure script is present, it is all done via make flags
4b970c7
# FC 7 and up is linux 2.6 so using linux26 as target.
403798d
403798d
# Recommended optimization option for x86 builds
403798d
regparm_opts=
bb82085
%ifarch %ix86 x86_64
403798d
regparm_opts="USE_REGPARM=1"
76a2500
%endif
76a2500
403798d
make %{?_smp_mflags} CPU="generic" TARGET="linux26" USE_PCRE=1 ${regparm_opts} ADDINC="%{optflags}"
d55870e
d55870e
d55870e
%install
d55870e
rm -rf %{buildroot}
c0a4a74
make install-bin DESTDIR=%{buildroot} PREFIX=%{_prefix}
c0a4a74
make install-man DESTDIR=%{buildroot} PREFIX=%{_prefix}
76a2500
d55870e
%{__install} -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name}
d55870e
%{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{haproxy_confdir}/%{name}.cfg
63e1b6f
%{__install} -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
d55870e
%{__install} -d -m 0755 %{buildroot}%{haproxy_home}
d55870e
%{__install} -d -m 0755 %{buildroot}%{haproxy_datadir}
76a2500
d55870e
for httpfile in $(find ./examples/errorfiles/ -type f) 
d55870e
do
d55870e
    %{__install} -p -m 0644 $httpfile %{buildroot}%{haproxy_datadir}
d55870e
done
d55870e
d55870e
# convert all text files to utf8
d55870e
for textfile in $(find ./ -type f -name '*.txt')
d55870e
do
d55870e
    mv $textfile $textfile.old
d55870e
    iconv --from-code ISO8859-1 --to-code UTF-8 --output $textfile $textfile.old
d55870e
    rm -f $textfile.old
d55870e
done 
d55870e
d55870e
d55870e
%clean
d55870e
rm -rf %{buildroot}
d55870e
d55870e
d55870e
%pre
d55870e
%{_sbindir}/useradd -c "HAProxy user" -s /bin/false -r -d %{haproxy_home} %{haproxy_user} 2>/dev/null || :
d55870e
d55870e
d55870e
%post
d55870e
/sbin/chkconfig --add %{name}
d55870e
    
d55870e
d55870e
%preun
d55870e
if [ $1 = 0 ]; then
d55870e
    /sbin/service %{name} stop >/dev/null 2>&1
d55870e
    /sbin/chkconfig --del %{name}
d55870e
fi  
d55870e
    
d55870e
d55870e
%postun
d55870e
if [ $1 -ge 1 ]; then
d55870e
/sbin/service %{name} condrestart > /dev/null 2>&1 || :
d55870e
fi  
d55870e
 
d55870e
d55870e
%files
d55870e
%defattr(-,root,root,-)
d55870e
%doc doc/*
d55870e
%doc examples/url-switching.cfg
d55870e
%doc examples/acl-content-sw.cfg
d55870e
%doc examples/content-sw-sample.cfg
d55870e
%doc examples/cttproxy-src.cfg
d55870e
%doc examples/haproxy.cfg
d55870e
%doc examples/tarpit.cfg
d55870e
%doc examples/tcp-splicing-sample.cfg
d55870e
%doc CHANGELOG CONTRIB LICENSE README
d55870e
%dir %{haproxy_datadir}
d55870e
%dir %{haproxy_datadir}/*
d55870e
%dir %{haproxy_confdir}
d55870e
%config(noreplace) %{haproxy_confdir}/%{name}.cfg
63e1b6f
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
d55870e
%{_initrddir}/%{name}
d55870e
%{_sbindir}/%{name}
4b970c7
%{_mandir}/man1/%{name}.1.gz
d55870e
%attr(-,%{haproxy_user},%{haproxy_group}) %dir %{haproxy_home}
d55870e
d55870e
d55870e
%changelog
6a91368
* Sun Jun 20 2010 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.25-1
6a91368
- update to 1.3.25
6a91368
956aa77
* Thu Feb 18 2010 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.23-1
956aa77
- update to 1.3.23
956aa77
a87d973
* Thu Dec 10 2009 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.22-2
a87d973
- release bump
a87d973
a87d973
* Sat Oct 17 2009 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.22-1
63e1b6f
- update to 1.3.22
63e1b6f
- add logrotate configuration
63e1b6f
579f4a2
* Mon Oct 12 2009 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.21-1
579f4a2
- update to 1.3.21 
579f4a2
c722e51
* Sun Oct 11 2009 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.20-2
c722e51
- relase bump
c722e51
2116bf0
* Sun Oct 11 2009 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.20-1
2116bf0
- update to 1.3.20
2116bf0
2116bf0
* Sun Aug 02 2009 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.19-1
0d0c512
- update to 1.3.19
0d0c512
6321f76
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.18-2
6321f76
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
6321f76
425fb6e
* Sun May 17 2009 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.18-1
425fb6e
- update to 1.3.18
425fb6e
425fb6e
* Sat Apr 11 2009 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.17-1
a8f7f24
-  Update to 1.3.17
a8f7f24
46d4846
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.15.7-2
46d4846
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
46d4846
c762fb7
* Tue Dec 30 2008 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.15.7-1
c762fb7
- update to 1.3.15.7
c762fb7
- remove upstream patches, they are now part of source distribution
c762fb7
c0a4a74
* Sat Nov 22 2008 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.15.6-2
c0a4a74
- apply upstream patches 
c0a4a74
76a2500
* Sat Nov 15 2008 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.15.6-1
76a2500
- update to 1.3.15.6
76a2500
- use new build targets from upstream
76a2500
- add in recommended build options for x86 from upstream
76a2500
2b2535f
* Sat Jun 28 2008 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.14.6-1
2b2535f
- update to 1.3.14.6
2b2535f
- remove gcc 4.3 patch, it has been applied upstream
2b2535f
- remove MIT license as that code has been removed from upstream
2b2535f
34e768c
* Mon Apr 14 2008 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.14.4-1
34e768c
- update to 1.3.14.4
34e768c
234f4f2
* Sun Mar 16 2008 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.14.3-1
234f4f2
- update to 1.3.14.3
234f4f2
905ef3e
* Sat Mar 01 2008 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.14.2-4
905ef3e
- apply the gcc 4.3 patch to the build process
905ef3e
8ac8468
* Sat Mar 01 2008 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.14.2-3
8ac8468
- fix gcc 4.3 bug [#434144]
8ac8468
- update init script to properly reload configuration
8ac8468
2cb4cfe
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.3.14.2-2
2cb4cfe
- Autorebuild for GCC 4.3
2cb4cfe
4b970c7
* Sun Jan 20 2008 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.14.2-1
4b970c7
- update to 1.3.14.2
4b970c7
- update make flags that changed with this upstream release
4b970c7
- added man page installation
4b970c7
fcacffd
* Sun Dec 16 2007 Jeremy Hinegardner <jeremy at hinegardner dot org> - 1.3.14-1
fcacffd
- update to 1.3.14
fcacffd
93ba44a
* Mon Nov 05 2007 Jeremy Hinegardner <jeremy@hinegardner.org> - 1.3.12.4-1
93ba44a
- update to 1.3.12.4
93ba44a
3037574
* Thu Nov 01 2007 Jeremy Hinegardner <jeremy@hinegardner.org> - 1.3.12.3-1
3037574
- update to 1.3.12.3
93ba44a
3037574
* Fri Sep 21 2007 Jeremy Hinegardner <jeremy@hinegardner.org> - 1.3.12.2-3
3037574
- fix init script 'reload' task
3037574
d55870e
* Thu Sep 20 2007 Jeremy Hinegardner <jeremy@hinegardner.org> - 1.3.12.2-2
d55870e
- update License field
d55870e
d55870e
* Thu Sep 20 2007 Jeremy Hinegardner <jeremy@hinegardner.org> - 1.3.12.2-1
d55870e
- update to 1.3.12.2
d55870e
- remove the upstream patch
d55870e
d55870e
* Tue Sep 18 2007 Jeremy Hinegardner <jeremy@hinegardner.org> - 1.3.12.1-1
d55870e
- switch to 1.3.12.1 branch
d55870e
- add patch from upstream with O'Reilly licensing updates.
d55870e
- convert ISO-8859-1 doc files to UTF-8
d55870e
d55870e
* Sat Mar 24 2007 Jeremy Hinegardner <jeremy@hinegardner.org> - 1.2.17-2
d55870e
- addition of haproxy user
d55870e
- add license information
d55870e
d55870e
* Fri Mar 23 2007 Jeremy Hinegardner <jeremy@hinegardner.org> - 1.2.17-1
d55870e
- initial packaging