]> git.pld-linux.org Git - packages/pacemaker.git/blob - pacemaker.spec
- updated to 1.1.13
[packages/pacemaker.git] / pacemaker.spec
1 #
2 # Conditional build:
3 %bcond_without  corosync        # Corosync stack support
4 %bcond_without  heartbeat       # Heartbeat stack support
5 %bcond_without  servicelog      # ServiceLog support [IBM PPC specific]
6 %bcond_without  ipmi            # IPMI ServiceLog support [IBM PPC specific]
7 #
8 %ifnarch ppc ppc64
9 %undefine       with_servicelog
10 %endif
11 %if %{without servicelog}
12 %undefine       with_ipmi
13 %endif
14 Summary:        The scalable High-Availability cluster resource manager
15 Summary(pl.UTF-8):      Skalowalny zarządca zasobów klastrów o wysokiej dostępności
16 Name:           pacemaker
17 Version:        1.1.13
18 Release:        1
19 License:        GPL v2+, LGPL v2.1+
20 Group:          Applications/System
21 Source0:        https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-%{version}.tar.gz
22 # Source0-md5:  219a1b5864013101dae3f9977f342b87
23 Source1:        %{name}.tmpfiles
24 Source2:        %{name}.init
25 Source3:        %{name}.service
26 Patch0:         %{name}-automake.patch
27 Patch1:         %{name}-manpage_xslt.patch
28 Patch2:         %{name}-update.patch
29 Patch3:         %{name}-man.patch
30 Patch4:         %{name}-libs.patch
31 URL:            http://clusterlabs.org/wiki/Main_Page
32 %{?with_ipmi:BuildRequires:     OpenIPMI-devel}
33 BuildRequires:  asciidoc
34 BuildRequires:  autoconf >= 2.59
35 BuildRequires:  automake
36 BuildRequires:  bison
37 BuildRequires:  bzip2-devel
38 BuildRequires:  cluster-glue-libs-devel
39 %{?with_corosync:BuildRequires: corosync-devel >= 2.0}
40 BuildRequires:  dbus-devel
41 BuildRequires:  docbook-style-xsl
42 BuildRequires:  e2fsprogs-devel
43 BuildRequires:  flex
44 BuildRequires:  gettext-tools
45 BuildRequires:  glib2-devel >= 2.0
46 BuildRequires:  gnutls-devel
47 BuildRequires:  help2man
48 %{?with_heartbeat:BuildRequires:        heartbeat-devel >= 3.0.6}
49 BuildRequires:  libesmtp-devel
50 BuildRequires:  libltdl-devel
51 BuildRequires:  libqb-devel >= 0.13
52 %{?with_servicelog:BuildRequires:       libservicelog-devel}
53 BuildRequires:  libtool
54 BuildRequires:  libuuid-devel
55 BuildRequires:  libxml2-devel >= 2.0
56 BuildRequires:  libxslt-devel
57 BuildRequires:  libxslt-progs
58 BuildRequires:  ncurses-devel >= 5.4
59 BuildRequires:  net-snmp-devel
60 BuildRequires:  pam-devel
61 BuildRequires:  pciutils-devel
62 BuildRequires:  pkgconfig
63 BuildRequires:  python-devel
64 BuildRequires:  rpm-pythonprov
65 BuildRequires:  rpmbuild(macros) >= 1.644
66 BuildRequires:  systemd-units
67 BuildRequires:  swig
68 Requires:       %{name}-libs = %{version}-%{release}
69 Requires:       cluster-glue
70 Requires:       resource-agents
71 Provides:       group(haclient)
72 Provides:       user(hacluster)
73 Suggests:       pacemaker-shell
74 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75
76 %description
77 Pacemaker makes use of your cluster infrastructure (either 
78 Corosync/OpenAIS or Heartbeat) to stop, start and monitor the health
79 of the services (aka. resources) you want the cluster to provide.
80
81 It can do this for clusters of practically any size and comes with a
82 powerful dependency model that allows the administrator to accurately
83 express the relationships (both ordering and location) between the
84 cluster resources.
85
86 Pacemaker was formely a part of Heartbeat.
87
88 %description -l pl.UTF-8
89 Pacemaker wykorzystuje infrastrukturę klastrową (Corosync/OpenAIS lub
90 Heartbeat) do zatrzymywania, uruchamiania i monitorowania działania
91 usług (tzw. zasobów), które ma udostępniać klaster.
92
93 Jest w stanie obsłużyć klastry praktycznie dowolnych rozmiarów,
94 zawiera elastyczny model zależności, pozwalający administratorowi
95 dokładnie opisać powiązania (zarówno kolejność, jak i położenie)
96 między zasobami klastra.
97
98 Pacemaker był wcześniej częścią pakietu Heartbeat.
99
100 %package libs
101 Summary:        Pacemaker libraries
102 Summary(pl.UTF-8):      Biblioteki Pacemakera
103 Group:          Libraries
104
105 %description libs
106 Shared libraries for Pacemaker.
107
108 %description libs -l pl.UTF-8
109 Biblioteki współdzielone Pacemakera.
110
111 %package devel
112 Summary:        Header files for Pacemaker libraries
113 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek Pacemakera
114 Group:          Development/Libraries
115 Requires:       %{name}-libs = %{version}-%{release}
116
117 %description devel
118 Header files for Pacemaker libraries.
119
120 %description devel -l pl.UTF-8
121 Pliki nagłówkowe bibliotek Pacemakera.
122
123 %package static
124 Summary:        Static Pacemaker libraries
125 Summary(pl.UTF-8):      Statyczne biblioteki Pacemakera
126 Group:          Development/Libraries
127 Requires:       %{name}-devel = %{version}-%{release}
128
129 %description static
130 Static Pacemaker libraries.
131
132 %description static -l pl.UTF-8
133 Statyczne biblioteki Pacemakera.
134
135 %package heartbeat
136 Summary:        Pacemaker for Heartbeat cluster
137 Summary(pl.UTF-8):      Pacemaker dla klastra Heartbeat
138 Group:          Applications/System
139 Requires:       %{name} = %{version}-%{release}
140 Requires:       heartbeat >= 3.0.6
141 Obsoletes:      pacemaker < 1.1
142
143 %description heartbeat
144 This package allows using Pacemaker on a Heartbeat cluster.
145
146 %description heartbeat -l pl.UTF-8
147 Ten pakiet pozwala na używanie Pacemakera na klastrze Heartbeat.
148
149 %package corosync
150 Summary:        Pacemaker for Corosync cluster
151 Summary(pl.UTF-8):      Pacemaker dla klastra Corosync
152 Group:          Applications/System
153 Requires:       %{name} = %{version}-%{release}
154 Requires:       corosync
155 Requires:       systemd-units >= 38
156 %{?with_heartbeat:%requires_eq  heartbeat-libs}
157
158 %description corosync
159 This package allows using Pacemaker on a Corosync cluster.
160
161 %description corosync -l pl.UTF-8
162 Ten pakiet pozwala na używanie Pacemakera na klastrze Corosync.
163
164 %package remote
165 Summary:        Remote services manager for Pacemaker
166 Summary(pl.UTF-8):      Zarządca usług zdalnych dla Pacemakera
167 Group:          Applications/System
168 Requires:       systemd-units >= 38
169 Requires:       %{name} = %{version}-%{release}
170
171 %description remote
172 This package allows running Pacemaker-managed services on 'virtual'
173 nodes without actual cluster stack. This is useful to manage services
174 in virtual machines or containers running on a Pacemaker cluster.
175
176 %description remote -l pl.UTF-8
177 Ten pakiet pozwala na uruchamianie usług zarządzanych przez Pacemakera
178 na węzłach "wirtualnych" bez zainstalowanego całego stosu klastrowego.
179 Jest to przydatne przy zarządzaniu usługami na maszynach wirtualncych
180 lub w kontenerach uruchomionych na klastrze opartym o Pacemaker.
181
182 %prep
183 %setup -qn pacemaker-Pacemaker-%{version}
184 %patch0 -p1
185 %patch1 -p1
186 %patch2 -p1
187 %patch3 -p1
188 %patch4 -p1
189
190 %build
191 %{__libtoolize}
192 %{__aclocal} -I m4
193 %{__autoconf}
194 %{__autoheader}
195 %{__automake}
196
197 CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}"
198 %configure \
199         --with-acl \
200         --with-corosync%{!?with_corosync:=no} \
201         --with-esmtp \
202         --with-heartbeat%{!?with_heartbeat:=no} \
203         --with-initdir=/etc/rc.d/init.d \
204         --with-snmp \
205         --disable-fatal-warnings \
206         --disable-silent-rules
207
208 %{__make}
209
210 %install
211 rm -rf $RPM_BUILD_ROOT
212 install -d $RPM_BUILD_ROOT{/var/run/crm,/var/log}
213
214 %{__make} install \
215         mibdir=%{_datadir}/mibs \
216         DESTDIR=$RPM_BUILD_ROOT
217
218 touch $RPM_BUILD_ROOT/var/log/pacemaker.log
219
220 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
221
222 install -D %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
223 %if %{with corosync}
224 install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
225 install -D %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
226 %endif
227
228 %clean
229 rm -rf $RPM_BUILD_ROOT
230
231 %pre
232 %groupadd -g 60 haclient
233 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
234
235 %post corosync
236 /sbin/chkconfig --add %{name}
237 %service %{name} restart "%{name} daemon"
238 %systemd_post %{name}.service
239
240 %preun
241 if [ "$1" = "0" ]; then
242         %service %{name} stop
243         /sbin/chkconfig --del %{name}
244 fi
245
246 %preun corosync
247 %systemd_preun %{name}.service
248
249 %postun corosync
250 %systemd_reload
251
252 %post remote
253 /sbin/chkconfig --add pacemaker_remote
254 %service pacemaker_remote restart "pacemaker_remote daemon"
255 %systemd_post pacemaker_remote.service
256
257 %preun remote
258 %systemd_preun %{name}.service
259
260 %postun remote
261 %systemd_reload
262
263 %post   libs -p /sbin/ldconfig
264 %postun libs -p /sbin/ldconfig
265
266 %files
267 %defattr(644,root,root,755)
268 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
269 %attr(755,root,root) %{_sbindir}/attrd_updater
270 %attr(755,root,root) %{_sbindir}/cibadmin
271 %attr(755,root,root) %{_sbindir}/crm_attribute
272 %attr(755,root,root) %{_sbindir}/crm_diff
273 %attr(755,root,root) %{_sbindir}/crm_error
274 %attr(755,root,root) %{_sbindir}/crm_failcount
275 %attr(755,root,root) %{_sbindir}/crm_master
276 %attr(755,root,root) %{_sbindir}/crm_mon
277 %attr(755,root,root) %{_sbindir}/crm_node
278 %attr(755,root,root) %{_sbindir}/crm_report
279 %attr(755,root,root) %{_sbindir}/crm_resource
280 %attr(755,root,root) %{_sbindir}/crm_simulate
281 %attr(755,root,root) %{_sbindir}/crm_shadow
282 %attr(755,root,root) %{_sbindir}/crm_standby
283 %attr(755,root,root) %{_sbindir}/crm_ticket
284 %attr(755,root,root) %{_sbindir}/crm_verify
285 %attr(755,root,root) %{_sbindir}/crmadmin
286 %attr(755,root,root) %{_sbindir}/fence_legacy
287 %attr(755,root,root) %{_sbindir}/fence_pcmk
288 %attr(755,root,root) %{_sbindir}/iso8601
289 %attr(755,root,root) %{_sbindir}/stonith_admin
290 %if %{with servicelog}
291 %if %{with ipmi}
292 %attr(755,root,root) %{_sbindir}/ipmiservicelogd
293 %endif
294 %attr(755,root,root) %{_sbindir}/notifyServicelogEvent
295 %endif
296 %dir %{_libdir}/%{name}
297 %attr(755,root,root) %{_libdir}/%{name}/attrd
298 %attr(755,root,root) %{_libdir}/%{name}/cib
299 %attr(755,root,root) %{_libdir}/%{name}/cibmon
300 %attr(755,root,root) %{_libdir}/%{name}/crmd
301 %attr(755,root,root) %{_libdir}/%{name}/lrmd
302 %attr(755,root,root) %{_libdir}/%{name}/lrmd_internal_ctl
303 %attr(755,root,root) %{_libdir}/%{name}/lrmd_test
304 %attr(755,root,root) %{_libdir}/%{name}/pengine
305 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
306 %attr(755,root,root) %{_libdir}/%{name}/stonithd
307 %{_datadir}/pacemaker
308 %{_datadir}/mibs/PCMK-MIB.txt
309 %{py_sitedir}/cts
310 %{systemdunitdir}/crm_mon.service
311 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/pacemaker
312 %ghost /var/log/pacemaker.log
313 %{_mandir}/man7/crmd.7*
314 %{_mandir}/man7/ocf_pacemaker_*.7*
315 %{_mandir}/man7/pengine.7*
316 %{_mandir}/man7/stonithd.7*
317 %{_mandir}/man8/attrd_updater.8*
318 %{_mandir}/man8/cibadmin.8*
319 %{_mandir}/man8/crm_attribute.8*
320 %{_mandir}/man8/crm_diff.8*
321 %{_mandir}/man8/crm_error.8*
322 %{_mandir}/man8/crm_failcount.8*
323 %{_mandir}/man8/crm_master.8*
324 %{_mandir}/man8/crm_mon.8*
325 %{_mandir}/man8/crm_node.8*
326 %{_mandir}/man8/crm_report.8*
327 %{_mandir}/man8/crm_resource.8*
328 %{_mandir}/man8/crm_shadow.8*
329 %{_mandir}/man8/crm_simulate.8*
330 %{_mandir}/man8/crm_standby.8*
331 %{_mandir}/man8/crm_ticket.8*
332 %{_mandir}/man8/crm_verify.8*
333 %{_mandir}/man8/crmadmin.8*
334 %{_mandir}/man8/fence_legacy.8*
335 %{_mandir}/man8/fence_pcmk.8*
336 %{_mandir}/man8/iso8601.8*
337 %{_mandir}/man8/stonith_admin.8*
338 %if %{with servicelog}
339 %{_mandir}/man8/notifyServicelogEvent.8*
340 %endif
341
342 %dir %{_prefix}/lib/ocf/resource.d/.isolation
343 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/.isolation/docker-wrapper
344 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
345 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
346 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
347 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
348 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
349 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
350 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
351 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
352 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
353 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
354 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
355 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
356 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/remote
357
358 %dir /var/lib/%{name}
359 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/blackbox
360 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
361 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
362 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
363 /usr/lib/tmpfiles.d/%{name}.conf
364
365 %files libs
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/libcib.so.*.*.*
368 %attr(755,root,root) %ghost %{_libdir}/libcib.so.4
369 %attr(755,root,root) %{_libdir}/libcrmcluster.so.*.*.*
370 %attr(755,root,root) %ghost %{_libdir}/libcrmcluster.so.4
371 %attr(755,root,root) %{_libdir}/libcrmcommon.so.*.*.*
372 %attr(755,root,root) %ghost %{_libdir}/libcrmcommon.so.3
373 %attr(755,root,root) %{_libdir}/libcrmservice.so.*.*.*
374 %attr(755,root,root) %ghost %{_libdir}/libcrmservice.so.3
375 %attr(755,root,root) %{_libdir}/liblrmd.so.*.*.*
376 %attr(755,root,root) %ghost %{_libdir}/liblrmd.so.1
377 %attr(755,root,root) %{_libdir}/libpe_rules.so.*.*.*
378 %attr(755,root,root) %ghost %{_libdir}/libpe_rules.so.2
379 %attr(755,root,root) %{_libdir}/libpe_status.so.*.*.*
380 %attr(755,root,root) %ghost %{_libdir}/libpe_status.so.4
381 %attr(755,root,root) %{_libdir}/libpengine.so.*.*.*
382 %attr(755,root,root) %ghost %{_libdir}/libpengine.so.4
383 %attr(755,root,root) %{_libdir}/libstonithd.so.*.*.*
384 %attr(755,root,root) %ghost %{_libdir}/libstonithd.so.2
385 %attr(755,root,root) %{_libdir}/libtransitioner.so.*.*.*
386 %attr(755,root,root) %ghost %{_libdir}/libtransitioner.so.2
387
388 %files devel
389 %defattr(644,root,root,755)
390 %attr(755,root,root) %{_libdir}/libcib.so
391 %attr(755,root,root) %{_libdir}/libcrmcluster.so
392 %attr(755,root,root) %{_libdir}/libcrmcommon.so
393 %attr(755,root,root) %{_libdir}/libcrmservice.so
394 %attr(755,root,root) %{_libdir}/liblrmd.so
395 %attr(755,root,root) %{_libdir}/libpe_rules.so
396 %attr(755,root,root) %{_libdir}/libpe_status.so
397 %attr(755,root,root) %{_libdir}/libpengine.so
398 %attr(755,root,root) %{_libdir}/libstonithd.so
399 %attr(755,root,root) %{_libdir}/libtransitioner.so
400 %{_libdir}/libcib.la
401 %{_libdir}/libcrmcluster.la
402 %{_libdir}/libcrmcommon.la
403 %{_libdir}/libcrmservice.la
404 %{_libdir}/liblrmd.la
405 %{_libdir}/libpe_rules.la
406 %{_libdir}/libpe_status.la
407 %{_libdir}/libpengine.la
408 %{_libdir}/libstonithd.la
409 %{_libdir}/libtransitioner.la
410 %{_includedir}/pacemaker
411 %{_pkgconfigdir}/pacemaker.pc
412 %{_pkgconfigdir}/pacemaker-cib.pc
413 %{_pkgconfigdir}/pacemaker-cluster.pc
414 %{_pkgconfigdir}/pacemaker-fencing.pc
415 %{_pkgconfigdir}/pacemaker-lrmd.pc
416 %{_pkgconfigdir}/pacemaker-pengine.pc
417 %{_pkgconfigdir}/pacemaker-service.pc
418
419 %files static
420 %defattr(644,root,root,755)
421 %{_libdir}/libcib.a
422 %{_libdir}/libcrmcluster.a
423 %{_libdir}/libcrmcommon.a
424 %{_libdir}/libcrmservice.a
425 %{_libdir}/liblrmd.a
426 %{_libdir}/libpe_rules.a
427 %{_libdir}/libpe_status.a
428 %{_libdir}/libpengine.a
429 %{_libdir}/libstonithd.a
430 %{_libdir}/libtransitioner.a
431
432 %files remote
433 %defattr(644,root,root,755)
434 %attr(755,root,root) %{_sbindir}/pacemaker_remoted
435 %attr(755,root,root) /etc/rc.d/init.d/pacemaker_remote
436 %{systemdunitdir}/pacemaker_remote.service
437 %{_mandir}/man8/pacemaker_remoted.8*
438
439 %if %{with heartbeat}
440 %files heartbeat
441 %defattr(644,root,root,755)
442 %attr(755,root,root) %{_sbindir}/crm_uuid
443 %{_mandir}/man8/crm_uuid.8*
444 %endif
445
446 %if %{with corosync}
447 %files corosync
448 %defattr(644,root,root,755)
449 %attr(755,root,root) %{_sbindir}/pacemakerd
450 %attr(755,root,root) /etc/rc.d/init.d/%{name}
451 %{systemdunitdir}/%{name}.service
452 %{_mandir}/man8/pacemakerd.8*
453 %endif
This page took 0.048903 seconds and 3 git commands to generate.