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