]>
Commit | Line | Data |
---|---|---|
bfcde319 ER |
1 | # TODO |
2 | # - examples/seamless_reload.txt | |
03783eeb ER |
3 | # |
4 | # Conditional build: | |
36a3acc8 | 5 | %bcond_without lua # LUA support |
03783eeb ER |
6 | %bcond_without zlib # zlib support |
7 | %bcond_without pcre # pcre support | |
8 | %bcond_without ssl # SSL support | |
9 | ||
30276fc4 | 10 | Summary: haproxy - high-performance TCP/HTTP load balancer |
bb79c767 | 11 | Summary(pl.UTF-8): haproxy - wysoko wydajny load balancer TCP/HTTP |
30276fc4 | 12 | Name: haproxy |
99098730 ER |
13 | Version: 1.7.2 |
14 | Release: 1 | |
259c0035 | 15 | License: GPL v2 |
30276fc4 | 16 | Group: Networking/Daemons |
f132aea2 | 17 | Source0: http://www.haproxy.org/download/1.7/src/%{name}-%{version}.tar.gz |
99098730 | 18 | # Source0-md5: 7330b36f3764ebe409e9305803dc30e2 |
f5598710 ER |
19 | Source1: https://github.com/makinacorpus/haproxy-1.5/raw/master/debian/halog.1 |
20 | # Source1-md5: df4631f3cbc59893a2cd5e4364c9e755 | |
4ca49865 ER |
21 | Source2: https://github.com/janeczku/haproxy-acme-validation-plugin/raw/master/acme-http01-webroot.lua |
22 | # Source2-md5: b68e49e7f7a862d504a4ab335a7cee2a | |
f5598710 | 23 | Source3: %{name}.cfg |
f7c2305f | 24 | Source4: %{name}-ft.vim |
4ca49865 | 25 | Source5: %{name}.init |
8041b7cc | 26 | URL: http://www.haproxy.org/ |
36a3acc8 | 27 | %{?with_lua:BuildRequires: lua53-devel} |
03783eeb | 28 | %{?with_ssl:BuildRequires: openssl-devel} |
a3a75902 | 29 | %{?with_pcre:BuildRequires: pcre-devel} |
4ea16131 | 30 | BuildRequires: rpmbuild(macros) >= 1.268 |
03783eeb | 31 | %{?with_zlib:BuildRequires: zlib-devel} |
30276fc4 | 32 | Requires(post,preun): /sbin/chkconfig |
1f3ce518 ER |
33 | Requires(postun): /usr/sbin/groupdel |
34 | Requires(postun): /usr/sbin/userdel | |
35 | Requires(pre): /bin/id | |
36 | Requires(pre): /usr/bin/getgid | |
37 | Requires(pre): /usr/sbin/groupadd | |
38 | Requires(pre): /usr/sbin/useradd | |
4ea16131 | 39 | Requires: rc-scripts |
7b462bd6 | 40 | Requires: uname(release) >= 2.6 |
f1cbcb64 | 41 | Suggests: vim-syntax-haproxy |
1f3ce518 ER |
42 | Provides: group(haproxy) |
43 | Provides: user(haproxy) | |
deb1617b | 44 | Conflicts: rpm < 4.4.2-45 |
30276fc4 | 45 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
46 | ||
bec50f27 ER |
47 | %define _vimdatadir %{_datadir}/vim/vimfiles |
48 | ||
30276fc4 | 49 | %description |
50 | HA-Proxy is a TCP/HTTP reverse proxy which is particularly suited for | |
d2eb0ecd JB |
51 | high availability environments. Indeed, it can: |
52 | - route HTTP requests depending on statically assigned cookies; | |
30276fc4 | 53 | - spread the load among several servers while assuring server |
d2eb0ecd JB |
54 | persistence through the use of HTTP cookies; |
55 | - switch to backup servers in the event a main one fails; | |
56 | - accept connections to special ports dedicated to service monitoring; | |
57 | - stop accepting connections without breaking existing ones; | |
58 | - add/modify/delete HTTP headers both ways; | |
59 | - block requests matching a particular pattern. | |
30276fc4 | 60 | |
61 | It needs very little resource. Its event-driven architecture allows it | |
62 | to easily handle thousands of simultaneous connections on hundreds of | |
63 | instances without risking the system's stability. | |
64 | ||
e6ff3d12 JR |
65 | %description -l pl.UTF-8 |
66 | HA-Proxy to odwrotne proxy TCP/HTTP przeznaczone w szczególności dla | |
67 | środowisk o wysokiej dostępności. W rzeczywistości może: | |
68 | - przekazywać żądania HTTP w zależności od statycznie przypisanych | |
d2eb0ecd | 69 | ciasteczek; |
e6ff3d12 JR |
70 | - rozdzielać obciążenie między różne serwery zapewniając ciągłość |
71 | łączności z serwerem poprzez użycie ciasteczek HTTP; | |
72 | - przełączać na serwery zapasowe w przypadku, gdy główny zawiedzie; | |
73 | - przyjmować połączenia na specjalne porty przeznaczone do | |
74 | monitorowania usług; | |
75 | - zaprzestać przyjmowania połączeń bez zrywania istniejących; | |
76 | - dodawać/modyfikować/usuwać nagłówki HTTP w obie strony; | |
77 | - blokować żądania pasujące do określonego wzorca. | |
d2eb0ecd | 78 | |
e6ff3d12 JR |
79 | Wymaga bardzo niewiele zasobów. Jego sterowana zdarzeniami |
80 | architektura pozwala łatwo obsługiwać tysiące jednoczesnych połączeń | |
81 | do setek instancji bez ryzykowania stabilności systemu. | |
d2eb0ecd | 82 | |
d2088461 PG |
83 | %package -n vim-syntax-haproxy |
84 | Summary: Vim syntax: haproxy configuration files syntax | |
85 | Summary(pl.UTF-8): Opis składni dla Vima: podświetlanie składni dla plików konfiguracyjnych haproxy | |
86 | Group: Applications/Editors/Vim | |
5773bfca | 87 | Requires: vim-rt >= 4:6.3.058-3 |
b004b6f4 ER |
88 | %if "%{_rpmversion}" >= "5" |
89 | BuildArch: noarch | |
90 | %endif | |
d2088461 PG |
91 | |
92 | %description -n vim-syntax-haproxy | |
93 | This plugin provides syntax highlighting for haproxy configuration | |
94 | files. | |
95 | ||
bec50f27 | 96 | %description -n vim-syntax-haproxy -l pl.UTF-8 |
d2088461 PG |
97 | Ta wtyczka dostarcza podświetlanie składni dla plików konfiguracyjnych |
98 | haproxy. | |
99 | ||
30276fc4 | 100 | %prep |
101 | %setup -q | |
102 | ||
4ca49865 | 103 | cp -p %{SOURCE2} . |
8fa7926d ER |
104 | mv examples/haproxy.vim . |
105 | mv examples/errorfiles . | |
4ca49865 | 106 | mv doc/gpl.txt . |
1f3ce518 | 107 | |
30276fc4 | 108 | %build |
03783eeb ER |
109 | regparm_opts= |
110 | %ifarch %{ix86} %{x8664} | |
111 | regparm_opts="USE_REGPARM=1" | |
112 | %endif | |
113 | ||
114 | %{__make} $regparm_opts \ | |
115 | TARGET="linux2628" \ | |
116 | CPU="generic" \ | |
36a3acc8 | 117 | %{?with_lua:USE_LUA=1 LUA_LIB_NAME=lua5.3 LUA_INC=%{_includedir}/lua5.3} \ |
03783eeb ER |
118 | %{?with_ssl:USE_OPENSSL=1} \ |
119 | %{?with_pcre:USE_PCRE=1} \ | |
120 | %{?with_zlib:USE_ZLIB=1} \ | |
d8649183 | 121 | CC="%{__cc}" \ |
03783eeb ER |
122 | ADDINC="%{rpmcflags}" \ |
123 | ADDLIB="%{rpmldflags}" | |
30276fc4 | 124 | |
a3a75902 ER |
125 | %{__make} -C contrib/halog halog \ |
126 | CC="%{__cc}" \ | |
127 | OPTIMIZE="%{optflags}" | |
128 | ||
129 | %{__make} -C contrib/iprange iprange \ | |
130 | CC="%{__cc}" \ | |
131 | OPTIMIZE="%{optflags}" | |
132 | ||
30276fc4 | 133 | %install |
134 | rm -rf $RPM_BUILD_ROOT | |
4ca49865 | 135 | install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_datadir}/%{name}/lua,/etc/rc.d/init.d} \ |
cdd63d6d | 136 | $RPM_BUILD_ROOT%{_vimdatadir}/{syntax,ftdetect} |
30276fc4 | 137 | |
f7c2305f ER |
138 | %{__make} install-bin install-man \ |
139 | TARGET="linux2628" \ | |
140 | PREFIX=%{_prefix} \ | |
141 | DESTDIR=$RPM_BUILD_ROOT \ | |
142 | ||
a3a75902 ER |
143 | install -p contrib/halog/halog $RPM_BUILD_ROOT%{_sbindir}/halog |
144 | install -p contrib/iprange/iprange $RPM_BUILD_ROOT%{_sbindir}/iprange | |
4ca49865 | 145 | install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} |
f5598710 ER |
146 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1 |
147 | cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/haproxy.cfg | |
8041b7cc | 148 | cp -p haproxy.vim $RPM_BUILD_ROOT%{_vimdatadir}/syntax |
cdd63d6d | 149 | cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_vimdatadir}/ftdetect/haproxy.vim |
8fa7926d | 150 | cp -a errorfiles $RPM_BUILD_ROOT%{_datadir}/%{name} |
4ca49865 | 151 | cp -p acme-http01-webroot.lua $RPM_BUILD_ROOT%{_datadir}/%{name}/lua |
420085f1 | 152 | |
30276fc4 | 153 | %clean |
154 | rm -rf $RPM_BUILD_ROOT | |
155 | ||
1f3ce518 ER |
156 | %pre |
157 | %groupadd -g 185 %{name} | |
158 | %useradd -u 185 -d /usr/share/empty -g %{name} -c "haproxy user" %{name} | |
159 | ||
30276fc4 | 160 | %post |
161 | /sbin/chkconfig --add %{name} | |
4ea16131 | 162 | %service %{name} restart |
30276fc4 | 163 | |
164 | %preun | |
4ea16131 ER |
165 | if [ "$1" = "0" ]; then |
166 | %service %{name} stop | |
167 | /sbin/chkconfig --del %{name} | |
30276fc4 | 168 | fi |
30276fc4 | 169 | |
1f3ce518 ER |
170 | %postun |
171 | if [ "$1" = "0" ]; then | |
172 | %userremove %{name} | |
173 | %groupremove %{name} | |
174 | fi | |
175 | ||
30276fc4 | 176 | %files |
177 | %defattr(644,root,root,755) | |
8fa7926d | 178 | %doc CHANGELOG README README ROADMAP examples/* doc/* tests |
30276fc4 | 179 | %dir %{_sysconfdir}/%{name} |
1f3ce518 | 180 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/haproxy.cfg |
30276fc4 | 181 | %attr(754,root,root) /etc/rc.d/init.d/%{name} |
a3a75902 | 182 | %attr(755,root,root) %{_sbindir}/halog |
f7c2305f ER |
183 | %attr(755,root,root) %{_sbindir}/haproxy |
184 | %attr(755,root,root) %{_sbindir}/haproxy-systemd-wrapper | |
a3a75902 | 185 | %attr(755,root,root) %{_sbindir}/iprange |
f5598710 | 186 | %{_mandir}/man1/halog.1* |
f7c2305f | 187 | %{_mandir}/man1/haproxy.1* |
8fa7926d | 188 | %{_datadir}/%{name} |
d2088461 PG |
189 | |
190 | %files -n vim-syntax-haproxy | |
191 | %defattr(644,root,root,755) | |
1f3ce518 | 192 | %{_vimdatadir}/syntax/haproxy.vim |
cdd63d6d | 193 | %{_vimdatadir}/ftdetect/haproxy.vim |