2 # - merge mibs supackage from 2.1 branch
3 # - cleanup deps, users for 3.x
4 # - fixup deps, inner deps, think of subpackages, ugprade path from 2.1
6 %include /usr/lib/rpm/macros.perl
7 Summary: Heartbeat - subsystem for High-Availability Linux
8 Summary(es.UTF-8): Subsistema heartbeat para Linux "High-Availability"
9 Summary(pl.UTF-8): Podsystem heartbeat dla systemów o podwyższonej niezawodności
10 Summary(pt_BR.UTF-8): Implementa sistema de monitoração (heartbeats) visando Alta Disponibilidade
15 Group: Networking/Daemons
16 Source0: http://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/STABLE-%{version}.tar.bz2
17 # Source0-md5: f8686abde8722c42265c6d84fbe3d3bf
19 Source2: %{name}.tmpfiles
20 Patch0: %{name}-type_mismatch.patch
21 Patch1: %{name}-ac.patch
22 Patch2: %{name}-libs.patch
23 Patch3: %{name}-tls.patch
24 Patch4: %{name}-ucast.patch
25 URL: http://www.linux-ha.org/Heartbeat
26 BuildRequires: OpenIPMI-devel >= 2.0.3
27 BuildRequires: autoconf
28 BuildRequires: automake
29 BuildRequires: cluster-glue-libs-devel
30 BuildRequires: docbook-dtd44-xml
31 BuildRequires: docbook-style-xsl
32 BuildRequires: gdbm-devel
33 BuildRequires: glib2-devel
34 BuildRequires: glibc-misc
35 BuildRequires: gnutls-devel
36 BuildRequires: libltdl-devel
37 BuildRequires: libnet-devel >= 1.1.0
38 BuildRequires: libnl-devel
39 BuildRequires: libtool
40 BuildRequires: libuuid-devel
41 BuildRequires: libwrap-devel
42 BuildRequires: libxml2-devel
43 BuildRequires: libxslt-progs
44 BuildRequires: lm_sensors-devel
45 BuildRequires: ncurses-devel >= 5.4
46 BuildRequires: net-snmp-devel >= 5.1
47 BuildRequires: pam-devel
48 BuildRequires: pkgconfig
49 BuildRequires: python-devel
50 BuildRequires: rpm-perlprov
51 BuildRequires: rpm-pythonprov
52 BuildRequires: rpmbuild(macros) >= 1.268
53 BuildRequires: swig-perl >= 1.3.25
54 BuildRequires: swig-python >= 1.3.25
55 Requires: %{name}-libs = %{version}-%{release}
56 Requires: cluster-glue
57 Requires: psmisc >= 22.5-2
59 Requires: resource-agents >= 3.9.2-2
60 Requires: syslogdaemon
63 Obsoletes: perl-heartbeat
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 %define specflags -fgnu89-inline
67 %define filterout_ld -Wl,--as-needed
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.
76 It implements the following kinds of heartbeats:
77 - Bidirectional Serial Rings ("raw" serial ports)
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.
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.
93 Summary: Heartbeat libraries
94 Summary(pl.UTF-8): Biblioteki heartbeat
96 Conflicts: heartbeat < 2.99.2-0.1
101 %description libs -l pl.UTF-8
102 Biblioteki heartbeat.
105 Summary: Heartbeat developement header files and libraries
106 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki heartbeat
107 Group: Development/Libraries
108 Requires: %{name}-libs = %{version}-%{release}
111 Heartbeat developement header files and libraries.
113 %description devel -l pl.UTF-8
114 Pliki nagłówkowe i biblioteki heartbeat.
117 Summary: Heartbeat static libraries
118 Summary(pl.UTF-8): Biblioteki statyczne heartbeat
119 Group: Development/Libraries
120 Requires: %{name}-devel = %{version}-%{release}
123 Heartbeat static libraries.
125 %description static -l pl.UTF-8
126 Biblioteki statyczne heartbeat.
129 Summary: Cluster Test Suite
130 Summary(pl.UTF-8): Zestaw testów klastra
131 Group: Applications/System
132 Requires: %{name} = %{version}-%{release}
135 Cluster Test Suite for heartbeat.
137 %description cts -l pl.UTF-8
138 Zestaw testów klastra opartego o heartbeat.
141 %setup -qn Heartbeat-3-0-STABLE-%{version}
149 %{__libtoolize} --ltdl
155 --with-initdir=/etc/rc.d/init.d \
156 --docdir=%{_docdir}/%{name}-%{version} \
157 --enable-fatal-warnings=no \
160 --enable-snmp-subagent
165 rm -rf $RPM_BUILD_ROOT
166 %{__make} -j1 install \
167 DESTDIR=$RPM_BUILD_ROOT
169 install -d $RPM_BUILD_ROOT{/var/run/heartbeat,/usr/lib/tmpfiles.d}
171 # plugins are lt_dlopened, but using *.so names, so *.la are not used
172 rm -f $RPM_BUILD_ROOT%{_libdir}/heartbeat/plugins/*/*.{la,a}
174 rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
175 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
177 > $RPM_BUILD_ROOT/etc/ha.d/haresources
178 echo -e "auth 2\n2 crc" > $RPM_BUILD_ROOT/etc/ha.d/authkeys
179 cp -a doc/ha.cf $RPM_BUILD_ROOT/etc/ha.d
181 for tool in hb_addnode hb_delnode hb_standby hb_takeover; do
182 tool=%{_datadir}/%{name}/$tool
183 [ -x $RPM_BUILD_ROOT$tool ] || exit 1
184 ln -s $tool $RPM_BUILD_ROOT%{_bindir}
187 rm $RPM_BUILD_ROOT%{_datadir}/heartbeat/cts/README
189 sed -i -e's, /%{_lib}/libpam.la, /usr/%{_lib}/libpam.la,g' $RPM_BUILD_ROOT%{_libdir}/*.la
191 install %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
194 rm -rf $RPM_BUILD_ROOT
197 /sbin/chkconfig --add heartbeat
198 %service heartbeat restart
201 if [ "$1" = "0" ]; then
202 %service -q heartbeat stop
203 /sbin/chkconfig --del heartbeat
206 %post libs -p /sbin/ldconfig
207 %postun libs -p /sbin/ldconfig
210 %defattr(644,root,root,755)
211 %doc doc/{*.html,AUTHORS,apphbd.cf,authkeys,ha.cf,haresources,startstop}
212 %dir %{_libdir}/heartbeat
213 %dir %{_libdir}/heartbeat/plugins
214 %dir %{_libdir}/heartbeat/plugins/*
215 %attr(755,root,root) %{_libdir}/heartbeat/plugins/*/*.so
216 %attr(755,root,root) %{_libdir}/heartbeat/[!cp]*
217 %attr(755,root,root) %{_libdir}/heartbeat/c[!t]*
218 %dir %{_datadir}/heartbeat
219 %attr(755,root,root) %{_datadir}/heartbeat/BasicSanityCheck
220 %attr(755,root,root) %{_datadir}/heartbeat/ResourceManager
221 %attr(755,root,root) %{_datadir}/heartbeat/TestHeartbeatComm
222 %attr(755,root,root) %{_datadir}/heartbeat/ha_*
223 %attr(755,root,root) %{_datadir}/heartbeat/hb_*
224 %attr(755,root,root) %{_datadir}/heartbeat/mach_down
225 %attr(755,root,root) %{_datadir}/heartbeat/req_resource
226 %attr(755,root,root) %{_sysconfdir}/ha.d/rc.d
227 %{_sysconfdir}/ha.d/README.config
228 %attr(755,root,root) %{_sysconfdir}/ha.d/harc
229 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/*
230 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/heartbeat
231 %attr(754,root,root) /etc/rc.d/init.d/heartbeat
232 %dir /var/run/heartbeat
233 %attr(750,hacluster,haclient) %dir /var/run/heartbeat/ccm
234 %dir /var/lib/heartbeat
236 %{_mandir}/man8/[a-h]*.8*
237 %{_mandir}/man5/authkeys.5*
238 %{_mandir}/man5/ha.cf.5*
239 %attr(755,root,root) %{_bindir}/cl_respawn
240 %attr(2755,root,haclient) %{_bindir}/cl_status
241 %attr(755,root,root) %{_bindir}/hb_addnode
242 %attr(755,root,root) %{_bindir}/hb_delnode
243 %attr(755,root,root) %{_bindir}/hb_standby
244 %attr(755,root,root) %{_bindir}/hb_takeover
245 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ha.d/haresources
246 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ha.d/authkeys
247 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ha.d/ha.cf
248 /usr/lib/tmpfiles.d/%{name}.conf
251 %defattr(644,root,root,755)
252 %attr(755,root,root) %{_libdir}/libapphb.so.*.*.*
253 %attr(755,root,root) %ghost %{_libdir}/libapphb.so.2
254 %attr(755,root,root) %{_libdir}/libccmclient.so.*.*.*
255 %attr(755,root,root) %ghost %{_libdir}/libccmclient.so.1
256 %attr(755,root,root) %{_libdir}/libclm.so.*.*.*
257 %attr(755,root,root) %ghost %{_libdir}/libclm.so.1
258 %attr(755,root,root) %{_libdir}/libhbclient.so.*.*.*
259 %attr(755,root,root) %ghost %{_libdir}/libhbclient.so.1
262 %defattr(644,root,root,755)
263 %{_includedir}/heartbeat
266 %attr(755,root,root) %{_libdir}/libapphb.so
267 %attr(755,root,root) %{_libdir}/libccmclient.so
268 %attr(755,root,root) %{_libdir}/libclm.so
269 %attr(755,root,root) %{_libdir}/libhbclient.so
270 %{_libdir}/libapphb.la
271 %{_libdir}/libccmclient.la
273 %{_libdir}/libhbclient.la
276 %defattr(644,root,root,755)
277 %{_libdir}/libapphb.a
278 %{_libdir}/libccmclient.a
280 %{_libdir}/libhbclient.a
283 %defattr(644,root,root,755)
285 %dir %{_datadir}/heartbeat/cts
286 %attr(755,root,root) %{_datadir}/heartbeat/cts/*.py
287 %{_datadir}/heartbeat/cts/*.py[co]
288 %attr(755,root,root) %{_datadir}/heartbeat/cts/*.sh
289 %attr(755,root,root) %{_datadir}/heartbeat/cts/*Dummy