1 %include /usr/lib/rpm/macros.perl
2 Summary: Heartbeat - subsystem for High-Availability Linux
3 Summary(es): Subsistema heartbeat para Linux "High-Availability"
4 Summary(pl): Podsystem heartbeat dla systemów o podwy¿szonej niezawodno¶ci
5 Summary(pt_BR): Implementa sistema de monitoração (heartbeats) visando Alta Disponibilidade
10 Group: Applications/System
11 Source0: http://linux-ha.org/download/%{name}-%{version}.tar.gz
12 # Source0-md5: 41233e5097c42341bf2162806d4cb99c
14 Source2: ldirectord.init
15 Patch0: %{name}-ac.patch
16 URL: http://linux-ha.org/
17 BuildRequires: OpenIPMI-devel >= 2.0.3
18 BuildRequires: autoconf
19 BuildRequires: automake
20 BuildRequires: gdbm-devel
21 BuildRequires: glib2-devel
22 BuildRequires: gnutls-devel
23 BuildRequires: libnet-devel >= 1.1.0
24 BuildRequires: libltdl-devel
25 BuildRequires: libtool
26 BuildRequires: libuuid-devel
27 BuildRequires: libwrap-devel
28 BuildRequires: libxml2-devel
29 BuildRequires: lm_sensors-devel
30 BuildRequires: net-snmp-devel >= 5.1
31 BuildRequires: pam-devel
32 BuildRequires: pkgconfig
33 BuildRequires: python-devel
34 BuildRequires: rpm-perlprov
35 BuildRequires: rpm-pythonprov
36 BuildRequires: rpmbuild(macros) >= 1.268
37 BuildRequires: swig-perl >= 1.3.25
38 BuildRequires: swig-python >= 1.3.25
39 Requires(pre): /bin/id
40 Requires(pre): /usr/bin/getgid
41 Requires(pre): /usr/sbin/groupadd
42 Requires(pre): /usr/sbin/useradd
43 Requires(post,preun): /sbin/chkconfig
44 Requires(post,postun): /sbin/ldconfig
45 Requires(postun): /usr/sbin/groupdel
46 Requires(postun): /usr/sbin/userdel
48 Requires: syslogdaemon
49 Provides: group(haclient)
50 Provides: user(hacluster)
52 Obsoletes: perl-heartbeat
53 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56 heartbeat is a basic heartbeat subsystem for Linux-HA. It will run
57 scripts at initialization, and when machines go up or down. This
58 version will also perform IP address takeover using gratuitous ARPs.
59 It works correctly for a 2-node configuration, and is extensible to
60 larger configurations.
62 It implements the following kinds of heartbeats:
63 - Bidirectional Serial Rings ("raw" serial ports)
66 heartbeat es un sistema básico para Linux-HA. La función de este
67 software es ejecutar scripts en la inicialización y al apagar las
68 máquinas que lo utilizan.
71 heartbeat jest podstawowym podsystemem dla systemów o podwy¿szonej
72 dostêpno¶ci budowanych w oparciu o Linuksa. Zajmuje siê uruchamianiem
73 skryptów podczas startu i zamykania systemu. Ta wersja pakietu pozwala
74 na przejmowanie adresów IP. Oprogramowanie dzia³a poprawnie dla
75 konfiguracji sk³adaj±cej siê z 2 hostów, mo¿na je równie¿ stosowaæ do
76 bardziej skomplikowanych konfiguracji.
79 Summary: Provides an interface to Shoot The Other Node In The Head
80 Summary(pl): Interfejs do "odstrzelenia" drugiego wêz³a w klastrze
81 Group: Applications/System
82 Requires: OpenIPMI >= 2.0.3
85 Provides an interface to Shoot The Other Node In The Head.
87 %description stonith -l pl
88 STONITH (Shoot The Other Node In The Head) to interfejs s³u¿±cy do
89 "odstrzelenia" drugiego wêz³a w klastrze.
92 Summary: Monitor virtual services provided by LVS
93 Summary(pl): Demon monitoruj±cy wirtualne us³ugi dostarczane poprzez LVS
94 Group: Applications/System
96 Requires(post,preun): /sbin/chkconfig
99 %description ldirectord
100 ldirectord is a stand-alone daemon to monitor services of real
101 for virtual services provided by The Linux Virtual Server
102 (http://www.linuxvirtualserver.org/).
104 %description ldirectord -l pl
105 ldirectord to samodzielny demon monitoruj±cy rzeczywiste us³ugi dla
106 wirtualnych us³ug dostarczanych poprzez Linux Virtual Server
107 (http://www.linuxvirtualserver.org/).
110 Summary: Heartbeat developement header files and libraries
111 Summary(pl): Pliki nag³ówkowe i biblioteki heartbeat
112 Group: Development/Libraries
113 Requires: %{name} = %{version}-%{release}
116 Heartbeat developement header files and libraries.
118 %description devel -l pl
119 Pliki nag³ówkowe i biblioteki heartbeat.
122 Summary: Heartbeat static libraries
123 Summary(pl): Biblioteki statyczne heartbeat
124 Group: Development/Libraries
125 Requires: %{name}-devel = %{version}-%{release}
128 Heartbeat static libraries.
130 %description static -l pl
131 Biblioteki statyczne heartbeat.
134 Summary: Cluster Test Suite
135 Summary(pl): Zestaw testów klastra
136 Group: Applications/System
137 Requires: %{name} = %{version}-%{release}
140 Cluster Test Suite for heartbeat.
142 %description cts -l pl
143 Zestaw testów klastra opartego o heartbeat.
152 %{__libtoolize} --ltdl
161 --with-initdir=/etc/rc.d/init.d \
165 --enable-snmp-subagent
170 rm -rf $RPM_BUILD_ROOT
173 DESTDIR=$RPM_BUILD_ROOT
174 install -d $RPM_BUILD_ROOT/var/run/heartbeat
176 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
177 ln -sf %{_sbindir}/ldirectord $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
179 # plugins are lt_dlopened, but using *.so names, so *.la are not used
180 rm -f $RPM_BUILD_ROOT%{_libdir}/{heartbeat,pils,stonith}/plugins/*/*.{la,a}
182 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
183 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
185 > $RPM_BUILD_ROOT/etc/ha.d/haresources
186 echo -e "auth 2\n2 crc" > $RPM_BUILD_ROOT/etc/ha.d/authkeys
187 install doc/ha.cf $RPM_BUILD_ROOT/etc/ha.d
189 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
190 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
191 install ldirectord/ldirectord.cf $RPM_BUILD_ROOT%{_sysconfdir}/ha.d
196 rm -rf $RPM_BUILD_ROOT
199 %groupadd -g 60 haclient
200 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
204 /sbin/chkconfig --add heartbeat
205 %service %{name} restart
208 if [ "$1" = "0" ]; then
209 %service -q %{name} stop
210 /sbin/chkconfig --del heartbeat
215 if [ "$1" = "0" ]; then
216 %userremove hacluster
217 %groupremove haclient
220 %post stonith -p /sbin/ldconfig
221 %postun stonith -p /sbin/ldconfig
223 %files -f haclient.lang
224 %defattr(644,root,root,755)
225 %doc doc/{*.html,AUTHORS,apphbd.cf,authkeys,ha.cf,haresources,startstop}
226 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
227 %dir %{_libdir}/heartbeat
228 %dir %{_libdir}/heartbeat/plugins
229 %dir %{_libdir}/heartbeat/plugins/*
230 %attr(755,root,root) %{_libdir}/heartbeat/plugins/*/*.so
231 %attr(755,root,root) %{_libdir}/heartbeat/[!cp]*
232 %attr(755,root,root) %{_libdir}/heartbeat/c[!t]*
233 %attr(755,root,root) %{_libdir}/heartbeat/p[!l]*
235 %dir %{_libdir}/pils/plugins
236 %dir %{_libdir}/pils/plugins/*
237 %attr(755,root,root) %{_libdir}/pils/plugins/*/*.so
238 %dir %{_sysconfdir}/ha.d
239 %attr(755,root,root) %{_sysconfdir}/ha.d/rc.d
240 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d
241 %{_sysconfdir}/ha.d/README.config
242 %attr(755,root,root) %{_sysconfdir}/ha.d/harc
243 %{_sysconfdir}/ha.d/shellfuncs
244 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/hbmgmtd
245 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/heartbeat
246 %attr(754,root,root) /etc/rc.d/init.d/heartbeat
247 %attr(755,root,root) %{_libdir}/ocf
248 %dir /var/lib/heartbeat
249 %dir /var/run/heartbeat
250 #%%attr(750,root,haclient) %dir /var/lib/heartbeat/api
251 #%%attr(1770,root,haclient) %dir /var/lib/heartbeat/casual
252 #%%attr(755,hacluster,haclient) %dir /var/lib/heartbeat/ccm
253 #%%attr(755,root,haclient) %dir /var/lib/heartbeat/ccm
254 #%%attr(755,root,haclient) %dir /var/lib/heartbeat/ckpt
255 #%%attr(600,root,root) /var/lib/heartbeat/fifo
257 %{_mandir}/man8/[a-h]*.8*
258 /var/lib/heartbeat/cores
259 %attr(755,root,root) %{_bindir}/cl_respawn
260 %attr(2755,root,haclient) %{_bindir}/cl_status
261 %attr(755,root,root) %{_sbindir}/[a-i]*
262 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/haresources
263 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/authkeys
264 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ha.cf
265 %{_datadir}/snmp/mibs/*mib
268 %defattr(644,root,root,755)
269 %attr(755,root,root) %{_libdir}/libstonith.so.*.*.*
270 %dir %{_libdir}/stonith
271 %dir %{_libdir}/stonith/plugins
272 %dir %{_libdir}/stonith/plugins/external
273 %dir %{_libdir}/stonith/plugins/stonith2
274 %attr(755,root,root) %{_libdir}/stonith/plugins/*/*
275 %attr(755,root,root) %{_sbindir}/meatclient
276 %attr(755,root,root) %{_sbindir}/stonith
277 %{_mandir}/man8/stonith.8*
278 %{_mandir}/man8/meatclient.8*
281 %defattr(644,root,root,755)
282 %dir %{_sysconfdir}/ha.d/conf
283 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ldirectord.cf
284 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/ldirectord
285 %attr(754,root,root) /etc/rc.d/init.d/ldirectord
286 %attr(755,root,root) %{_sbindir}/*ldirectord*
287 %{_mandir}/man8/*ldirectord*.8*
290 %defattr(644,root,root,755)
295 %defattr(644,root,root,755)
299 %defattr(644,root,root,755)
301 %dir %{_libdir}/heartbeat/cts
302 %attr(755,root,root) %{_libdir}/heartbeat/cts/*.py