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