]> git.pld-linux.org Git - packages/pacemaker.git/blame_incremental - pacemaker.spec
- updated to 1.1.24
[packages/pacemaker.git] / pacemaker.spec
... / ...
CommitLineData
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
15Summary: The scalable High-Availability cluster resource manager
16Summary(pl.UTF-8): Skalowalny zarządca zasobów klastrów o wysokiej dostępności
17Name: pacemaker
18Version: 1.1.24
19Release: 1
20License: GPL v2+, LGPL v2.1+
21Group: Applications/System
22#Source0Download: https://github.com/ClusterLabs/pacemaker/releases
23Source0: https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-%{version}.tar.gz
24# Source0-md5: 4e0b76f7ba00535514a97dcf9cd47813
25Source1: %{name}.tmpfiles
26Source2: %{name}.init
27Source3: %{name}.service
28Patch0: %{name}-automake.patch
29Patch1: %{name}-manpage_xslt.patch
30Patch2: %{name}-update.patch
31Patch3: %{name}-libesmtp.patch
32Patch4: %{name}-libs.patch
33Patch5: %{name}-heartbeat-libexecdir.patch
34Patch6: %{name}-no-common.patch
35Patch7: %{name}-inkscape.patch
36URL: http://clusterlabs.org/wiki/Main_Page
37%{?with_ipmi:BuildRequires: OpenIPMI-devel}
38BuildRequires: asciidoc
39BuildRequires: autoconf >= 2.59
40BuildRequires: automake
41BuildRequires: bison
42BuildRequires: bzip2-devel
43BuildRequires: cluster-glue-libs-devel
44%{?with_corosync:BuildRequires: corosync-devel >= 2.0}
45BuildRequires: dbus-devel
46BuildRequires: docbook-style-xsl
47BuildRequires: e2fsprogs-devel
48BuildRequires: flex
49BuildRequires: gettext-tools
50BuildRequires: glib2-devel >= 2.0
51BuildRequires: gnutls-devel
52BuildRequires: help2man
53%{?with_heartbeat:BuildRequires: heartbeat-devel >= 3.0.6}
54BuildRequires: libesmtp-devel
55BuildRequires: libltdl-devel
56BuildRequires: libqb-devel >= 0.13
57%{?with_servicelog:BuildRequires: libservicelog-devel}
58BuildRequires: libtool
59BuildRequires: libuuid-devel
60BuildRequires: libxml2-devel >= 2.0
61BuildRequires: libxslt-devel
62BuildRequires: libxslt-progs
63BuildRequires: ncurses-devel >= 5.4
64BuildRequires: net-snmp-devel
65BuildRequires: pam-devel
66BuildRequires: pciutils-devel
67BuildRequires: pkgconfig
68BuildRequires: python-devel
69BuildRequires: rpm-pythonprov
70BuildRequires: rpmbuild(macros) >= 1.644
71BuildRequires: systemd-units
72BuildRequires: swig
73%if %{with doc}
74BuildRequires: inkscape >= 1.0
75BuildRequires: publican
76%endif
77Requires: %{name}-libs = %{version}-%{release}
78Requires: cluster-glue
79Requires: resource-agents
80Provides: group(haclient)
81Provides: user(hacluster)
82Suggests: pacemaker-shell
83BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
84
85%description
86Pacemaker makes use of your cluster infrastructure (either
87Corosync/OpenAIS or Heartbeat) to stop, start and monitor the health
88of the services (aka. resources) you want the cluster to provide.
89
90It can do this for clusters of practically any size and comes with a
91powerful dependency model that allows the administrator to accurately
92express the relationships (both ordering and location) between the
93cluster resources.
94
95Pacemaker was formely a part of Heartbeat.
96
97%description -l pl.UTF-8
98Pacemaker wykorzystuje infrastrukturę klastrową (Corosync/OpenAIS lub
99Heartbeat) do zatrzymywania, uruchamiania i monitorowania działania
100usług (tzw. zasobów), które ma udostępniać klaster.
101
102Jest w stanie obsłużyć klastry praktycznie dowolnych rozmiarów,
103zawiera elastyczny model zależności, pozwalający administratorowi
104dokładnie opisać powiązania (zarówno kolejność, jak i położenie)
105między zasobami klastra.
106
107Pacemaker był wcześniej częścią pakietu Heartbeat.
108
109%package libs
110Summary: Pacemaker libraries
111Summary(pl.UTF-8): Biblioteki Pacemakera
112Group: Libraries
113Requires: libqb >= 0.13
114
115%description libs
116Shared libraries for Pacemaker.
117
118%description libs -l pl.UTF-8
119Biblioteki współdzielone Pacemakera.
120
121%package devel
122Summary: Header files for Pacemaker libraries
123Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Pacemakera
124Group: Development/Libraries
125Requires: %{name}-libs = %{version}-%{release}
126
127%description devel
128Header files for Pacemaker libraries.
129
130%description devel -l pl.UTF-8
131Pliki nagłówkowe bibliotek Pacemakera.
132
133%package static
134Summary: Static Pacemaker libraries
135Summary(pl.UTF-8): Statyczne biblioteki Pacemakera
136Group: Development/Libraries
137Requires: %{name}-devel = %{version}-%{release}
138
139%description static
140Static Pacemaker libraries.
141
142%description static -l pl.UTF-8
143Statyczne biblioteki Pacemakera.
144
145%package remote
146Summary: Remote services manager for Pacemaker
147Summary(pl.UTF-8): Zarządca usług zdalnych dla Pacemakera
148Group: Applications/System
149Requires: systemd-units >= 38
150Requires: %{name} = %{version}-%{release}
151
152%description remote
153This package allows running Pacemaker-managed services on 'virtual'
154nodes without actual cluster stack. This is useful to manage services
155in virtual machines or containers running on a Pacemaker cluster.
156
157%description remote -l pl.UTF-8
158Ten pakiet pozwala na uruchamianie usług zarządzanych przez Pacemakera
159na węzłach "wirtualnych" bez zainstalowanego całego stosu klastrowego.
160Jest to przydatne przy zarządzaniu usługami na maszynach wirtualncych
161lub w kontenerach uruchomionych na klastrze opartym o Pacemaker.
162
163%package heartbeat
164Summary: Pacemaker for Heartbeat cluster
165Summary(pl.UTF-8): Pacemaker dla klastra Heartbeat
166Group: Applications/System
167Requires: %{name} = %{version}-%{release}
168Requires: heartbeat >= 3.0.6
169Obsoletes: pacemaker < 1.1
170
171%description heartbeat
172This package allows using Pacemaker on a Heartbeat cluster.
173
174%description heartbeat -l pl.UTF-8
175Ten pakiet pozwala na używanie Pacemakera na klastrze Heartbeat.
176
177%package corosync
178Summary: Pacemaker for Corosync cluster
179Summary(pl.UTF-8): Pacemaker dla klastra Corosync
180Group: Applications/System
181Requires: %{name} = %{version}-%{release}
182Requires: corosync
183Requires: systemd-units >= 38
184%{?with_heartbeat:%requires_eq heartbeat-libs}
185
186%description corosync
187This package allows using Pacemaker on a Corosync cluster.
188
189%description corosync -l pl.UTF-8
190Ten pakiet pozwala na używanie Pacemakera na klastrze Corosync.
191
192%package doc
193Summary: Pacemaker documentation
194Summary(pl.UTF-8): Dokumentacja do Pacemakera
195Group: Documentation
196
197%description doc
198Pacemaker documentation.
199
200%description doc -l pl.UTF-8
201Dokumentacja 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
221CPPFLAGS="%{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
238rm -rf $RPM_BUILD_ROOT
239install -d $RPM_BUILD_ROOT{/var/run/crm,/var/log}
240
241%{__make} install \
242 mibdir=%{_datadir}/mibs \
243 DESTDIR=$RPM_BUILD_ROOT
244
245touch $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
251install -D %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
252%if %{with corosync}
253install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
254install -D %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
255%endif
256
257%clean
258rm -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
270if [ "$1" = "0" ]; then
271 %service %{name} stop
272 /sbin/chkconfig --del %{name}
273fi
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.062146 seconds and 4 git commands to generate.