haproxy/examples/haproxy.spec
Willy Tarreau abc874ea45 [RELEASE] Released version 2.0-dev5
Released version 2.0-dev5 with the following main changes :
    - BUILD: watchdog: use si_value.sival_int, not si_int for the timer's value
    - BUILD: signals: FreeBSD has SI_LWP instead of SI_TKILL
    - BUILD: watchdog: condition it to USE_RT
    - MINOR: raw_sock: report global traffic statistics
    - MINOR: stats: report the global output bit rate in human readable form
    - BUG/MINOR: proto-htx: Try to keep connections alive on redirect
    - BUG/MEDIUM: spoe: Don't use the SPOE applet after releasing it
    - BUG/MINOR: lua: Set right direction and flags on new HTTP objects
    - BUG/MINOR: mux-h2: Count EOM in bytes sent when a HEADERS frame is formatted
    - BUG/MINOR: mux-h1: Report EOI instead EOS on parsing error or H2 upgrade
    - BUG/MEDIUM: proto-htx: Not forward too much data when 1xx reponses are handled
    - BUG/MINOR: htx: Remove a forgotten while loop in htx_defrag()
    - DOC: fix typos
    - BUG/MINOR: ssl_sock: Fix memory leak when disabling compression
    - OPTIM: freq-ctr: don't take the date lock for most updates
    - MEDIUM: mux-h2: avoid doing expensive buffer realigns when not absolutely needed
    - CLEANUP: debug: remove the TRACE() macro
    - MINOR: buffer: introduce b_make() to make a buffer from its parameters
    - MINOR: buffer: add a new buffer ring API to manipulate rings of buffers
    - MEDIUM: mux-h2: replace all occurrences of mbuf with a buffer ring
    - MEDIUM: mux-h2: make the conditions to send based on mbuf, not just its tail
    - MINOR: mux-h2: introduce h2_release_mbuf() to release all buffers in the mbuf ring
    - MEDIUM: mux-h2: make the send() function iterate over all mux buffers
    - CLEANUP: mux-h2: consistently use a local variable for the mbuf
    - MINOR: mux-h2: report the mbuf's head and tail in "show fd"
    - MAJOR: mux-h2: switch to next mux buffer on buffer full condition.
    - BUILD: connections: shut up gcc about impossible out-of-bounds warning
    - BUILD: ssl: fix latest LibreSSL reg-test error
    - MINOR: cli/activity: remove "fd_del" and "fd_skip" from show activity
    - MINOR: cli/activity: add 3 general purpose counters in development mode
    - BUG/MAJOR: lb/threads: make sure the avoided server is not full on second pass
    - BUG/MEDIUM: queue: fix the tree walk in pendconn_redistribute.
    - BUG/MEDIUM: threads: fix double-word CAS on non-optimized 32-bit platforms
    - MEDIUM: config: now alert when two servers have the same name
    - MINOR: htx: Remove the macro IS_HTX_SMP() and always use IS_HTX_STRM() instead
    - MINOR: htx: Move the macro IS_HTX_STRM() in proto/stream.h
    - MINOR: htx: Store the head position instead of the wrap one
    - MINOR: htx: Store start-line block's position instead of address of its payload
    - MINOR: htx: Add functions to get the first block of an HTX message
    - MINOR: mux-h2/htx: Get the start-line from the head when HEADERS frame is built
    - MINOR: htx: Replace the function http_find_stline() by http_get_stline()
    - CLEANUP: htx: Remove unused function htx_get_stline()
    - MINOR: http/htx: Use sl_pos directly to replace the start-line
    - MEDIUM: http/htx: Perform analysis relatively to the first block
    - MINOR: channel/htx: Call channel_htx_recv_max() from channel_recv_max()
    - MINOR: htx: Add function htx_get_max_blksz()
    - BUG/MINOR: htx: Change htx_xfer_blk() to also count metadata
    - MEDIUM: mux-h1: Use the count value received from the SI in h1_rcv_buf()
    - MINOR: mux-h2: Use the count value received from the SI in h2_rcv_buf()
    - MINOR: stream-int: Don't use the flag CO_RFL_KEEP_RSV anymore in si_cs_recv()
    - MINOR: connection: Remove the unused flag CO_RFL_KEEP_RSV
    - MINOR: mux-h2/htx: Support zero-copy when possible in h2_rcv_buf()
    - MINOR: htx: Add a field to set the memory used by headers in the HTX start-line
    - MINOR: h2/htx: Set hdrs_bytes on the SL when an HTX message is produced
    - MINOR: mux-h1: Set hdrs_bytes on the SL when an HTX message is produced
    - MINOR: htx: Be sure to xfer all headers in one time in htx_xfer_blks()
    - MEDIUM: htx: 1xx messages are now part of the final reponses
    - MINOR: channel/htx: Add function to forward headers of an HTX message
    - MINOR: filters/htx: Use channel_htx_fwd_headers() after headers filtering
    - MINOR: proto-htx: Use channel_htx_fwd_headers() to forward 1xx responses
    - MEDIUM: htx: Store the first block position instead of the start-line one
    - MINOR: stats/htx: don't use the first block position but the head one
    - MINOR: channel/htx: Add functions to forward a part or all HTX payload
    - MINOR: proto-htx: Use channel_htx_fwd_all() when unfiltered body are forwarded
    - MEDIUM: filters/htx: Filter body relatively to the first block
    - MINOR: htx: Optimize htx_drain() when all data are drained
    - MINOR: htx: don't rely on htx_find_blk() anymore in the function htx_truncate()
    - MINOR: htx: remove the unused function htx_find_blk()
    - MINOR: htx: Remove support of pseudo headers because it is unused
    - BUG/MEDIUM: http: fix "http-request reject" when not final
    - MINOR: ssl: Make sure the underlying xprt's init method doesn't fail.
    - MINOR: ssl: Don't forget to call the close method of the underlying xprt.
    - MINOR: htx: rename htx_append_blk_value() to htx_add_data_atonce()
    - MINOR: htx: make htx_add_data() return the transmitted byte count
    - MEDIUM: htx: make htx_add_data() never defragment the buffer
    - MINOR: activity: write totals on the "show activity" output
    - MINOR: activity: report totals and average separately
    - MEDIUM: poller: separate the wait time from the wake events
    - MINOR: activity: report the number of failed pool/buffer allocations
    - MEDIUM: buffers: relax the buffer lock a little bit
    - MINOR: task: turn the WQ lock to an RW_LOCK
    - MEDIUM: task: don't grab the WR lock just to check the WQ
    - BUG/MEDIUM: mux-h1: Don't skip the TCP splicing when there is no more data to read
    - MEDIUM: sessions: Introduce session flags.
    - BUG/MEDIUM: h2: Don't forget to set h2s->cs to NULL after having free'd cs.
    - BUG/MEDIUM: mux-h2: fix the conditions to end the h2_send() loop
    - BUG/MEDIUM: mux-h2: don't refrain from offering oneself a used buffer
    - BUG/MEDIUM: connection: Use the session to get the origin address if needed.
    - MEDIUM: tasks: Get rid of active_tasks_mask.
    - MEDIUM: connection: Upstream SOCKS4 proxy support
    - BUILD: contrib/prometheus: fix build breakage caused by move of idle_pct
    - BUG/MINOR: deinit/threads: make hard-stop-after perform a clean exit
