]> git.pld-linux.org Git - packages/heartbeat.git/blame - heartbeat.spec
- release 6 (against libltdl-2.2.6-1)
[packages/heartbeat.git] / heartbeat.spec
CommitLineData
288e7c20
JK
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#
9b9d4954 7%include /usr/lib/rpm/macros.perl
dba30e8d 8Summary: Heartbeat - subsystem for High-Availability Linux
38bf5a19
ER
9Summary(es.UTF-8): Subsistema heartbeat para Linux "High-Availability"
10Summary(pl.UTF-8): Podsystem heartbeat dla systemów o podwyższonej niezawodności
11Summary(pt_BR.UTF-8): Implementa sistema de monitoração (heartbeats) visando Alta Disponibilidade
49245a93 12Name: heartbeat
48ddbfa1 13Version: 2.1.3
1bb0f84b 14Release: 6
0149c089 15License: GPL v2+
dba30e8d 16Group: Applications/System
253e454e 17Source0: http://www.linux-ha.org/download/%{name}-%{version}.tar.gz
e8a24c40 18# Source0-md5: bca53530a3802f7677772323047405cd
80a56156 19Source1: %{name}.init
20Source2: ldirectord.init
43707702 21Patch0: %{name}-ac.patch
288e7c20 22Patch1: %{name}-no_ipmilan_test.patch
253e454e 23URL: http://www.linux-ha.org/Heartbeat
9b9d4954 24BuildRequires: OpenIPMI-devel >= 2.0.3
be5c114d
JB
25BuildRequires: autoconf
26BuildRequires: automake
80a56156 27BuildRequires: gdbm-devel
28BuildRequires: glib2-devel
e4375587 29BuildRequires: gnutls-devel
be5c114d 30BuildRequires: libltdl-devel
8c7f88c8 31BuildRequires: libnet-devel >= 1.1.0
be5c114d 32BuildRequires: libtool
80a56156 33BuildRequires: libuuid-devel
34BuildRequires: libwrap-devel
5cabf613 35BuildRequires: libxml2-devel
43707702 36BuildRequires: lm_sensors-devel
ecdd12e5 37BuildRequires: ncurses-devel >= 5.4
38cf68bf 38BuildRequires: net-snmp-devel >= 5.1
e4375587 39BuildRequires: pam-devel
80a56156 40BuildRequires: pkgconfig
e4375587 41BuildRequires: python-devel
9b9d4954 42BuildRequires: rpm-perlprov
43707702 43BuildRequires: rpm-pythonprov
89b00739 44BuildRequires: rpmbuild(macros) >= 1.268
1a1643fc 45BuildRequires: swig-perl >= 1.3.25
45cd814e 46BuildRequires: swig-python >= 1.3.25
8c7f88c8
ER
47Requires(post,postun): /sbin/ldconfig
48Requires(post,preun): /sbin/chkconfig
49Requires(postun): /usr/sbin/groupdel
50Requires(postun): /usr/sbin/userdel
2dbb1cca 51Requires(pre): /bin/id
7efcd267 52Requires(pre): /usr/bin/getgid
53Requires(pre): /usr/sbin/groupadd
2dbb1cca 54Requires(pre): /usr/sbin/useradd
d503e966 55Requires: psmisc >= 22.5-2
89b00739 56Requires: rc-scripts
4eef1bae 57Requires: syslogdaemon
5a6adc8b 58Provides: group(haclient)
2dbb1cca 59Provides: user(hacluster)
cb667f50
JB
60# disappeared
61Obsoletes: perl-heartbeat
c8d761f0 62BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
8c7f88c8
ER
63
64%define specflags -fgnu89-inline
65%define filterout_ld -Wl,--as-needed
814ecbcd 66
8060f5e4 67%description
49245a93
MP
68heartbeat is a basic heartbeat subsystem for Linux-HA. It will run
69scripts at initialization, and when machines go up or down. This
70version will also perform IP address takeover using gratuitous ARPs.
71It works correctly for a 2-node configuration, and is extensible to
72larger configurations.
8060f5e4 73
6585451e 74It implements the following kinds of heartbeats:
49245a93
MP
75 - Bidirectional Serial Rings ("raw" serial ports)
76
48caa1d6
JR
77%description -l es.UTF-8
78heartbeat es un sistema básico para Linux-HA. La función de este
79software es ejecutar scripts en la inicialización y al apagar las
80máquinas que lo utilizan.
81
82%description -l pl.UTF-8
83heartbeat jest podstawowym podsystemem dla systemów o podwyższonej
84dostępności budowanych w oparciu o Linuksa. Zajmuje się uruchamianiem
85skryptów podczas startu i zamykania systemu. Ta wersja pakietu pozwala
86na przejmowanie adresów IP. Oprogramowanie działa poprawnie dla
87konfiguracji składającej się z 2 hostów, można je również stosować do
49245a93 88bardziej skomplikowanych konfiguracji.
814ecbcd 89
80a56156 90%package stonith
ae97f5d3 91Summary: Provides an interface to Shoot The Other Node In The Head
38bf5a19 92Summary(pl.UTF-8): Interfejs do "odstrzelenia" drugiego węzła w klastrze
ae97f5d3 93Group: Applications/System
ed0906f5 94Requires: OpenIPMI >= 2.0.3
80a56156 95
96%description stonith
ae97f5d3
JB
97Provides an interface to Shoot The Other Node In The Head.
98
48caa1d6
JR
99%description stonith -l pl.UTF-8
100STONITH (Shoot The Other Node In The Head) to interfejs służący do
101"odstrzelenia" drugiego węzła w klastrze.
80a56156 102
103%package ldirectord
2dbb1cca 104Summary: Monitor virtual services provided by LVS
38bf5a19 105Summary(pl.UTF-8): Demon monitorujący wirtualne usługi dostarczane poprzez LVS
ae97f5d3 106Group: Applications/System
aa4f0c56 107Requires(post,preun): /sbin/chkconfig
80a56156 108Requires: ipvsadm
8c7f88c8 109Requires: rc-scripts
80a56156 110
111%description ldirectord
8c7f88c8
ER
112ldirectord is a stand-alone daemon to monitor services of real for
113virtual services provided by The Linux Virtual Server
2dbb1cca 114(http://www.linuxvirtualserver.org/).
80a56156 115
48caa1d6
JR
116%description ldirectord -l pl.UTF-8
117ldirectord to samodzielny demon monitorujący rzeczywiste usługi dla
118wirtualnych usług dostarczanych poprzez Linux Virtual Server
931cb2c1
JB
119(http://www.linuxvirtualserver.org/).
120
80a56156 121%package devel
2dbb1cca 122Summary: Heartbeat developement header files and libraries
38bf5a19 123Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki heartbeat
ae97f5d3
JB
124Group: Development/Libraries
125Requires: %{name} = %{version}-%{release}
80a56156 126
127%description devel
2dbb1cca 128Heartbeat developement header files and libraries.
ae97f5d3 129
48caa1d6
JR
130%description devel -l pl.UTF-8
131Pliki nagłówkowe i biblioteki heartbeat.
80a56156 132
133%package static
2dbb1cca 134Summary: Heartbeat static libraries
38bf5a19 135Summary(pl.UTF-8): Biblioteki statyczne heartbeat
ae97f5d3
JB
136Group: Development/Libraries
137Requires: %{name}-devel = %{version}-%{release}
138
80a56156 139%description static
2dbb1cca 140Heartbeat static libraries.
80a56156 141
48caa1d6 142%description static -l pl.UTF-8
2dbb1cca 143Biblioteki statyczne heartbeat.
dba30e8d 144
9b9d4954 145%package cts
146Summary: Cluster Test Suite
38bf5a19 147Summary(pl.UTF-8): Zestaw testów klastra
9b9d4954 148Group: Applications/System
149Requires: %{name} = %{version}-%{release}
150
151%description cts
152Cluster Test Suite for heartbeat.
153
48caa1d6
JR
154%description cts -l pl.UTF-8
155Zestaw testów klastra opartego o heartbeat.
9b9d4954 156
288e7c20
JK
157%package gui
158Summary: Heartbeat GUI
159Summary(pl.UTF-8): Graficzny interfejs użytkownika dla heartbeat
160Group: Applications/System
161Requires: %{name} = %{version}-%{release}
162
163%description gui
164Graphical user interface for heartbeat.
165
166%description gui -l pl.UTF-8
167Graficzny interfejs użytkownika dla heartbeat.
168
6585451e 169%prep
347cfe3d 170%setup -q
38cf68bf 171%patch0 -p1
69a12e93 172%patch1 -p1
b8ab022e 173
be5c114d
JB
174rm -rf libltdl
175
6585451e 176%build
be5c114d
JB
177%{__libtoolize} --ltdl
178%{__aclocal}
179%{__autoconf}
180%{__automake}
181%configure \
69a12e93 182 FSCK=/sbin/fsck \
f39e1b28 183 FUSER=/bin/fuser \
69a12e93 184 IPTABLES=/usr/sbin/iptables \
9b9d4954 185 MAILCMD=/bin/mail \
80a56156 186 MOUNT=/bin/mount \
69a12e93 187 PING=/bin/ping \
80a56156 188 --with-initdir=/etc/rc.d/init.d \
253e454e 189 --enable-fatal-warnings=no \
80a56156 190 --enable-crm \
e4375587
JB
191 --enable-lrm \
192 --enable-mgmt \
43707702 193 --enable-snmp-subagent
be5c114d 194
49245a93 195%{__make}
dba30e8d 196
814ecbcd 197%install
49245a93 198rm -rf $RPM_BUILD_ROOT
be5c114d
JB
199
200%{__make} install \
201 DESTDIR=$RPM_BUILD_ROOT
9b9d4954 202install -d $RPM_BUILD_ROOT/var/run/heartbeat
78882913
PG
203
204rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
205ln -sf %{_sbindir}/ldirectord $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord
814ecbcd 206
84d8fd23
JB
207# plugins are lt_dlopened, but using *.so names, so *.la are not used
208rm -f $RPM_BUILD_ROOT%{_libdir}/{heartbeat,pils,stonith}/plugins/*/*.{la,a}
814ecbcd 209
80a56156 210rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
211install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
212
213> $RPM_BUILD_ROOT/etc/ha.d/haresources
214echo -e "auth 2\n2 crc" > $RPM_BUILD_ROOT/etc/ha.d/authkeys
215install doc/ha.cf $RPM_BUILD_ROOT/etc/ha.d
216
217rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
218install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord
219install ldirectord/ldirectord.cf $RPM_BUILD_ROOT%{_sysconfdir}/ha.d
220
288e7c20
JK
221rm -f $RPM_BUILD_ROOT%{_datadir}/heartbeat/cts/README
222
223for tool in ha_logger hb_addnode hb_delnode hb_standby hb_takeover; do
8c7f88c8 224 ln -sf %{_libdir}/heartbeat/$tool $RPM_BUILD_ROOT%{_bindir}
288e7c20
JK
225done
226
227sed -i -e's, /%{_lib}/libpam.la, /usr/%{_lib}/libpam.la,g' $RPM_BUILD_ROOT%{_libdir}/*.la
228
45cd814e
JB
229%find_lang haclient
230
6585451e 231%clean
6585451e 232rm -rf $RPM_BUILD_ROOT
6585451e 233
7f78f119 234%pre
e64246bf 235%groupadd -g 60 haclient
80a56156 236%useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
7f78f119 237
dba30e8d 238%post
84d8fd23 239/sbin/ldconfig
dba30e8d 240/sbin/chkconfig --add heartbeat
89b00739 241%service %{name} restart
6585451e 242
6585451e 243%preun
dba30e8d 244if [ "$1" = "0" ]; then
89b00739 245 %service -q %{name} stop
dba30e8d 246 /sbin/chkconfig --del heartbeat
6585451e 247fi
dba30e8d 248
7f78f119 249%postun
84d8fd23 250/sbin/ldconfig
7f78f119 251if [ "$1" = "0" ]; then
2dbb1cca 252 %userremove hacluster
5a6adc8b 253 %groupremove haclient
7f78f119 254fi
255
ae97f5d3
JB
256%post stonith -p /sbin/ldconfig
257%postun stonith -p /sbin/ldconfig
258
45cd814e 259%files -f haclient.lang
78882913 260%defattr(644,root,root,755)
48ddbfa1 261%doc doc/{*.html,AUTHORS,apphbd.cf,authkeys,ha.cf,logd.cf,haresources,startstop}
253e454e
ER
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
84d8fd23 304%dir %{_libdir}/heartbeat
84d8fd23
JB
305%dir %{_libdir}/heartbeat/plugins
306%dir %{_libdir}/heartbeat/plugins/*
307%attr(755,root,root) %{_libdir}/heartbeat/plugins/*/*.so
931cb2c1
JB
308%attr(755,root,root) %{_libdir}/heartbeat/[!cp]*
309%attr(755,root,root) %{_libdir}/heartbeat/c[!t]*
38cf68bf 310%attr(755,root,root) %{_libdir}/heartbeat/p[!l]*
84d8fd23
JB
311%dir %{_libdir}/pils
312%dir %{_libdir}/pils/plugins
313%dir %{_libdir}/pils/plugins/*
288e7c20
JK
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
48ddbfa1 324%attr(755,root,root) %{_datadir}/heartbeat/utillib.sh
288e7c20 325%{_datadir}/heartbeat/crm.dtd
84d8fd23 326%attr(755,root,root) %{_libdir}/pils/plugins/*/*.so
84d8fd23 327%dir %{_sysconfdir}/ha.d
84d8fd23
JB
328%attr(755,root,root) %{_sysconfdir}/ha.d/rc.d
329%attr(755,root,root) %{_sysconfdir}/ha.d/resource.d
288e7c20 330%exclude %{_sysconfdir}/ha.d/resource.d/ldirectord
84d8fd23
JB
331%{_sysconfdir}/ha.d/README.config
332%attr(755,root,root) %{_sysconfdir}/ha.d/harc
333%{_sysconfdir}/ha.d/shellfuncs
45cd814e 334%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/hbmgmtd
80a56156 335%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/heartbeat
84d8fd23 336%attr(754,root,root) /etc/rc.d/init.d/heartbeat
ecdd12e5 337%attr(755,root,root) %{_prefix}/lib/ocf
9b9d4954 338%dir /var/run/heartbeat
288e7c20
JK
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
80a56156 352%{_mandir}/man1/*.1*
2dbb1cca 353%{_mandir}/man8/[a-h]*.8*
d2309f7c
JB
354%attr(755,root,root) %{_bindir}/cl_respawn
355%attr(2755,root,haclient) %{_bindir}/cl_status
288e7c20
JK
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
89b00739 361%attr(755,root,root) %{_sbindir}/[a-i]*
288e7c20 362%attr(755,root,root) %{_sbindir}/ptest
ecdd12e5 363%attr(755,root,root) %{_sbindir}/ocf-tester
80a56156 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
2dbb1cca 366%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ha.cf
367%{_datadir}/snmp/mibs/*mib
80a56156 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
2dbb1cca 375%attr(755,root,root) %{_libdir}/stonith/plugins/*/*
80a56156 376%attr(755,root,root) %{_sbindir}/meatclient
377%attr(755,root,root) %{_sbindir}/stonith
288e7c20
JK
378%dir %{_datadir}/heartbeat/stonithdtest
379%attr(755,root,root) %{_datadir}/heartbeat/stonithdtest/STONITHDBasicSanityCheck
931cb2c1
JB
380%{_mandir}/man8/stonith.8*
381%{_mandir}/man8/meatclient.8*
80a56156 382
383%files ldirectord
384%defattr(644,root,root,755)
80a56156 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
288e7c20 387%attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/ldirectord
80a56156 388%attr(754,root,root) /etc/rc.d/init.d/ldirectord
389%attr(755,root,root) %{_sbindir}/*ldirectord*
ae97f5d3 390%{_mandir}/man8/*ldirectord*.8*
80a56156 391
392%files devel
393%defattr(644,root,root,755)
ae97f5d3 394%{_includedir}/*
253e454e 395%attr(755,root,root) %{_libdir}/lib*.so
80a56156 396%{_libdir}/*.la
931cb2c1 397
38cf68bf
JB
398%files static
399%defattr(644,root,root,755)
400%{_libdir}/*.a
401
9b9d4954 402%files cts
403%defattr(644,root,root,755)
404%doc cts/README
288e7c20
JK
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%{_libdir}/heartbeat-gui/*.a
417%{_libdir}/heartbeat-gui/*.la
418%attr(755,root,root) %{_libdir}/heartbeat-gui/*.py
419%dir %{_datadir}/heartbeat-gui
420%{_datadir}/heartbeat-gui/*.png
421%attr(755,root,root) %{_datadir}/heartbeat-gui/*.py
422%{_datadir}/heartbeat-gui/haclient.glade
This page took 0.113243 seconds and 4 git commands to generate.