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