2019-06-02 12:06:08 +02:00

467 lines
11 KiB
RPMSpec

Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
Name: haproxy
Version: 2.0-dev5
Release: 1
License: GPL
Group: System Environment/Daemons
URL: http://www.haproxy.org/
Source0: http://www.haproxy.org/download/1.6/src/devel/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: pcre-devel
Requires: /sbin/chkconfig, /sbin/service
%description
HA-Proxy is a TCP/HTTP reverse proxy which is particularly suited for high
availability environments. Indeed, it can:
- route HTTP requests depending on statically assigned cookies
- spread the load among several servers while assuring server persistence
through the use of HTTP cookies
- switch to backup servers in the event a main one fails
- accept connections to special ports dedicated to service monitoring
- stop accepting connections without breaking existing ones
- add/modify/delete HTTP headers both ways
- block requests matching a particular pattern
It needs very little resource. Its event-driven architecture allows it to easily
handle thousands of simultaneous connections on hundreds of instances without
risking the system's stability.
%prep
%setup -q
# We don't want any perl dependecies in this RPM:
%define __perl_requires /bin/true
%build
%{__make} USE_PCRE=1 DEBUG="" ARCH=%{_target_cpu} TARGET=linux26
%install
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%{__install} -d %{buildroot}%{_sbindir}
%{__install} -d %{buildroot}%{_sysconfdir}/rc.d/init.d
%{__install} -d %{buildroot}%{_sysconfdir}/%{name}
%{__install} -d %{buildroot}%{_mandir}/man1/
%{__install} -s %{name} %{buildroot}%{_sbindir}/
%{__install} -c -m 755 examples/%{name}.init %{buildroot}%{_sysconfdir}/rc.d/init.d/%{name}
%{__install} -c -m 755 doc/%{name}.1 %{buildroot}%{_mandir}/man1/
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%post
/sbin/chkconfig --add %{name}
%preun
if [ $1 = 0 ]; then
/sbin/service %{name} stop >/dev/null 2>&1 || :
/sbin/chkconfig --del %{name}
fi
%postun
if [ "$1" -ge "1" ]; then
/sbin/service %{name} condrestart >/dev/null 2>&1 || :
fi
%files
%defattr(-,root,root)
%doc CHANGELOG README doc/architecture.txt doc/configuration.txt doc/intro.txt doc/management.txt doc/proxy-protocol.txt
%doc %{_mandir}/man1/%{name}.1*
%attr(0755,root,root) %{_sbindir}/%{name}
%dir %{_sysconfdir}/%{name}
%attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name}
%changelog
* Sun Jun 2 2019 Willy Tarreau <w@1wt.eu>
- updated to 2.0-dev5
* Wed May 22 2019 Willy Tarreau <w@1wt.eu>
- updated to 2.0-dev4
* Wed May 15 2019 Willy Tarreau <w@1wt.eu>
- updated to 2.0-dev3
* Tue Mar 26 2019 Willy Tarreau <w@1wt.eu>
- updated to 2.0-dev2
* Tue Feb 26 2019 Willy Tarreau <w@1wt.eu>
- updated to 2.0-dev1
* Sat Dec 22 2018 Willy Tarreau <w@1wt.eu>
- updated to 2.0-dev0
* Wed Dec 19 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9.0
* Sun Dec 16 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev11
* Sat Dec 8 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev10
* Sun Dec 2 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev9
* Sun Nov 25 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev8
* Sun Nov 18 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev7
* Sun Nov 11 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev6
* Sun Oct 28 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev5
* Sun Oct 21 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev4
* Sat Sep 29 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev3
* Wed Sep 12 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev2
* Thu Aug 2 2018 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev1
* Sun Nov 26 2017 Willy Tarreau <w@1wt.eu>
- updated to 1.9-dev0
* Sun Nov 26 2017 Willy Tarreau <w@1wt.eu>
- updated to 1.8.0
* Sun Nov 19 2017 Willy Tarreau <w@1wt.eu>
- updated to 1.8-rc4
* Sat Nov 11 2017 Willy Tarreau <w@1wt.eu>
- updated to 1.8-rc3
* Fri Nov 3 2017 Willy Tarreau <w@1wt.eu>
- updated to 1.8-rc2
* Tue Oct 31 2017 Willy Tarreau <w@1wt.eu>
- updated to 1.8-rc1
* Sun Oct 22 2017 Willy Tarreau <w@1wt.eu>
- updated to 1.8-dev3
* Fri Jun 2 2017 Willy Tarreau <w@1wt.eu>
- updated to 1.8-dev2
* Mon Apr 3 2017 Willy Tarreau <w@1wt.eu>
- updated to 1.8-dev1
* Fri Nov 25 2016 Willy Tarreau <w@1wt.eu>
- updated to 1.8-dev0
* Fri Nov 25 2016 Willy Tarreau <w@1wt.eu>
- updated to 1.7.0
* Wed Nov 9 2016 Willy Tarreau <w@1wt.eu>
- updated to 1.7-dev6
* Tue Oct 25 2016 Willy Tarreau <w@1wt.eu>
- updated to 1.7-dev5
* Sun Aug 14 2016 Willy Tarreau <w@1wt.eu>
- updated to 1.7-dev4
* Tue May 10 2016 Willy Tarreau <w@1wt.eu>
- updated to 1.7-dev3
* Mon Mar 14 2016 Willy Tarreau <w@1wt.eu>
- updated to 1.7-dev2
* Sun Dec 20 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.7-dev1
* Tue Oct 13 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.7-dev0
* Tue Oct 13 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.6.0
* Tue Oct 6 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.6-dev7
* Mon Sep 28 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.6-dev6
* Mon Sep 14 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.6-dev5
* Sun Aug 30 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.6-dev4
* Sun Aug 30 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.6-dev4
* Wed Jul 22 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.6-dev3
* Wed Jun 17 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.6-dev2
* Wed Mar 11 2015 Willy Tarreau <w@1wt.eu>
- updated to 1.6-dev1
* Thu Jun 19 2014 Willy Tarreau <w@1wt.eu>
- updated to 1.6-dev0
* Thu Jun 19 2014 Willy Tarreau <w@1wt.eu>
- updated to 1.5.0
* Wed May 28 2014 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev26
* Sat May 10 2014 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev25
* Sat Apr 26 2014 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev24
* Wed Apr 23 2014 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev23
* Mon Feb 3 2014 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev22
* Tue Dec 17 2013 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev21
* Mon Dec 16 2013 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev20
* Mon Jun 17 2013 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev19
* Wed Apr 3 2013 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev18
* Fri Dec 28 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev17
* Mon Dec 24 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev16
* Wed Dec 12 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev15
* Mon Nov 26 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev14
* Thu Nov 22 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev13
* Mon Sep 10 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev12
* Mon Jun 4 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev11
* Mon May 14 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev10
* Tue May 8 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev9
* Mon Mar 26 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev8
* Sat Sep 10 2011 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev7
* Fri Apr 8 2011 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev6
* Tue Mar 29 2011 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev5
* Sun Mar 13 2011 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev4
* Thu Nov 11 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev3
* Sat Aug 28 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev2
* Wed Aug 25 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev1
* Sun May 23 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev0
* Sun May 16 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4.6
* Thu May 13 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4.5
* Wed Apr 7 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4.4
* Tue Mar 30 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4.3
* Wed Mar 17 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4.2
* Thu Mar 4 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4.1
* Fri Feb 26 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4.0
* Tue Feb 2 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4-rc1
* Mon Jan 25 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4-dev8
* Mon Jan 25 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4-dev7
* Fri Jan 8 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4-dev6
* Sun Jan 3 2010 Willy Tarreau <w@1wt.eu>
- updated to 1.4-dev5
* Mon Oct 12 2009 Willy Tarreau <w@1wt.eu>
- updated to 1.4-dev4
* Thu Sep 24 2009 Willy Tarreau <w@1wt.eu>
- updated to 1.4-dev3
* Sun Aug 9 2009 Willy Tarreau <w@1wt.eu>
- updated to 1.4-dev2
* Wed Jul 29 2009 Willy Tarreau <w@1wt.eu>
- updated to 1.4-dev1
* Tue Jun 09 2009 Willy Tarreau <w@1wt.eu>
- updated to 1.4-dev0
* Sun May 10 2009 Willy Tarreau <w@1wt.eu>
- updated to 1.3.18
* Sun Mar 29 2009 Willy Tarreau <w@1wt.eu>
- updated to 1.3.17
* Sun Mar 22 2009 Willy Tarreau <w@1wt.eu>
- updated to 1.3.16
* Sat Apr 19 2008 Willy Tarreau <w@1wt.eu>
- updated to 1.3.15
* Wed Dec 5 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.14
* Thu Oct 18 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.13
* Sun Jun 17 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.12
* Sun Jun 3 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.11.4
* Mon May 14 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.11.3
* Mon May 14 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.11.2
* Mon May 14 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.11.1
* Mon May 14 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.11
* Thu May 10 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.10.2
* Tue May 09 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.10.1
* Tue May 08 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.10
* Sun Apr 15 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.9
* Tue Apr 03 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.8.2
* Sun Apr 01 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.8.1
* Sun Mar 25 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.8
* Wed Jan 26 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.7
* Wed Jan 22 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.6
* Wed Jan 07 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.5
* Wed Jan 02 2007 Willy Tarreau <w@1wt.eu>
- updated to 1.3.4
* Wed Oct 15 2006 Willy Tarreau <w@1wt.eu>
- updated to 1.3.3
* Wed Sep 03 2006 Willy Tarreau <w@1wt.eu>
- updated to 1.3.2
* Wed Jul 09 2006 Willy Tarreau <w@1wt.eu>
- updated to 1.3.1
* Wed May 21 2006 Willy Tarreau <willy@w.ods.org>
- updated to 1.2.14
* Wed May 01 2006 Willy Tarreau <willy@w.ods.org>
- updated to 1.2.13
* Wed Apr 15 2006 Willy Tarreau <willy@w.ods.org>
- updated to 1.2.12
* Wed Mar 30 2006 Willy Tarreau <willy@w.ods.org>
- updated to 1.2.11.1
* Wed Mar 19 2006 Willy Tarreau <willy@w.ods.org>
- updated to 1.2.10
* Wed Mar 15 2006 Willy Tarreau <willy@w.ods.org>
- updated to 1.2.9
* Sat Jan 22 2005 Willy Tarreau <willy@w.ods.org>
- updated to 1.2.3 (1.1.30)
* Sun Nov 14 2004 Willy Tarreau <w@w.ods.org>
- updated to 1.1.29
- fixed path to config and init files
- statically linked PCRE to increase portability to non-pcre systems
* Sun Jun 6 2004 Willy Tarreau <willy@w.ods.org>
- updated to 1.1.28
- added config check support to the init script
* Tue Oct 28 2003 Simon Matter <simon.matter@invoca.ch>
- updated to 1.1.27
- added pid support to the init script
* Wed Oct 22 2003 Simon Matter <simon.matter@invoca.ch>
- updated to 1.1.26
* Thu Oct 16 2003 Simon Matter <simon.matter@invoca.ch>
- initial build