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