haproxy/haproxy.spec
2024-12-02 18:38:39 +03:00

335 lines
9.5 KiB
RPMSpec

%define haproxy_user _haproxy
%define haproxy_group %haproxy_user
%define haproxy_home %_localstatedir/haproxy
%define haproxy_confdir %_sysconfdir/haproxy
%define haproxy_datadir %_datadir/haproxy
%def_enable lua
Name: haproxy
Version: 3.0.6
Release: alt1
Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
License: GPLv2+
Group: System/Servers
URL: http://www.haproxy.org/
Source: %name-%version.tar
Source1: %name.cfg
Source2: %name.init
Source3: %name.logrotate
Source4: %name.service
Source5: %name.sysconfig
BuildRequires: libpcre2-devel zlib-devel libssl-devel libsystemd-devel
%{?_enable_lua:BuildRequires: liblua5-devel >= 5.3}
%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
%build
export VERDATE="$(date '+%%+4Y/%%m/%%d')"
export VERSION="%version"
export SUBVERS="-%release"
%make_build V=1 CPU="generic" TARGET="linux-glibc" USE_OPENSSL=1 USE_PCRE2=1 USE_SLZ=1 %{?_enable_lua:USE_LUA=1} \
%ifarch mipsel
USE_LIBATOMIC=1 \
%endif
USE_SYSTEMD=1 USE_PROMEX=1 USE_LINUX_CAP=1 PREFIX="%_prefix" DEFINE=-DMAX_SESS_STKCTR=12 ADDINC="%optflags"
%make admin/halog/halog ADDINC="%optflags"
%install
%make_install install-bin DESTDIR=%buildroot PREFIX="%_prefix" TARGET="linux-glibc"
%make_install install-man DESTDIR=%buildroot PREFIX="%_prefix"
install -p -D -m 0644 %SOURCE1 %buildroot%haproxy_confdir/%name.cfg
install -d -m 0755 %buildroot%haproxy_confdir/conf.d
install -D -m 0755 %SOURCE2 %buildroot%_initrddir/haproxy
install -p -D -m 0644 %SOURCE5 %buildroot%_sysconfdir/sysconfig/%name
install -p -D -m 0644 %SOURCE4 %buildroot%_unitdir/%name.service
install -p -D -m 0644 %SOURCE3 %buildroot%_logrotatedir/%name
install -d -m 0755 %buildroot%haproxy_home
install -d -m 0755 %buildroot%haproxy_datadir
install -d -m 0755 %buildroot%_bindir
install -p -m 0755 admin/halog/halog %buildroot%_bindir/halog
cp -p examples/errorfiles/* %buildroot%haproxy_datadir/
%pre
%_sbindir/groupadd -r -f %haproxy_group >/dev/null 2>&1 ||:
%_sbindir/useradd -g %haproxy_group -c 'HA Proxy' \
-d %haproxy_home -s /dev/null -r -l -M %haproxy_user >/dev/null 2>&1 ||:
%post
%post_service haproxy
%preun
%preun_service haproxy
%files
%doc CHANGELOG LICENSE README doc/architecture.txt doc/configuration.txt doc/intro.txt doc/management.txt doc/proxy-protocol.txt examples/*.cfg
%dir %haproxy_confdir
%dir %haproxy_confdir/conf.d
%config(noreplace) %haproxy_confdir/%name.cfg
%config(noreplace) %_sysconfdir/sysconfig/%name
%config(noreplace) %_logrotatedir/%name
%haproxy_datadir
%_initrddir/%name
%_unitdir/%name.service
%_sbindir/*
%_bindir/*
%_man1dir/*
%attr(-,%haproxy_user,%haproxy_group) %dir %haproxy_home
%changelog
* Mon Dec 02 2024 Maxim Slipenko <maks1ms@altlinux.org> 3.0.6-alt1
- 3.0.6
* Wed Apr 10 2024 Alexey Shabalin <shaba@altlinux.org> 2.8.9-alt1
- 2.8.9
* Mon Feb 19 2024 Nadezhda Fedorova <fedor@altlinux.org> 2.8.6-alt1
- 2.8.6
* Fri Dec 15 2023 Alexey Shabalin <shaba@altlinux.org> 2.8.5-alt1
- 2.8.5
* Wed Nov 29 2023 Alexey Shabalin <shaba@altlinux.org> 2.8.4-alt1
- 2.8.4
* Fri Oct 06 2023 Alexey Shabalin <shaba@altlinux.org> 2.8.3-alt1
- 2.8.3
* Wed Aug 09 2023 Alexey Shabalin <shaba@altlinux.org> 2.8.2-alt1
- 2.8.2 (Fixes: CVE-2023-40225)
* Sat May 27 2023 Alexey Shabalin <shaba@altlinux.org> 2.6.13-alt1.1
- add info about CVE to changelog
* Tue May 02 2023 Alexey Shabalin <shaba@altlinux.org> 2.6.13-alt1
- 2.6.13
* Fri Mar 24 2023 Alexey Shabalin <shaba@altlinux.org> 2.6.11-alt1
- 2.6.11 (FIxes: CVE-2023-0836, CVE-2023-25725, CVE-2023-25950)
* Fri Jan 27 2023 Alexey Shabalin <shaba@altlinux.org> 2.6.8-alt2
- revert: build iprange utils
* Thu Jan 26 2023 Alexey Shabalin <shaba@altlinux.org> 2.6.8-alt1
- 2.6.8
- build iprange utils
- add support configs dir /etc/haproxy/conf.d
- fixed CFLAGS (ALT #45005)
* Sat Nov 05 2022 Petr Usoltsev <prohorp@altlinux.org> 2.6.6-alt1
- 2.6.6
* Fri Sep 16 2022 Alexey Shabalin <shaba@altlinux.org> 2.6.5-alt1
- 2.6.5 (Fixes: CVE-2021-40346)
* Tue Apr 20 2021 Alexey Shabalin <shaba@altlinux.org> 2.3.9-alt1
- 2.3.9
* Mon Mar 08 2021 Alexey Kostarev <kaf@altlinux.org> 2.3.5-alt1
- 2.3.5
* Tue Jan 19 2021 Alexey Shabalin <shaba@altlinux.org> 2.2.8-alt1
- 2.2.8 latest LTS release.
* Tue Jan 19 2021 Alexey Shabalin <shaba@altlinux.org> 2.0.20-alt1
- 2.0.20
* Tue Nov 10 2020 Alexey Shabalin <shaba@altlinux.org> 2.0.19-alt1
- 2.0.19
* Sat Apr 18 2020 Alexey Shabalin <shaba@altlinux.org> 2.0.14-alt1
- 2.0.14 (Fixes: CVE-2020-11100)
- build with prometheus-exporter
- add security options to systemd unit
* Sun Mar 15 2020 Alexey Shabalin <shaba@altlinux.org> 2.0.13-alt1
- 2.0.13
* Mon Dec 16 2019 Alexey Shabalin <shaba@altlinux.org> 2.0.11-alt1
- 2.0.11
* Wed Nov 06 2019 Alexey Shabalin <shaba@altlinux.org> 2.0.8-alt1
- 2.0.8
* Tue Sep 24 2019 Alexey Shabalin <shaba@altlinux.org> 2.0.6-alt1
- 2.0.6
* Fri Aug 23 2019 Alexey Shabalin <shaba@altlinux.org> 2.0.5-alt1
- 2.0.5
* Fri Aug 09 2019 Alexey Shabalin <shaba@altlinux.org> 2.0.4-alt1
- 2.0.4 (Fixes: CVE-2019-14241)
* Tue Jul 23 2019 Ivan A. Melnikov <iv@altlinux.org> 2.0.1-alt2
- fix build on mipsel
* Sat Jun 29 2019 Alexey Shabalin <shaba@altlinux.org> 2.0.1-alt1
- 2.0.1
* Tue May 07 2019 Alexey Shabalin <shaba@altlinux.org> 1.9.7-alt1
- 1.9.7
* Thu Jan 17 2019 Alexey Shabalin <shaba@altlinux.org> 1.9.2-alt1
- 1.9.2
- fixed start systemd unit
* Thu Jan 03 2019 Alexey Shabalin <shaba@altlinux.org> 1.9.0-alt1
- 1.9.0
* Mon Oct 15 2018 Alexey Shabalin <shaba@altlinux.org> 1.8.14-alt1
- 1.8.14
* Tue Sep 04 2018 Alexey Shabalin <shaba@altlinux.org> 1.8.13-alt2
- rebuild with openssl-1.1
* Fri Aug 24 2018 Alexey Shabalin <shaba@altlinux.org> 1.8.13-alt1
- 1.8.13
* Thu Jun 28 2018 Alexey Shabalin <shaba@altlinux.ru> 1.8.12-alt1
- 1.8.12
* Tue Jun 26 2018 Alexey Shabalin <shaba@altlinux.ru> 1.8.11-alt1
- 1.8.11
* Thu Feb 08 2018 Alexey Shabalin <shaba@altlinux.ru> 1.8.4-alt1
- 1.8.4
* Mon Jan 29 2018 Alexey Shabalin <shaba@altlinux.ru> 1.8.3-alt1
- 1.8.3
- build with pcre2
* Wed Sep 27 2017 Alexey Shabalin <shaba@altlinux.ru> 1.7.9-alt1
- 1.7.9
* Sun Aug 06 2017 Alexey Shabalin <shaba@altlinux.ru> 1.7.8-alt1
- 1.7.8
* Fri Apr 28 2017 Alexey Shabalin <shaba@altlinux.ru> 1.7.5-alt1
- 1.7.5
* Wed Mar 29 2017 Alexey Shabalin <shaba@altlinux.ru> 1.7.4-alt2
- fix build options
* Tue Mar 28 2017 Alexey Shabalin <shaba@altlinux.ru> 1.7.4-alt1
- 1.7.4
* Mon Mar 06 2017 Alexey Shabalin <shaba@altlinux.ru> 1.7.3-alt1
- 1.7.3
- do not build contrib/iprange
* Thu Jan 12 2017 Alexey Shabalin <shaba@altlinux.ru> 1.7.1-alt1
- 1.7.1
- build with lua support
* Thu Sep 29 2016 Alexey Shabalin <shaba@altlinux.ru> 1.6.9-alt1
- 1.6.9
* Thu Jun 30 2016 Lenar Shakirov <snejok@altlinux.ru> 1.6.5-alt2
- Pack haproxy-systemd-wrapper
* Tue Jun 14 2016 Alexey Shabalin <shaba@altlinux.ru> 1.6.5-alt1
- 1.6.5
* Wed Oct 21 2015 Alexey Shabalin <shaba@altlinux.ru> 1.6.1-alt1
- 1.6.1
* Mon Oct 19 2015 Alexey Shabalin <shaba@altlinux.ru> 1.6.0-alt1
- 1.6.0
* Fri Aug 21 2015 Alexey Shabalin <shaba@altlinux.ru> 1.5.14-alt1
- 1.5.14
- run demon as _haproxy user
- update default config
- update init script
- add systemd unit
- build with libssl support
- build with zlib support
* Fri Mar 16 2012 Victor Forsiuk <force@altlinux.org> 1.4.20-alt1
- 1.4.20
* Sun Jan 08 2012 Victor Forsiuk <force@altlinux.org> 1.4.19-alt1
- 1.4.19
* Sat Nov 26 2011 Victor Forsiuk <force@altlinux.org> 1.4.18-alt1
- 1.4.18
* Sat Aug 13 2011 Victor Forsiuk <force@altlinux.org> 1.4.16-alt1
- 1.4.16
* Sat Apr 09 2011 Victor Forsiuk <force@altlinux.org> 1.4.15-alt1
- 1.4.15
* Tue Mar 29 2011 Victor Forsiuk <force@altlinux.org> 1.4.14-alt1
- 1.4.14
* Wed Mar 23 2011 Victor Forsiuk <force@altlinux.org> 1.4.13-alt1
- 1.4.13
- Build halog (log statistics reporter).
- Enable transparent proxy and splice(2).
* Fri Feb 11 2011 Victor Forsiuk <force@altlinux.org> 1.4.11-alt1
- 1.4.11
* Tue Dec 07 2010 Victor Forsiuk <force@altlinux.org> 1.4.10-alt2
- Fix expected user in init-script (Closes: #24570).
* Mon Dec 06 2010 Victor Forsiuk <force@altlinux.org> 1.4.10-alt1
- 1.4.10
* Sat Nov 06 2010 Victor Forsiuk <force@altlinux.org> 1.4.9-alt1
- 1.4.9
* Thu Jun 17 2010 Victor Forsiuk <force@altlinux.org> 1.4.8-alt1
- 1.4.8
* Wed Jun 09 2010 Victor Forsiuk <force@altlinux.org> 1.4.6-alt1
- 1.4.6
* Thu Apr 08 2010 Victor Forsiuk <force@altlinux.org> 1.4.4-alt1
- 1.4.4
* Tue Apr 06 2010 Victor Forsiuk <force@altlinux.org> 1.4.3-alt1
- 1.4.3
* Thu Mar 18 2010 Victor Forsiuk <force@altlinux.org> 1.4.2-alt1
- 1.4.2
* Tue Mar 09 2010 Victor Forsiuk <force@altlinux.org> 1.4.1-alt1
- 1.4.1
* Mon Mar 01 2010 Victor Forsiuk <force@altlinux.org> 1.4.0-alt1
- 1.4.0
* Tue Feb 16 2010 Victor Forsiuk <force@altlinux.org> 1.3.23-alt1
- 1.3.23
* Fri Oct 03 2008 Sergey Ivanov <seriv@altlinux.ru> 1.3.15.4-alt1
- Release 1.3.15.4
* Tue Jul 03 2007 Sergey Ivanov <seriv@altlinux.ru> 1.3.12-alt1
- Initial build using release 1.3.12 for Sisyphus