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