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