]> git.pld-linux.org Git - SPECS.git/blob - heartbeat.spec
SPECS updated Sun 1 Aug 15:50:02 CEST 2021
[SPECS.git] / heartbeat.spec
1 # TODO
2 # - merge mibs subpackage from 2.1 branch
3 # - cleanup deps, users for 3.x
4 # - fixup deps, inner deps, think of subpackages, ugprade path from 2.1
5 #
6 Summary:        Heartbeat - subsystem for High-Availability Linux
7 Summary(es.UTF-8):      Subsistema heartbeat para Linux "High-Availability"
8 Summary(pl.UTF-8):      Podsystem heartbeat dla systemów o podwyższonej niezawodności
9 Summary(pt_BR.UTF-8):   Implementa sistema de monitoração (heartbeats) visando Alta Disponibilidade
10 Name:           heartbeat
11 Version:        3.0.6
12 Release:        4
13 License:        GPL v2+
14 Group:          Networking/Daemons
15 Source0:        http://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/STABLE-%{version}.tar.bz2
16 # Source0-md5:  8a5e1fc2b44750c052d1007226a84dbe
17 Source1:        %{name}.init
18 Patch0:         %{name}-ac.patch
19 Patch1:         %{name}-libs.patch
20 Patch2:         %{name}-tls.patch
21 Patch3:         %{name}-tipc.patch
22 URL:            http://www.linux-ha.org/Heartbeat
23 BuildRequires:  autoconf >= 2.53
24 BuildRequires:  automake
25 BuildRequires:  bzip2-devel
26 BuildRequires:  cluster-glue-libs-devel
27 BuildRequires:  docbook-dtd44-xml
28 BuildRequires:  docbook-style-xsl
29 BuildRequires:  glib2-devel >= 2.0
30 BuildRequires:  glibc-misc
31 BuildRequires:  gnutls-devel
32 BuildRequires:  hbaapi-devel
33 BuildRequires:  libltdl-devel
34 BuildRequires:  libtool
35 BuildRequires:  libuuid-devel
36 BuildRequires:  libxslt-progs
37 BuildRequires:  ncurses-devel >= 5.4
38 BuildRequires:  pkgconfig
39 BuildRequires:  python
40 BuildRequires:  python-devel
41 BuildRequires:  rpm-pythonprov
42 BuildRequires:  rpmbuild(macros) >= 1.268
43 BuildRequires:  zlib-devel
44 Requires:       %{name}-libs = %{version}-%{release}
45 Requires:       cluster-glue
46 Requires:       psmisc >= 22.5-2
47 Requires:       rc-scripts
48 Requires:       resource-agents >= 3.9.2-2
49 Requires:       syslogdaemon
50 Requires:       which
51 # disappeared
52 Obsoletes:      perl-heartbeat
53 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54
55 %define         specflags       -fgnu89-inline
56
57 %description
58 heartbeat is a basic heartbeat subsystem for Linux-HA. It will run
59 scripts at initialization, and when machines go up or down. This
60 version will also perform IP address takeover using gratuitous ARPs.
61 It works correctly for a 2-node configuration, and is extensible to
62 larger configurations.
63
64 It implements the following kinds of heartbeats:
65  - Bidirectional Serial Rings ("raw" serial ports)
66
67 %description -l es.UTF-8
68 heartbeat es un sistema básico para Linux-HA. La función de este
69 software es ejecutar scripts en la inicialización y al apagar las
70 máquinas que lo utilizan.
71
72 %description -l pl.UTF-8
73 heartbeat jest podstawowym podsystemem dla systemów o podwyższonej
74 dostępności budowanych w oparciu o Linuksa. Zajmuje się uruchamianiem
75 skryptów podczas startu i zamykania systemu. Ta wersja pakietu pozwala
76 na przejmowanie adresów IP. Oprogramowanie działa poprawnie dla
77 konfiguracji składającej się z 2 hostów, można je również stosować do
78 bardziej skomplikowanych konfiguracji.
79
80 %package libs
81 Summary:        Heartbeat libraries
82 Summary(pl.UTF-8):      Biblioteki heartbeat
83 Group:          Libraries
84 Conflicts:      heartbeat < 2.99.2-0.1
85
86 %description libs
87 Heartbeat libraries.
88
89 %description libs -l pl.UTF-8
90 Biblioteki heartbeat.
91
92 %package devel
93 Summary:        Heartbeat development header files
94 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek heartbeat
95 Group:          Development/Libraries
96 Requires:       %{name}-libs = %{version}-%{release}
97 Requires:       cluster-glue-libs-devel
98 Requires:       glib2-devel >= 2.0
99 Requires:       libltdl-devel
100
101 %description devel
102 Heartbeat development header files.
103
104 %description devel -l pl.UTF-8
105 Pliki nagłówkowe bibliotek heartbeat.
106
107 %package static
108 Summary:        Heartbeat static libraries
109 Summary(pl.UTF-8):      Biblioteki statyczne heartbeat
110 Group:          Development/Libraries
111 Requires:       %{name}-devel = %{version}-%{release}
112
113 %description static
114 Heartbeat static libraries.
115
116 %description static -l pl.UTF-8
117 Biblioteki statyczne heartbeat.
118
119 %package cts
120 Summary:        Cluster Test Suite
121 Summary(pl.UTF-8):      Zestaw testów klastra
122 Group:          Applications/System
123 Requires:       %{name} = %{version}-%{release}
124
125 %description cts
126 Cluster Test Suite for heartbeat.
127
128 %description cts -l pl.UTF-8
129 Zestaw testów klastra opartego o heartbeat.
130
131 %prep
132 %setup -qn Heartbeat-3-0-STABLE-%{version}
133 %patch0 -p1
134 %patch1 -p1
135 %patch2 -p1
136 %patch3 -p1
137
138 %{__sed} -i -e '1{
139         s,^#!.*python$,#!%{__python},
140 }' \
141         heartbeat/{hb_api,ha_test}.py
142
143 %build
144 %{__libtoolize} --ltdl
145 %{__aclocal}
146 %{__autoconf}
147 %{__autoheader}
148 %{__automake}
149 %configure \
150         PYTHON=%{__python} \
151         --with-initdir=/etc/rc.d/init.d \
152         --with-systemdunitdir=%{systemdunitdir} \
153         --docdir=%{_docdir}/%{name}-%{version} \
154         --enable-fatal-warnings=no \
155         --enable-mgmt \
156         --enable-quorumd \
157         --enable-snmp-subagent
158
159 %{__make}
160
161 %install
162 rm -rf $RPM_BUILD_ROOT
163 %{__make} -j1 install \
164         DESTDIR=$RPM_BUILD_ROOT
165
166 install -d $RPM_BUILD_ROOT/var/run/heartbeat/{crm,dopd}
167
168 # plugins are lt_dlopened, but using *.so names, so *.la are not used
169 %{__rm} $RPM_BUILD_ROOT%{_libdir}/heartbeat/plugins/*/*.{la,a}
170
171 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
172 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
173
174 > $RPM_BUILD_ROOT/etc/ha.d/haresources
175 echo -e "auth 2\n2 crc" > $RPM_BUILD_ROOT/etc/ha.d/authkeys
176 cp -a doc/ha.cf $RPM_BUILD_ROOT/etc/ha.d
177
178 for tool in hb_addnode hb_delnode hb_standby hb_takeover; do
179         tool=%{_datadir}/%{name}/$tool
180         [ -x $RPM_BUILD_ROOT$tool ] || exit 1
181         ln -s $tool $RPM_BUILD_ROOT%{_bindir}
182 done
183
184 %{__rm} $RPM_BUILD_ROOT%{_datadir}/heartbeat/cts/README
185
186 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
187
188 %clean
189 rm -rf $RPM_BUILD_ROOT
190
191 %post
192 /sbin/chkconfig --add heartbeat
193 %service heartbeat restart
194
195 %preun
196 if [ "$1" = "0" ]; then
197         %service -q heartbeat stop
198         /sbin/chkconfig --del heartbeat
199 fi
200
201 %post   libs -p /sbin/ldconfig
202 %postun libs -p /sbin/ldconfig
203
204 %files
205 %defattr(644,root,root,755)
206 %doc doc/{*.html,AUTHORS,apphbd.cf,authkeys,ha.cf,haresources,startstop}
207 %attr(755,root,root) %{_bindir}/cl_respawn
208 %attr(2755,root,haclient) %{_bindir}/cl_status
209 %attr(755,root,root) %{_bindir}/hb_addnode
210 %attr(755,root,root) %{_bindir}/hb_delnode
211 %attr(755,root,root) %{_bindir}/hb_standby
212 %attr(755,root,root) %{_bindir}/hb_takeover
213 %dir %{_libdir}/heartbeat
214 %dir %{_libdir}/heartbeat/plugins
215 %dir %{_libdir}/heartbeat/plugins/HBauth
216 %attr(755,root,root) %{_libdir}/heartbeat/plugins/HBauth/*.so
217 %dir %{_libdir}/heartbeat/plugins/HBcomm
218 %attr(755,root,root) %{_libdir}/heartbeat/plugins/HBcomm/*.so
219 %dir %{_libdir}/heartbeat/plugins/quorum
220 %attr(755,root,root) %{_libdir}/heartbeat/plugins/quorum/*.so
221 %dir %{_libdir}/heartbeat/plugins/quorumd
222 %attr(755,root,root) %{_libdir}/heartbeat/plugins/quorumd/*.so
223 %dir %{_libdir}/heartbeat/plugins/tiebreaker
224 %attr(755,root,root) %{_libdir}/heartbeat/plugins/tiebreaker/*.so
225 %if "%{_libexecdir}" != "%{_libdir}"
226 %dir %{_libexecdir}/heartbeat
227 %endif
228 %attr(755,root,root) %{_libexecdir}/heartbeat/api_test
229 %attr(755,root,root) %{_libexecdir}/heartbeat/apphbd
230 %attr(755,root,root) %{_libexecdir}/heartbeat/apphbtest
231 %attr(755,root,root) %{_libexecdir}/heartbeat/ccm
232 %attr(755,root,root) %{_libexecdir}/heartbeat/ccm_testclient
233 %attr(755,root,root) %{_libexecdir}/heartbeat/clmtest
234 %attr(755,root,root) %{_libexecdir}/heartbeat/dopd
235 %attr(755,root,root) %{_libexecdir}/heartbeat/drbd-peer-outdater
236 %attr(755,root,root) %{_libexecdir}/heartbeat/heartbeat
237 %attr(755,root,root) %{_libexecdir}/heartbeat/ipfail
238 %attr(755,root,root) %{_libexecdir}/heartbeat/mlock
239 %attr(755,root,root) %{_libexecdir}/heartbeat/quorumd
240 %attr(755,root,root) %{_libexecdir}/heartbeat/quorumdtest
241 %dir %{_datadir}/heartbeat
242 %attr(755,root,root) %{_datadir}/heartbeat/BasicSanityCheck
243 %attr(755,root,root) %{_datadir}/heartbeat/ResourceManager
244 %attr(755,root,root) %{_datadir}/heartbeat/TestHeartbeatComm
245 %attr(755,root,root) %{_datadir}/heartbeat/ha_*
246 %attr(755,root,root) %{_datadir}/heartbeat/hb_*
247 %attr(755,root,root) %{_datadir}/heartbeat/mach_down
248 %attr(755,root,root) %{_datadir}/heartbeat/req_resource
249 %{_sysconfdir}/ha.d/README.config
250 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ha.d/authkeys
251 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ha.d/ha.cf
252 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ha.d/haresources
253 %attr(755,root,root) %{_sysconfdir}/ha.d/harc
254 %dir %{_sysconfdir}/ha.d/rc.d
255 %attr(755,root,root) %{_sysconfdir}/ha.d/rc.d/*
256 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/*
257 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/heartbeat
258 %attr(754,root,root) /etc/rc.d/init.d/heartbeat
259 %{systemdunitdir}/heartbeat.service
260 %dir /var/run/heartbeat
261 %attr(750,hacluster,haclient) %dir /var/run/heartbeat/ccm
262 %attr(750,hacluster,haclient) %dir /var/run/heartbeat/crm
263 %attr(750,hacluster,haclient) %dir /var/run/heartbeat/dopd
264 %dir /var/lib/heartbeat
265 %{systemdtmpfilesdir}/%{name}.conf
266 %{_mandir}/man1/cl_status.1*
267 %{_mandir}/man1/hb_addnode.1*
268 %{_mandir}/man1/hb_delnode.1*
269 %{_mandir}/man1/hb_standby.1*
270 %{_mandir}/man1/hb_takeover.1*
271 %{_mandir}/man5/authkeys.5*
272 %{_mandir}/man5/ha.cf.5*
273 %{_mandir}/man8/apphbd.8*
274 %{_mandir}/man8/heartbeat.8*
275
276 %files libs
277 %defattr(644,root,root,755)
278 %attr(755,root,root) %{_libdir}/libapphb.so.*.*.*
279 %attr(755,root,root) %ghost %{_libdir}/libapphb.so.2
280 %attr(755,root,root) %{_libdir}/libccmclient.so.*.*.*
281 %attr(755,root,root) %ghost %{_libdir}/libccmclient.so.1
282 %attr(755,root,root) %{_libdir}/libclm.so.*.*.*
283 %attr(755,root,root) %ghost %{_libdir}/libclm.so.1
284 %attr(755,root,root) %{_libdir}/libhbclient.so.*.*.*
285 %attr(755,root,root) %ghost %{_libdir}/libhbclient.so.1
286
287 %files devel
288 %defattr(644,root,root,755)
289 %attr(755,root,root) %{_libdir}/libapphb.so
290 %attr(755,root,root) %{_libdir}/libccmclient.so
291 %attr(755,root,root) %{_libdir}/libclm.so
292 %attr(755,root,root) %{_libdir}/libhbclient.so
293 %{_libdir}/libapphb.la
294 %{_libdir}/libccmclient.la
295 %{_libdir}/libclm.la
296 %{_libdir}/libhbclient.la
297 %{_includedir}/heartbeat/HB*.h
298 %{_includedir}/heartbeat/apphb*.h
299 %{_includedir}/heartbeat/hb_*.h
300 %{_includedir}/heartbeat/heartbeat.h
301 %{_includedir}/ocf
302 %{_includedir}/saf
303
304 %files static
305 %defattr(644,root,root,755)
306 %{_libdir}/libapphb.a
307 %{_libdir}/libccmclient.a
308 %{_libdir}/libclm.a
309 %{_libdir}/libhbclient.a
310
311 %files cts
312 %defattr(644,root,root,755)
313 %doc cts/README
314 %dir %{_datadir}/heartbeat/cts
315 %attr(755,root,root) %{_datadir}/heartbeat/cts/*.py
316 %{_datadir}/heartbeat/cts/*.py[co]
317 %attr(755,root,root) %{_datadir}/heartbeat/cts/*.sh
318 %attr(755,root,root) %{_datadir}/heartbeat/cts/*Dummy
This page took 0.338257 seconds and 3 git commands to generate.