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: 808dd7884954553515757af6ad6dedb2
14 Source2: ldirectord.init
15 Patch0: %{name}-sh.patch
16 Patch1: %{name}-ipmi.patch
17 Patch2: %{name}-ac.patch
18 URL: http://linux-ha.org/
19 BuildRequires: OpenIPMI-devel >= 2.0.0
20 BuildRequires: autoconf
21 BuildRequires: automake
22 BuildRequires: gdbm-devel
23 BuildRequires: glib2-devel
24 BuildRequires: libnet-devel >= 1.1.0
25 BuildRequires: libltdl-devel
26 BuildRequires: libtool
27 BuildRequires: libuuid-devel
28 BuildRequires: libwrap-devel
29 BuildRequires: libxml2-devel
30 BuildRequires: net-snmp-devel >= 5.1
31 BuildRequires: perl-devel >= 1:5.8.1
32 BuildRequires: pkgconfig
33 BuildRequires: rpm-devel
34 BuildRequires: rpm-perlprov
35 BuildRequires: rpmbuild(macros) >= 1.202
36 BuildRequires: swig >= 1.3.19
38 Requires(pre): /bin/id
39 Requires(pre): /usr/bin/getgid
40 Requires(pre): /usr/sbin/groupadd
41 Requires(pre): /usr/sbin/useradd
42 Requires(post,preun): /sbin/chkconfig
43 Requires(post,postun): /sbin/ldconfig
44 Requires(postun): /usr/sbin/groupdel
45 Requires(postun): /usr/sbin/userdel
46 Requires: syslogdaemon
47 Provides: group(haclient)
48 Provides: user(hacluster)
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 heartbeat is a basic heartbeat subsystem for Linux-HA. It will run
53 scripts at initialization, and when machines go up or down. This
54 version will also perform IP address takeover using gratuitous ARPs.
55 It works correctly for a 2-node configuration, and is extensible to
56 larger configurations.
58 It implements the following kinds of heartbeats:
59 - Bidirectional Serial Rings ("raw" serial ports)
62 heartbeat es un sistema básico para Linux-HA. La función de este
63 software es ejecutar scripts en la inicialización y al apagar las
64 máquinas que lo utilizan.
67 heartbeat jest podstawowym podsystemem dla systemów o podwy¿szonej
68 dostêpno¶ci budowanych w oparciu o Linuksa. Zajmuje siê uruchamianiem
69 skryptów podczas startu i zamykania systemu. Ta wersja pakietu pozwala
70 na przejmowanie adresów IP. Oprogramowanie dzia³a poprawnie dla
71 konfiguracji sk³adaj±cej siê z 2 hostów, mo¿na je równie¿ stosowaæ do
72 bardziej skomplikowanych konfiguracji.
75 Summary: Provides an interface to Shoot The Other Node In The Head
76 Summary(pl): Interfejs do "odstrzelenia" drugiego wêz³a w klastrze
77 Group: Applications/System
80 Provides an interface to Shoot The Other Node In The Head.
82 %description stonith -l pl
83 STONITH (Shoot The Other Node In The Head) to interfejs s³u¿±cy do
84 "odstrzelenia" drugiego wêz³a w klastrze.
87 Summary: Monitor virtual services provided by LVS
88 Summary(pl): Demon monitoruj±cy wirtualne us³ugi dostarczane poprzez LVS
89 Group: Applications/System
91 Requires(post,preun): /sbin/chkconfig
94 %description ldirectord
95 ldirectord is a stand-alone daemon to monitor services of real
96 for virtual services provided by The Linux Virtual Server
97 (http://www.linuxvirtualserver.org/).
99 %description ldirectord -l pl
100 ldirectord to samodzielny demon monitoruj±cy rzeczywiste us³ugi dla
101 wirtualnych us³ug dostarczanych poprzez Linux Virtual Server
102 (http://www.linuxvirtualserver.org/).
105 Summary: Heartbeat developement header files and libraries
106 Summary(pl): Pliki nag³ówkowe i biblioteki heartbeat
107 Group: Development/Libraries
108 Requires: %{name} = %{version}-%{release}
111 Heartbeat developement header files and libraries.
113 %description devel -l pl
114 Pliki nag³ówkowe i biblioteki heartbeat.
117 Summary: Heartbeat static libraries
118 Summary(pl): Biblioteki statyczne heartbeat
119 Group: Development/Libraries
120 Requires: %{name}-devel = %{version}-%{release}
123 Heartbeat static libraries.
125 %description -l static
126 Biblioteki statyczne heartbeat.
128 %package -n perl-heartbeat
129 Summary: Perl binding for Heartbeat
130 Summary(pl): Dowi±zania Perla dla Heartbeata
131 Group: Development/Languages/Perl
132 Requires: %{name} = %{version}-%{release}
134 %description -n perl-heartbeat
135 Perl binding for Heartbeat.
137 %description -n perl-heartbeat -l pl
138 Dowi±zania Perla dla Heartbeata.
149 %{__libtoolize} --ltdl
157 --with-initdir=/etc/rc.d/init.d \
165 rm -rf $RPM_BUILD_ROOT
168 DESTDIR=$RPM_BUILD_ROOT
170 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
171 ln -sf %{_sbindir}/ldirectord $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
173 # plugins are lt_dlopened, but using *.so names, so *.la are not used
174 rm -f $RPM_BUILD_ROOT%{_libdir}/{heartbeat,pils,stonith}/plugins/*/*.{la,a}
176 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
177 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
179 > $RPM_BUILD_ROOT/etc/ha.d/haresources
180 echo -e "auth 2\n2 crc" > $RPM_BUILD_ROOT/etc/ha.d/authkeys
181 install doc/ha.cf $RPM_BUILD_ROOT/etc/ha.d
183 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
184 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
185 install ldirectord/ldirectord.cf $RPM_BUILD_ROOT%{_sysconfdir}/ha.d
188 rm -rf $RPM_BUILD_ROOT
191 %groupadd -g 60 haclient
192 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
196 /sbin/chkconfig --add heartbeat
199 Uninstall_PPP_hack() {
200 file2hack=/etc/ppp/ip-up.local
201 echo "NOTE: Restoring /$file2hack"
203 ed -s $file2hack <<-!EOF 2>/dev/null
210 if [ "$1" = "0" ]; then
211 /sbin/chkconfig --del heartbeat
212 if [ ! -x /etc/ppp/ip-up.heart ]; then
219 if [ "$1" = "0" ]; then
220 %userremove hacluster
221 %groupremove haclient
224 %post stonith -p /sbin/ldconfig
225 %postun stonith -p /sbin/ldconfig
228 %defattr(644,root,root,755)
229 %doc doc/{*.html,AUTHORS,apphbd.cf,authkeys,ha.cf,haresources,startstop}
230 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
231 %dir %{_libdir}/heartbeat
232 %dir %{_libdir}/heartbeat/cts
233 %attr(755,root,root) %{_libdir}/heartbeat/cts/*.py
234 %dir %{_libdir}/heartbeat/plugins
235 %dir %{_libdir}/heartbeat/plugins/*
236 %attr(755,root,root) %{_libdir}/heartbeat/plugins/*/*.so
237 %attr(755,root,root) %{_libdir}/heartbeat/[!cp]*
238 %attr(755,root,root) %{_libdir}/heartbeat/c[!t]*
239 %attr(755,root,root) %{_libdir}/heartbeat/p[!l]*
241 %dir %{_libdir}/pils/plugins
242 %dir %{_libdir}/pils/plugins/*
243 %attr(755,root,root) %{_libdir}/pils/plugins/*/*.so
244 %dir %{_sysconfdir}/ha.d
245 %attr(755,root,root) %{_sysconfdir}/ha.d/rc.d
246 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d
247 %{_sysconfdir}/ha.d/README.config
248 %attr(755,root,root) %{_sysconfdir}/ha.d/harc
249 %{_sysconfdir}/ha.d/shellfuncs
250 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/heartbeat
251 %attr(754,root,root) /etc/rc.d/init.d/heartbeat
252 %attr(755,root,root) %{_libdir}/ocf
253 %dir /var/lib/heartbeat
254 #%%attr(750,root,haclient) %dir /var/lib/heartbeat/api
255 #%%attr(1770,root,haclient) %dir /var/lib/heartbeat/casual
256 #%%attr(755,hacluster,haclient) %dir /var/lib/heartbeat/ccm
257 %attr(755,root,haclient) %dir /var/lib/heartbeat/ccm
258 #%%attr(755,root,haclient) %dir /var/lib/heartbeat/ckpt
259 #%%attr(600,root,root) /var/lib/heartbeat/fifo
261 %{_mandir}/man8/[a-h]*.8*
262 /var/lib/heartbeat/cores
263 %attr(755,root,root) %{_bindir}/cl*
264 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/haresources
265 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/authkeys
266 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ha.cf
267 %{_datadir}/snmp/mibs/*mib
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_libdir}/libstonith.so.*.*.*
272 %dir %{_libdir}/stonith
273 %dir %{_libdir}/stonith/plugins
274 %dir %{_libdir}/stonith/plugins/external
275 %dir %{_libdir}/stonith/plugins/stonith2
276 %attr(755,root,root) %{_libdir}/stonith/plugins/*/*
277 %attr(755,root,root) %{_sbindir}/meatclient
278 %attr(755,root,root) %{_sbindir}/stonith
279 %{_mandir}/man8/stonith.8*
280 %{_mandir}/man8/meatclient.8*
283 %defattr(644,root,root,755)
284 %dir %{_sysconfdir}/ha.d/conf
285 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ldirectord.cf
286 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/ldirectord
287 %attr(754,root,root) /etc/rc.d/init.d/ldirectord
288 %attr(755,root,root) %{_sbindir}/*ldirectord*
289 %{_mandir}/man8/*ldirectord*.8*
292 %defattr(644,root,root,755)
297 %defattr(644,root,root,755)
300 %files -n perl-heartbeat
301 %defattr(644,root,root,755)
302 %{perl_vendorarch}/heartbeat
303 %dir %{perl_vendorarch}/auto/heartbeat
304 %dir %{perl_vendorarch}/auto/heartbeat/cl_raw
305 %{perl_vendorarch}/auto/heartbeat/cl_raw/cl_raw.bs
306 %attr(755,root,root) %{perl_vendorarch}/auto/heartbeat/cl_raw/cl_raw.so
307 %{_mandir}/man3/heartbeat::*.3pm*