Репозиторий Sisyphus
Последнее обновление: 19 февраля 2018 | Пакетов: 18274 | Посещений: 10988440
en ru br
Репозитории ALT
S:1.8.4-alt1.S1
5.1: 1.3.15.4-alt1
4.1: 1.3.12-alt1
www.altlinux.org/Changes

Группа :: Система/Серверы
Пакет: haproxy

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%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: 1.8.4
Release: alt1%ubt

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

BuildRequires(pre): rpm-build-ubt
BuildRequires: libpcre2-devel zlib-devel libssl-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
# Recommended optimization option for x86 builds
regparm_opts=
%ifarch %ix86 x86_64
regparm_opts="USE_REGPARM=1"
%endif

%make_build CPU="generic" TARGET="linux2628" USE_OPENSSL=1 USE_PCRE2=1 USE_ZLIB=1 USE_NS=1 %{?_enable_lua:USE_LUA=1} \
${regparm_opts} PREFIX="%_prefix" ADDINC="$(pcre2-config --cflags)" CFLAGS="%optflags"

pushd contrib/halog
%make halog OPTIMIZE="%optflags"
popd

#pushd contrib/iprange

#%make iprange OPTIMIZE="%optflags"
#popd

pushd contrib/systemd
%make haproxy.service PREFIX="%_prefix"
popd

%install
%make_install install-bin DESTDIR=%buildroot PREFIX="%_prefix" TARGET="linux2628"
%make_install install-man DESTDIR=%buildroot PREFIX="%_prefix"

install -p -D -m 0644 %SOURCE1 %buildroot%haproxy_confdir/%name.cfg
install -D -m 0755 %SOURCE2 %buildroot%_initrddir/haproxy
install -p -D -m 0644 contrib/systemd/haproxy.service %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 contrib/halog/halog %buildroot%_bindir/halog
#install -p -m 0755 contrib/iprange/iprange %buildroot%_bindir/iprange
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 ROADMAP doc/architecture.txt doc/configuration.txt doc/intro.txt doc/management.txt doc/proxy-protocol.txt examples/*.cfg
%dir %haproxy_confdir
%config(noreplace) %haproxy_confdir/%name.cfg
%dir %haproxy_datadir
%haproxy_datadir/*
%_logrotatedir/%name
%_initrddir/%name
%_unitdir/%name.service
%_sbindir/*
%_bindir/*
%_man1dir/*
%attr(-,%haproxy_user,%haproxy_group) %dir %haproxy_home

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin