2 %include /usr/lib/rpm/macros.perl
3 Summary: Heartbeat - subsystem for High-Availability Linux
4 Summary(es.UTF-8): Subsistema heartbeat para Linux "High-Availability"
5 Summary(pl.UTF-8): Podsystem heartbeat dla systemów o podwyższonej niezawodności
6 Summary(pt_BR.UTF-8): Implementa sistema de monitoração (heartbeats) visando Alta Disponibilidade
11 Group: Applications/System
12 Source0: http://hg.linux-ha.org/dev/archive/beta-%{version}.tar.bz2
13 # Source0-md5: ef79dc10100451bfcbb55b4707d28eb1
15 Source2: ldirectord.init
16 Patch0: %{name}-ac.patch
17 Patch1: %{name}-no_ipmilan_test.patch
18 URL: http://www.linux-ha.org/Heartbeat
19 BuildRequires: OpenIPMI-devel >= 2.0.3
20 BuildRequires: autoconf
21 BuildRequires: automake
22 BuildRequires: gdbm-devel
23 BuildRequires: glib2-devel
24 BuildRequires: gnutls-devel
25 BuildRequires: libltdl-devel
26 BuildRequires: libnet-devel >= 1.1.0
27 BuildRequires: libnl-devel
28 BuildRequires: libtool
29 BuildRequires: libuuid-devel
30 BuildRequires: libwrap-devel
31 BuildRequires: libxml2-devel
32 BuildRequires: lm_sensors-devel
33 BuildRequires: ncurses-devel >= 5.4
34 BuildRequires: net-snmp-devel >= 5.1
35 BuildRequires: pam-devel
36 BuildRequires: pkgconfig
37 BuildRequires: python-devel
38 BuildRequires: rpm-perlprov
39 BuildRequires: rpm-pythonprov
40 BuildRequires: rpmbuild(macros) >= 1.268
41 BuildRequires: swig-perl >= 1.3.25
42 BuildRequires: swig-python >= 1.3.25
43 Requires(post,postun): /sbin/ldconfig
44 Requires(post,preun): /sbin/chkconfig
45 Requires(postun): /usr/sbin/groupdel
46 Requires(postun): /usr/sbin/userdel
47 Requires(pre): /bin/id
48 Requires(pre): /usr/bin/getgid
49 Requires(pre): /usr/sbin/groupadd
50 Requires(pre): /usr/sbin/useradd
51 Requires: psmisc >= 22.5-2
53 Requires: syslogdaemon
55 Provides: group(haclient)
56 Provides: user(hacluster)
58 Obsoletes: perl-heartbeat
59 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61 %define specflags -fgnu89-inline
62 %define filterout_ld -Wl,--as-needed
65 heartbeat is a basic heartbeat subsystem for Linux-HA. It will run
66 scripts at initialization, and when machines go up or down. This
67 version will also perform IP address takeover using gratuitous ARPs.
68 It works correctly for a 2-node configuration, and is extensible to
69 larger configurations.
71 It implements the following kinds of heartbeats:
72 - Bidirectional Serial Rings ("raw" serial ports)
74 %description -l es.UTF-8
75 heartbeat es un sistema básico para Linux-HA. La función de este
76 software es ejecutar scripts en la inicialización y al apagar las
77 máquinas que lo utilizan.
79 %description -l pl.UTF-8
80 heartbeat jest podstawowym podsystemem dla systemów o podwyższonej
81 dostępności budowanych w oparciu o Linuksa. Zajmuje się uruchamianiem
82 skryptów podczas startu i zamykania systemu. Ta wersja pakietu pozwala
83 na przejmowanie adresów IP. Oprogramowanie działa poprawnie dla
84 konfiguracji składającej się z 2 hostów, można je również stosować do
85 bardziej skomplikowanych konfiguracji.
88 Summary: Provides an interface to Shoot The Other Node In The Head
89 Summary(pl.UTF-8): Interfejs do "odstrzelenia" drugiego węzła w klastrze
90 Group: Applications/System
91 Requires: OpenIPMI >= 2.0.3
94 Provides an interface to Shoot The Other Node In The Head.
96 %description stonith -l pl.UTF-8
97 STONITH (Shoot The Other Node In The Head) to interfejs służący do
98 "odstrzelenia" drugiego węzła w klastrze.
101 Summary: Monitor virtual services provided by LVS
102 Summary(pl.UTF-8): Demon monitorujący wirtualne usługi dostarczane poprzez LVS
103 Group: Applications/System
104 Requires(post,preun): /sbin/chkconfig
108 %description ldirectord
109 ldirectord is a stand-alone daemon to monitor services of real for
110 virtual services provided by The Linux Virtual Server
111 (http://www.linuxvirtualserver.org/).
113 %description ldirectord -l pl.UTF-8
114 ldirectord to samodzielny demon monitorujący rzeczywiste usługi dla
115 wirtualnych usług dostarczanych poprzez Linux Virtual Server
116 (http://www.linuxvirtualserver.org/).
119 Summary: Heartbeat developement header files and libraries
120 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki heartbeat
121 Group: Development/Libraries
122 Requires: %{name} = %{version}-%{release}
125 Heartbeat developement header files and libraries.
127 %description devel -l pl.UTF-8
128 Pliki nagłówkowe i biblioteki heartbeat.
131 Summary: Heartbeat static libraries
132 Summary(pl.UTF-8): Biblioteki statyczne heartbeat
133 Group: Development/Libraries
134 Requires: %{name}-devel = %{version}-%{release}
137 Heartbeat static libraries.
139 %description static -l pl.UTF-8
140 Biblioteki statyczne heartbeat.
143 Summary: Cluster Test Suite
144 Summary(pl.UTF-8): Zestaw testów klastra
145 Group: Applications/System
146 Requires: %{name} = %{version}-%{release}
149 Cluster Test Suite for heartbeat.
151 %description cts -l pl.UTF-8
152 Zestaw testów klastra opartego o heartbeat.
155 %setup -qn Linux-HA-Dev-beta-%{version}
162 %{__libtoolize} --ltdl
170 IPTABLES=/usr/sbin/iptables \
174 --with-initdir=/etc/rc.d/init.d \
175 --enable-fatal-warnings=no \
178 --enable-snmp-subagent
183 rm -rf $RPM_BUILD_ROOT
186 DESTDIR=$RPM_BUILD_ROOT
187 install -d $RPM_BUILD_ROOT/var/run/heartbeat
189 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
190 ln -sf %{_sbindir}/ldirectord $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
192 # plugins are lt_dlopened, but using *.so names, so *.la are not used
193 rm -f $RPM_BUILD_ROOT%{_libdir}/{heartbeat,pils,stonith}/plugins/*/*.{la,a}
195 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
196 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
198 > $RPM_BUILD_ROOT/etc/ha.d/haresources
199 echo -e "auth 2\n2 crc" > $RPM_BUILD_ROOT/etc/ha.d/authkeys
200 install doc/ha.cf $RPM_BUILD_ROOT/etc/ha.d
202 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
203 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
204 install ldirectord/ldirectord.cf $RPM_BUILD_ROOT%{_sysconfdir}/ha.d
206 rm -f $RPM_BUILD_ROOT%{_datadir}/heartbeat/cts/README
208 for tool in ha_logger hb_addnode hb_delnode hb_standby hb_takeover; do
209 ln -sf %{_libdir}/heartbeat/$tool $RPM_BUILD_ROOT%{_bindir}
212 sed -i -e's, /%{_lib}/libpam.la, /usr/%{_lib}/libpam.la,g' $RPM_BUILD_ROOT%{_libdir}/*.la
215 rm -rf $RPM_BUILD_ROOT
218 %groupadd -g 60 haclient
219 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
223 /sbin/chkconfig --add heartbeat
224 %service %{name} restart
227 if [ "$1" = "0" ]; then
228 %service -q %{name} stop
229 /sbin/chkconfig --del heartbeat
234 if [ "$1" = "0" ]; then
235 %userremove hacluster
236 %groupremove haclient
239 %post stonith -p /sbin/ldconfig
240 %postun stonith -p /sbin/ldconfig
243 %defattr(644,root,root,755)
244 %doc doc/{*.html,AUTHORS,apphbd.cf,authkeys,ha.cf,logd.cf,haresources,startstop}
245 %attr(755,root,root) %{_libdir}/libapphb.so.*.*.*
246 %attr(755,root,root) %ghost %{_libdir}/libapphb.so.2
247 %attr(755,root,root) %{_libdir}/libccmclient.so.*.*.*
248 %attr(755,root,root) %ghost %{_libdir}/libccmclient.so.1
249 %attr(755,root,root) %{_libdir}/libclm.so.*.*.*
250 %attr(755,root,root) %ghost %{_libdir}/libclm.so.1
251 %attr(755,root,root) %{_libdir}/libhbclient.so.*.*.*
252 %attr(755,root,root) %ghost %{_libdir}/libhbclient.so.1
253 %attr(755,root,root) %{_libdir}/liblrm.so.*.*.*
254 %attr(755,root,root) %ghost %{_libdir}/liblrm.so.2
255 %attr(755,root,root) %{_libdir}/libpils.so.*.*.*
256 %attr(755,root,root) %ghost %{_libdir}/libpils.so.2
257 %attr(755,root,root) %{_libdir}/libplumb.so.*.*.*
258 %attr(755,root,root) %ghost %{_libdir}/libplumb.so.2
259 %attr(755,root,root) %{_libdir}/libplumbgpl.so.*.*.*
260 %attr(755,root,root) %ghost %{_libdir}/libplumbgpl.so.2
261 %attr(755,root,root) %{_libdir}/libstonith.so.*.*.*
262 %attr(755,root,root) %ghost %{_libdir}/libstonith.so.1
263 %dir %{_libdir}/heartbeat
264 %dir %{_libdir}/heartbeat/plugins
265 %dir %{_libdir}/heartbeat/plugins/*
266 %attr(755,root,root) %{_libdir}/heartbeat/plugins/*/*.so
267 %attr(755,root,root) %{_libdir}/heartbeat/[!cp]*
268 %attr(755,root,root) %{_libdir}/heartbeat/c[!t]*
270 %dir %{_libdir}/pils/plugins
271 %dir %{_libdir}/pils/plugins/*
272 %dir %{_datadir}/heartbeat
273 %attr(755,root,root) %{_datadir}/heartbeat/BasicSanityCheck
274 %attr(755,root,root) %{_datadir}/heartbeat/ResourceManager
275 %attr(755,root,root) %{_datadir}/heartbeat/TestHeartbeatComm
276 %attr(755,root,root) %{_datadir}/heartbeat/ha_*
277 %attr(755,root,root) %{_datadir}/heartbeat/hb_*
278 %attr(755,root,root) %{_datadir}/heartbeat/lrmtest
279 %attr(755,root,root) %{_datadir}/heartbeat/mach_down
280 %attr(755,root,root) %{_datadir}/heartbeat/req_resource
281 %attr(755,root,root) %{_datadir}/heartbeat/utillib.sh
282 %{_datadir}/heartbeat/ra-api-1.dtd
283 %attr(755,root,root) %{_libdir}/pils/plugins/*/*.so
284 %dir %{_sysconfdir}/ha.d
285 %attr(755,root,root) %{_sysconfdir}/ha.d/rc.d
286 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d
287 %exclude %{_sysconfdir}/ha.d/resource.d/ldirectord
288 %{_sysconfdir}/ha.d/README.config
289 %attr(755,root,root) %{_sysconfdir}/ha.d/harc
290 %{_sysconfdir}/ha.d/shellfuncs
291 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/heartbeat
292 %attr(754,root,root) /etc/rc.d/init.d/heartbeat
293 %attr(755,root,root) %{_prefix}/lib/ocf
294 %dir /var/run/heartbeat
295 %attr(750,hacluster,haclient) %dir /var/run/heartbeat/ccm
296 %dir /var/lib/heartbeat
297 %attr(770,root,haclient) %dir /var/lib/heartbeat/lrm
298 %attr(711,root,root) %dir /var/lib/heartbeat/cores
299 %attr(700,root,root) %dir /var/lib/heartbeat/cores/root
300 # we don't want any files owned by nobody
301 %attr(700,root,root) %dir /var/lib/heartbeat/cores/nobody
302 %attr(700,hacluster,root) %dir /var/lib/heartbeat/cores/hacluster
304 %{_mandir}/man8/[a-h]*.8*
305 %attr(755,root,root) %{_bindir}/cl_respawn
306 %attr(2755,root,haclient) %{_bindir}/cl_status
307 %attr(755,root,root) %{_bindir}/ha_logger
308 %attr(755,root,root) %{_bindir}/hb_addnode
309 %attr(755,root,root) %{_bindir}/hb_delnode
310 %attr(755,root,root) %{_bindir}/hb_standby
311 %attr(755,root,root) %{_bindir}/hb_takeover
312 %attr(755,root,root) %{_sbindir}/[a-i]*
313 %attr(755,root,root) %{_sbindir}/ocf-tester
314 %attr(755,root,root) %{_sbindir}/sbd
315 %attr(755,root,root) %{_sbindir}/sfex_init
316 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/haresources
317 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/authkeys
318 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ha.cf
321 %defattr(644,root,root,755)
322 %dir %{_libdir}/stonith
323 %dir %{_libdir}/stonith/plugins
324 %dir %{_libdir}/stonith/plugins/external
325 %dir %{_libdir}/stonith/plugins/stonith2
326 %attr(755,root,root) %{_libdir}/stonith/plugins/*/*
327 %attr(755,root,root) %{_libdir}/stonith/plugins/xen0-ha-dom0-stonith-helper
328 %attr(755,root,root) %{_sbindir}/meatclient
329 %attr(755,root,root) %{_sbindir}/stonith
330 %{_mandir}/man8/stonith.8*
331 %{_mandir}/man8/meatclient.8*
334 %defattr(644,root,root,755)
335 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ldirectord.cf
336 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/ldirectord
337 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/ldirectord
338 %attr(754,root,root) /etc/rc.d/init.d/ldirectord
339 %attr(755,root,root) %{_sbindir}/*ldirectord*
340 %{_mandir}/man8/*ldirectord*.8*
343 %defattr(644,root,root,755)
345 %attr(755,root,root) %{_libdir}/lib*.so
349 %defattr(644,root,root,755)
353 %defattr(644,root,root,755)
355 %{_libdir}/heartbeat/cts
356 %dir %{_datadir}/heartbeat/cts
357 %attr(755,root,root) %{_datadir}/heartbeat/cts/*.py
358 %{_datadir}/heartbeat/cts/*.py[co]
359 %attr(755,root,root) %{_datadir}/heartbeat/cts/*.sh
360 %attr(755,root,root) %{_datadir}/heartbeat/cts/*Dummy