]> git.pld-linux.org Git - packages/heartbeat.git/blob - heartbeat.spec
- Version: 2.1.4 (the last one with CRM and Stonith included)
[packages/heartbeat.git] / heartbeat.spec
1 #
2 # TODO:
3 #   - think how to handle /etc/ha.d/haresources file, which is v1 config file
4 #   and should not exist if v2 configuration is enabled ("crm yes", default is
5 #   "no").
6 #
7 %include        /usr/lib/rpm/macros.perl
8 Summary:        Heartbeat - subsystem for High-Availability Linux
9 Summary(es.UTF-8):      Subsistema heartbeat para Linux "High-Availability"
10 Summary(pl.UTF-8):      Podsystem heartbeat dla systemów o podwyższonej niezawodności
11 Summary(pt_BR.UTF-8):   Implementa sistema de monitoração (heartbeats) visando Alta Disponibilidade
12 Name:           heartbeat
13 Version:        2.1.4
14 Release:        1
15 License:        GPL v2+
16 Group:          Applications/System
17 Source0:        http://hg.linux-ha.org/lha-2.1/archive/STABLE-%{version}.tar.bz2
18 # Source0-md5:  021dd61c78754ecedef94dae5cf922d0
19 Source1:        %{name}.init
20 Source2:        ldirectord.init
21 Patch0:         %{name}-ac.patch
22 Patch1:         %{name}-no_ipmilan_test.patch
23 URL:            http://www.linux-ha.org/Heartbeat
24 BuildRequires:  OpenIPMI-devel >= 2.0.3
25 BuildRequires:  autoconf
26 BuildRequires:  automake
27 BuildRequires:  gdbm-devel
28 BuildRequires:  glib2-devel
29 BuildRequires:  gnutls-devel
30 BuildRequires:  libltdl-devel
31 BuildRequires:  libnet-devel >= 1.1.0
32 BuildRequires:  libnl-devel
33 BuildRequires:  libtool
34 BuildRequires:  libuuid-devel
35 BuildRequires:  libwrap-devel
36 BuildRequires:  libxml2-devel
37 BuildRequires:  lm_sensors-devel
38 BuildRequires:  ncurses-devel >= 5.4
39 BuildRequires:  net-snmp-devel >= 5.1
40 BuildRequires:  pam-devel
41 BuildRequires:  pkgconfig
42 BuildRequires:  python-devel
43 BuildRequires:  rpm-perlprov
44 BuildRequires:  rpm-pythonprov
45 BuildRequires:  rpmbuild(macros) >= 1.268
46 BuildRequires:  swig-perl >= 1.3.25
47 BuildRequires:  swig-python >= 1.3.25
48 Requires(post,postun):  /sbin/ldconfig
49 Requires(post,preun):   /sbin/chkconfig
50 Requires(postun):       /usr/sbin/groupdel
51 Requires(postun):       /usr/sbin/userdel
52 Requires(pre):  /bin/id
53 Requires(pre):  /usr/bin/getgid
54 Requires(pre):  /usr/sbin/groupadd
55 Requires(pre):  /usr/sbin/useradd
56 Requires:       psmisc >= 22.5-2
57 Requires:       rc-scripts
58 Requires:       syslogdaemon
59 Requires:       which
60 Provides:       group(haclient)
61 Provides:       user(hacluster)
62 # disappeared
63 Obsoletes:      perl-heartbeat
64 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65
66 %define         specflags               -fgnu89-inline
67 %define         filterout_ld    -Wl,--as-needed
68
69 %description
70 heartbeat is a basic heartbeat subsystem for Linux-HA. It will run
71 scripts at initialization, and when machines go up or down. This
72 version will also perform IP address takeover using gratuitous ARPs.
73 It works correctly for a 2-node configuration, and is extensible to
74 larger configurations.
75
76 It implements the following kinds of heartbeats:
77  - Bidirectional Serial Rings ("raw" serial ports)
78
79 %description -l es.UTF-8
80 heartbeat es un sistema básico para Linux-HA. La función de este
81 software es ejecutar scripts en la inicialización y al apagar las
82 máquinas que lo utilizan.
83
84 %description -l pl.UTF-8
85 heartbeat jest podstawowym podsystemem dla systemów o podwyższonej
86 dostępności budowanych w oparciu o Linuksa. Zajmuje się uruchamianiem
87 skryptów podczas startu i zamykania systemu. Ta wersja pakietu pozwala
88 na przejmowanie adresów IP. Oprogramowanie działa poprawnie dla
89 konfiguracji składającej się z 2 hostów, można je również stosować do
90 bardziej skomplikowanych konfiguracji.
91
92 %package stonith
93 Summary:        Provides an interface to Shoot The Other Node In The Head
94 Summary(pl.UTF-8):      Interfejs do "odstrzelenia" drugiego węzła w klastrze
95 Group:          Applications/System
96 Requires:       OpenIPMI >= 2.0.3
97
98 %description stonith
99 Provides an interface to Shoot The Other Node In The Head.
100
101 %description stonith -l pl.UTF-8
102 STONITH (Shoot The Other Node In The Head) to interfejs służący do
103 "odstrzelenia" drugiego węzła w klastrze.
104
105 %package ldirectord
106 Summary:        Monitor virtual services provided by LVS
107 Summary(pl.UTF-8):      Demon monitorujący wirtualne usługi dostarczane poprzez LVS
108 Group:          Applications/System
109 Requires(post,preun):   /sbin/chkconfig
110 Requires:       ipvsadm
111 Requires:       rc-scripts
112
113 %description ldirectord
114 ldirectord is a stand-alone daemon to monitor services of real for
115 virtual services provided by The Linux Virtual Server
116 (http://www.linuxvirtualserver.org/).
117
118 %description ldirectord -l pl.UTF-8
119 ldirectord to samodzielny demon monitorujący rzeczywiste usługi dla
120 wirtualnych usług dostarczanych poprzez Linux Virtual Server
121 (http://www.linuxvirtualserver.org/).
122
123 %package devel
124 Summary:        Heartbeat developement header files and libraries
125 Summary(pl.UTF-8):      Pliki nagłówkowe i biblioteki heartbeat
126 Group:          Development/Libraries
127 Requires:       %{name} = %{version}-%{release}
128
129 %description devel
130 Heartbeat developement header files and libraries.
131
132 %description devel -l pl.UTF-8
133 Pliki nagłówkowe i biblioteki heartbeat.
134
135 %package static
136 Summary:        Heartbeat static libraries
137 Summary(pl.UTF-8):      Biblioteki statyczne heartbeat
138 Group:          Development/Libraries
139 Requires:       %{name}-devel = %{version}-%{release}
140
141 %description static
142 Heartbeat static libraries.
143
144 %description static -l pl.UTF-8
145 Biblioteki statyczne heartbeat.
146
147 %package cts
148 Summary:        Cluster Test Suite
149 Summary(pl.UTF-8):      Zestaw testów klastra
150 Group:          Applications/System
151 Requires:       %{name} = %{version}-%{release}
152
153 %description cts
154 Cluster Test Suite for heartbeat.
155
156 %description cts -l pl.UTF-8
157 Zestaw testów klastra opartego o heartbeat.
158
159 %package gui
160 Summary:        Heartbeat GUI
161 Summary(pl.UTF-8):      Graficzny interfejs użytkownika dla heartbeat
162 Group:          Applications/System
163 Requires:       %{name} = %{version}-%{release}
164
165 %description gui
166 Graphical user interface for heartbeat.
167
168 %description gui -l pl.UTF-8
169 Graficzny interfejs użytkownika dla heartbeat.
170
171 %prep
172 %setup -qn Heartbeat-STABLE-2-1-STABLE-%{version}
173 %patch0 -p1
174 %patch1 -p1
175
176 rm -rf libltdl
177
178 %build
179 %{__libtoolize} --ltdl
180 %{__aclocal}
181 %{__autoconf}
182 %{__autoheader}
183 %{__automake}
184 %configure \
185         FSCK=/sbin/fsck \
186         FUSER=/bin/fuser \
187         IPTABLES=/usr/sbin/iptables \
188         MAILCMD=/bin/mail \
189         MOUNT=/bin/mount \
190         PING=/bin/ping \
191         --with-initdir=/etc/rc.d/init.d \
192         --enable-fatal-warnings=no \
193         --enable-crm \
194         --enable-lrm \
195         --enable-mgmt \
196         --enable-snmp-subagent
197
198 %{__make}
199
200 %install
201 rm -rf $RPM_BUILD_ROOT
202
203 %{__make} install \
204         DESTDIR=$RPM_BUILD_ROOT
205 install -d $RPM_BUILD_ROOT/var/run/heartbeat
206
207 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
208 ln -sf %{_sbindir}/ldirectord $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
209
210 # plugins are lt_dlopened, but using *.so names, so *.la are not used
211 rm -f $RPM_BUILD_ROOT%{_libdir}/{heartbeat,pils,stonith}/plugins/*/*.{la,a}
212
213 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
214 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
215
216 > $RPM_BUILD_ROOT/etc/ha.d/haresources
217 echo -e "auth 2\n2 crc" > $RPM_BUILD_ROOT/etc/ha.d/authkeys
218 install doc/ha.cf $RPM_BUILD_ROOT/etc/ha.d
219
220 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
221 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
222 install ldirectord/ldirectord.cf $RPM_BUILD_ROOT%{_sysconfdir}/ha.d
223
224 rm -f $RPM_BUILD_ROOT%{_datadir}/heartbeat/cts/README
225
226 for tool in ha_logger hb_addnode hb_delnode hb_standby hb_takeover; do
227         ln -sf %{_libdir}/heartbeat/$tool $RPM_BUILD_ROOT%{_bindir}
228 done
229
230 sed -i -e's, /%{_lib}/libpam.la, /usr/%{_lib}/libpam.la,g' $RPM_BUILD_ROOT%{_libdir}/*.la
231
232 %find_lang haclient
233
234 %clean
235 rm -rf $RPM_BUILD_ROOT
236
237 %pre
238 %groupadd -g 60 haclient
239 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
240
241 %post
242 /sbin/ldconfig
243 /sbin/chkconfig --add heartbeat
244 %service %{name} restart
245
246 %preun
247 if [ "$1" = "0" ]; then
248         %service -q %{name} stop
249         /sbin/chkconfig --del heartbeat
250 fi
251
252 %postun
253 /sbin/ldconfig
254 if [ "$1" = "0" ]; then
255         %userremove hacluster
256         %groupremove haclient
257 fi
258
259 %post   stonith -p /sbin/ldconfig
260 %postun stonith -p /sbin/ldconfig
261
262 %files -f haclient.lang
263 %defattr(644,root,root,755)
264 %doc doc/{*.html,AUTHORS,apphbd.cf,authkeys,ha.cf,logd.cf,haresources,startstop}
265 %attr(755,root,root) %{_libdir}/libapphb.so.*.*.*
266 %attr(755,root,root) %ghost %{_libdir}/libapphb.so.0
267 %attr(755,root,root) %{_libdir}/libccmclient.so.*.*.*
268 %attr(755,root,root) %ghost %{_libdir}/libccmclient.so.1
269 %attr(755,root,root) %{_libdir}/libcib.so.*.*.*
270 %attr(755,root,root) %ghost %{_libdir}/libcib.so.1
271 %attr(755,root,root) %{_libdir}/libclm.so.*.*.*
272 %attr(755,root,root) %ghost %{_libdir}/libclm.so.1
273 %attr(755,root,root) %{_libdir}/libcrmcommon.so.*.*.*
274 %attr(755,root,root) %ghost %{_libdir}/libcrmcommon.so.1
275 %attr(755,root,root) %{_libdir}/libhbclient.so.*.*.*
276 %attr(755,root,root) %ghost %{_libdir}/libhbclient.so.1
277 %attr(755,root,root) %{_libdir}/libhbmgmt.so.*.*.*
278 %attr(755,root,root) %ghost %{_libdir}/libhbmgmt.so.0
279 %attr(755,root,root) %{_libdir}/libhbmgmtclient.so.*.*.*
280 %attr(755,root,root) %ghost %{_libdir}/libhbmgmtclient.so.0
281 %attr(755,root,root) %{_libdir}/libhbmgmtcommon.so.*.*.*
282 %attr(755,root,root) %ghost %{_libdir}/libhbmgmtcommon.so.0
283 %attr(755,root,root) %{_libdir}/libhbmgmttls.so.*.*.*
284 %attr(755,root,root) %ghost %{_libdir}/libhbmgmttls.so.0
285 %attr(755,root,root) %{_libdir}/liblrm.so.*.*.*
286 %attr(755,root,root) %ghost %{_libdir}/liblrm.so.0
287 %attr(755,root,root) %{_libdir}/libpe_rules.so.*.*.*
288 %attr(755,root,root) %ghost %{_libdir}/libpe_rules.so.2
289 %attr(755,root,root) %{_libdir}/libpe_status.so.*.*.*
290 %attr(755,root,root) %ghost %{_libdir}/libpe_status.so.2
291 %attr(755,root,root) %{_libdir}/libpengine.so.*.*.*
292 %attr(755,root,root) %ghost %{_libdir}/libpengine.so.3
293 %attr(755,root,root) %{_libdir}/libpils.so.*.*.*
294 %attr(755,root,root) %ghost %{_libdir}/libpils.so.1
295 %attr(755,root,root) %{_libdir}/libplumb.so.*.*.*
296 %attr(755,root,root) %ghost %{_libdir}/libplumb.so.1
297 %attr(755,root,root) %{_libdir}/libplumbgpl.so.*.*.*
298 %attr(755,root,root) %ghost %{_libdir}/libplumbgpl.so.1
299 %attr(755,root,root) %{_libdir}/librecoverymgr.so.*.*.*
300 %attr(755,root,root) %ghost %{_libdir}/librecoverymgr.so.1
301 %attr(755,root,root) %{_libdir}/libstonith.so.*.*.*
302 %attr(755,root,root) %ghost %{_libdir}/libstonith.so.1
303 %attr(755,root,root) %{_libdir}/libstonithd.so.*.*.*
304 %attr(755,root,root) %ghost %{_libdir}/libstonithd.so.0
305 %attr(755,root,root) %{_libdir}/libtransitioner.so.*.*.*
306 %attr(755,root,root) %ghost %{_libdir}/libtransitioner.so.1
307 %dir %{_libdir}/heartbeat
308 %dir %{_libdir}/heartbeat/plugins
309 %dir %{_libdir}/heartbeat/plugins/*
310 %attr(755,root,root) %{_libdir}/heartbeat/plugins/*/*.so
311 %attr(755,root,root) %{_libdir}/heartbeat/[!cp]*
312 %attr(755,root,root) %{_libdir}/heartbeat/c[!t]*
313 %attr(755,root,root) %{_libdir}/heartbeat/p[!l]*
314 %dir %{_libdir}/pils
315 %dir %{_libdir}/pils/plugins
316 %dir %{_libdir}/pils/plugins/*
317 %dir %{_datadir}/heartbeat
318 %attr(755,root,root) %{_datadir}/heartbeat/BasicSanityCheck
319 %attr(755,root,root) %{_datadir}/heartbeat/ResourceManager
320 %attr(755,root,root) %{_datadir}/heartbeat/SNMPAgentSanityCheck
321 %attr(755,root,root) %{_datadir}/heartbeat/TestHeartbeatComm
322 %attr(755,root,root) %{_datadir}/heartbeat/ha_*
323 %attr(755,root,root) %{_datadir}/heartbeat/hb_*
324 %attr(755,root,root) %{_datadir}/heartbeat/lrmtest
325 %attr(755,root,root) %{_datadir}/heartbeat/mach_down
326 %attr(755,root,root) %{_datadir}/heartbeat/req_resource
327 %attr(755,root,root) %{_datadir}/heartbeat/utillib.sh
328 %{_datadir}/heartbeat/crm.dtd
329 %{_datadir}/heartbeat/ra-api-1.dtd
330 %attr(755,root,root) %{_libdir}/pils/plugins/*/*.so
331 %dir %{_sysconfdir}/ha.d
332 %attr(755,root,root) %{_sysconfdir}/ha.d/rc.d
333 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d
334 %exclude %{_sysconfdir}/ha.d/resource.d/ldirectord
335 %{_sysconfdir}/ha.d/README.config
336 %attr(755,root,root) %{_sysconfdir}/ha.d/harc
337 %{_sysconfdir}/ha.d/shellfuncs
338 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/hbmgmtd
339 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/heartbeat
340 %attr(754,root,root) /etc/rc.d/init.d/heartbeat
341 %attr(755,root,root) %{_prefix}/lib/ocf
342 %dir /var/run/heartbeat
343 %attr(750,hacluster,haclient) %dir /var/run/heartbeat/ccm
344 %attr(750,hacluster,haclient) %dir /var/run/heartbeat/crm
345 %dir /var/lib/heartbeat
346 %attr(770,root,haclient) %dir /var/lib/heartbeat/lrm
347 %attr(770,root,haclient) %dir /var/lib/heartbeat/mgmt
348 %attr(750,hacluster,haclient) %dir /var/lib/heartbeat/pengine
349 %attr(750,hacluster,haclient) %dir /var/lib/heartbeat/crm
350 %attr(750,root,haclient) %dir /var/lib/heartbeat/fencing
351 %attr(711,root,root) %dir /var/lib/heartbeat/cores
352 %attr(700,root,root) %dir /var/lib/heartbeat/cores/root
353 # we don't want any files owned by nobody
354 %attr(700,root,root) %dir /var/lib/heartbeat/cores/nobody
355 %attr(700,hacluster,root) %dir /var/lib/heartbeat/cores/hacluster
356 %{_mandir}/man1/*.1*
357 %{_mandir}/man8/[a-h]*.8*
358 %attr(755,root,root) %{_bindir}/cl_respawn
359 %attr(2755,root,haclient) %{_bindir}/cl_status
360 %attr(755,root,root) %{_bindir}/ha_logger
361 %attr(755,root,root) %{_bindir}/hb_addnode
362 %attr(755,root,root) %{_bindir}/hb_delnode
363 %attr(755,root,root) %{_bindir}/hb_standby
364 %attr(755,root,root) %{_bindir}/hb_takeover
365 %attr(755,root,root) %{_sbindir}/[a-i]*
366 %attr(755,root,root) %{_sbindir}/ptest
367 %attr(755,root,root) %{_sbindir}/ocf-tester
368 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/haresources
369 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/authkeys
370 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ha.cf
371 %{_datadir}/snmp/mibs/*mib
372
373 %files stonith
374 %defattr(644,root,root,755)
375 %dir %{_libdir}/stonith
376 %dir %{_libdir}/stonith/plugins
377 %dir %{_libdir}/stonith/plugins/external
378 %dir %{_libdir}/stonith/plugins/stonith2
379 %attr(755,root,root) %{_libdir}/stonith/plugins/*/*
380 %attr(755,root,root) %{_libdir}/stonith/plugins/xen0-ha-dom0-stonith-helper
381 %attr(755,root,root) %{_sbindir}/meatclient
382 %attr(755,root,root) %{_sbindir}/stonith
383 %dir %{_datadir}/heartbeat/stonithdtest
384 %attr(755,root,root) %{_datadir}/heartbeat/stonithdtest/STONITHDBasicSanityCheck
385 %{_mandir}/man8/stonith.8*
386 %{_mandir}/man8/meatclient.8*
387
388 %files ldirectord
389 %defattr(644,root,root,755)
390 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ldirectord.cf
391 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/ldirectord
392 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/ldirectord
393 %attr(754,root,root) /etc/rc.d/init.d/ldirectord
394 %attr(755,root,root) %{_sbindir}/*ldirectord*
395 %{_mandir}/man8/*ldirectord*.8*
396
397 %files devel
398 %defattr(644,root,root,755)
399 %{_includedir}/*
400 %attr(755,root,root) %{_libdir}/lib*.so
401 %{_libdir}/*.la
402
403 %files static
404 %defattr(644,root,root,755)
405 %{_libdir}/*.a
406
407 %files cts
408 %defattr(644,root,root,755)
409 %doc cts/README
410 %{_libdir}/heartbeat/cts
411 %dir %{_datadir}/heartbeat/cts
412 %attr(755,root,root) %{_datadir}/heartbeat/cts/*.py
413 %{_datadir}/heartbeat/cts/*.py[co]
414 %attr(755,root,root) %{_datadir}/heartbeat/cts/*.sh
415 %attr(755,root,root) %{_datadir}/heartbeat/cts/*Dummy
416
417 %files gui
418 %defattr(644,root,root,755)
419 %attr(755,root,root) %{_bindir}/hb_gui
420 %dir %{_libdir}/heartbeat-gui
421 %attr(755,root,root) %{_libdir}/heartbeat-gui/*.so.*
422 %attr(755,root,root) %{_libdir}/heartbeat-gui/_pymgmt.so
423 %{_libdir}/heartbeat-gui/*.a
424 %{_libdir}/heartbeat-gui/*.la
425 %attr(755,root,root) %{_libdir}/heartbeat-gui/*.py
426 %dir %{_datadir}/heartbeat-gui
427 %{_datadir}/heartbeat-gui/*.png
428 %attr(755,root,root) %{_datadir}/heartbeat-gui/*.py
429 %{_datadir}/heartbeat-gui/haclient.glade
This page took 0.087794 seconds and 4 git commands to generate.