3 %bcond_without corosync # Corosync stack support
4 %bcond_without heartbeat # Heartbeat stack support
6 Summary: The scalable High-Availability cluster resource manager
7 Summary(pl.UTF-8): Skalowalny zarządca zasobów klastrów o wysokiej dostępności
11 License: GPL v2+, LGPL v2.1+
12 Group: Applications/System
13 Source0: https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-%{version}.tar.gz
14 # Source0-md5: 532ec5d62b9437204a9f18fa3d5a89fc
15 Source1: %{name}.tmpfiles
17 Source3: %{name}.service
18 Patch0: %{name}-automake.patch
19 Patch1: %{name}-manpage_xslt.patch
20 URL: http://clusterlabs.org/wiki/Main_Page
21 BuildRequires: asciidoc
22 BuildRequires: autoconf
23 BuildRequires: automake
24 BuildRequires: bzip2-devel
25 BuildRequires: cluster-glue-libs-devel
26 %{?with_corosync:BuildRequires: corosync-devel >= 2.0}
27 BuildRequires: docbook-style-xsl
28 BuildRequires: e2fsprogs-devel
29 BuildRequires: glib2-devel
30 BuildRequires: gnutls-devel
31 %{?with_heartbeat:BuildRequires: heartbeat-devel >= 3.0.5-6}
32 BuildRequires: libesmtp-devel
34 BuildRequires: libtool
35 BuildRequires: libxml2-devel
36 BuildRequires: libxslt-devel
37 BuildRequires: libxslt-progs
38 BuildRequires: ncurses-devel
39 BuildRequires: net-snmp-devel
40 BuildRequires: pam-devel
41 BuildRequires: pciutils-devel
42 BuildRequires: pkgconfig
43 BuildRequires: python-devel
44 BuildRequires: rpm-pythonprov
45 BuildRequires: rpmbuild(macros) >= 1.644
47 Requires: %{name}-libs = %{version}-%{release}
48 Requires: cluster-glue
49 Requires: resource-agents
50 Provides: group(haclient)
51 Provides: user(hacluster)
52 Suggests: pacemaker-shell
53 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 # Unresolved symbol in libpe_status.so.3.0.0: get_object_root
56 # not handled by -libs patch, as it is a circular dependency
57 %define skip_post_check_so libpe_status.so.*
60 Pacemaker makes use of your cluster infrastructure (either
61 Corosync/OpenAIS or Heartbeat) to stop, start and monitor the health
62 of the services (aka. resources) you want the cluster to provide.
64 It can do this for clusters of practically any size and comes with a
65 powerful dependency model that allows the administrator to accurately
66 express the relationships (both ordering and location) between the
69 Pacemaker was formely a part of Heartbeat.
71 %description -l pl.UTF-8
72 Pacemaker wykorzystuje infrastrukturę klastrową (Corosync/OpenAIS lub
73 Heartbeat) do zatrzymywania, uruchamiania i monitorowania działania
74 usług (tzw. zasobów), które ma udostępniać klaster.
76 Jest w stanie obsłużyć klastry praktycznie dowolnych rozmiarów,
77 zawiera elastyczny model zależności, pozwalający administratorowi
78 dokładnie opisać powiązania (zarówno kolejność, jak i położenie)
79 między zasobami klastra.
81 Pacemaker był wcześniej częścią pakietu Heartbeat.
84 Summary: Pacemaker libraries
85 Summary(pl.UTF-8): Biblioteki Pacemakera
89 Shared libraries for Pacemaker.
91 %description libs -l pl.UTF-8
92 Biblioteki współdzielone Pacemakera.
95 Summary: Header files for Pacemaker libraries
96 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Pacemakera
97 Group: Development/Libraries
98 Requires: %{name}-libs = %{version}-%{release}
101 Header files for Pacemaker libraries.
103 %description devel -l pl.UTF-8
104 Pliki nagłówkowe bibliotek Pacemakera.
107 Summary: Static Pacemaker libraries
108 Summary(pl.UTF-8): Statyczne biblioteki Pacemakera
109 Group: Development/Libraries
110 Requires: %{name}-devel = %{version}-%{release}
113 Static Pacemaker libraries.
115 %description static -l pl.UTF-8
116 Statyczne biblioteki Pacemakera.
119 Summary: Pacemaker for Heartbeat cluster
120 Summary(pl.UTF-8): Pacemaker dla klastra Heartbeat
121 Group: Applications/System
122 Requires: %{name} = %{version}-%{release}
124 Obsoletes: pacemaker < 1.1
125 Conflicts: heartbeat < 2.99.0
127 %description heartbeat
128 This package allows using Pacemaker on a Heartbeat cluster.
130 %description heartbeat -l pl.UTF-8
131 Ten pakiet pozwala na używanie Pacemakera na klastrze Heartbeat.
134 Summary: Pacemaker for Corosync cluster
135 Summary(pl.UTF-8): Pacemaker dla klastra Corosync
136 Group: Applications/System
137 Requires: %{name} = %{version}-%{release}
139 Requires: systemd-units >= 38
140 %{?with_heartbeat:%requires_eq heartbeat-libs}
142 %description corosync
143 This package allows using Pacemaker on a Corosync cluster.
145 %description corosync -l pl.UTF-8
146 Ten pakiet pozwala na używanie Pacemakera na klastrze Corosync.
149 Summary: Remote services manager for Pacemaker
150 Summary(pl.UTF-8): Zarządca usług zdalnych dla Pacemakera
151 Group: Applications/System
152 Requires: systemd-units >= 38
153 Requires: %{name} = %{version}-%{release}
156 This package allows running Pacemaker-managed services on 'virtual'
157 nodes without actual cluster stack. This is useful to manage services
158 in virtual machines or containers running on a Pacemaker cluster.
160 %description remote -l pl.UTF-8
161 Ten pakiet pozwala na uruchamianie usług zarządzanych przez Pacemakera
162 na węzłach "wirtualnych" bez zainstalowanego całego stosu klastrowego.
163 Jest to przydatne przy zarządzaniu usługami na maszynach wirtualncych
164 lub w kontenerach uruchomionych na klastrze opartym o Pacemaker.
167 %setup -qn pacemaker-Pacemaker-%{version}
179 CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}" \
181 --with-corosync%{!?with_corosync:=no} \
183 --with-heartbeat%{!?with_heartbeat:=no} \
184 --with-initdir=/etc/rc.d/init.d \
186 --disable-fatal-warnings
191 rm -rf $RPM_BUILD_ROOT
192 install -d $RPM_BUILD_ROOT{/usr/lib/tmpfiles.d,/etc/rc.d/init.d,%{systemdunitdir}}
195 DESTDIR=$RPM_BUILD_ROOT
197 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
199 install %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
200 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
201 install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
204 rm -rf $RPM_BUILD_ROOT
207 %groupadd -g 60 haclient
208 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
211 /sbin/chkconfig --add %{name}
212 %service %{name} restart "%{name} daemon"
213 %systemd_post %{name}.service
216 if [ "$1" = "0" ]; then
217 %service %{name} stop
218 /sbin/chkconfig --del %{name}
222 %systemd_preun %{name}.service
228 /sbin/chkconfig --add pacemaker_remote
229 %service pacemaker_remote restart "pacemaker_remote daemon"
230 %systemd_post pacemaker_remote.service
233 %systemd_preun %{name}.service
238 %post libs -p /sbin/ldconfig
239 %postun libs -p /sbin/ldconfig
242 %defattr(644,root,root,755)
243 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
244 %attr(755,root,root) %{_sbindir}/attrd_updater
245 %attr(755,root,root) %{_sbindir}/cibadmin
246 %attr(755,root,root) %{_sbindir}/crm_attribute
247 %attr(755,root,root) %{_sbindir}/crm_diff
248 %attr(755,root,root) %{_sbindir}/crm_error
249 %attr(755,root,root) %{_sbindir}/crm_failcount
250 %attr(755,root,root) %{_sbindir}/crm_master
251 %attr(755,root,root) %{_sbindir}/crm_mon
252 %attr(755,root,root) %{_sbindir}/crm_node
253 %attr(755,root,root) %{_sbindir}/crm_report
254 %attr(755,root,root) %{_sbindir}/crm_resource
255 %attr(755,root,root) %{_sbindir}/crm_simulate
256 %attr(755,root,root) %{_sbindir}/crm_shadow
257 %attr(755,root,root) %{_sbindir}/crm_standby
258 %attr(755,root,root) %{_sbindir}/crm_ticket
259 %attr(755,root,root) %{_sbindir}/crm_verify
260 %attr(755,root,root) %{_sbindir}/crmadmin
261 %attr(755,root,root) %{_sbindir}/fence_legacy
262 %attr(755,root,root) %{_sbindir}/fence_pcmk
263 %attr(755,root,root) %{_sbindir}/iso8601
264 %attr(755,root,root) %{_sbindir}/stonith_admin
265 %dir %{_libdir}/%{name}
266 %attr(755,root,root) %{_libdir}/%{name}/attrd
267 %attr(755,root,root) %{_libdir}/%{name}/cib
268 %attr(755,root,root) %{_libdir}/%{name}/cibmon
269 %attr(755,root,root) %{_libdir}/%{name}/crmd
270 %attr(755,root,root) %{_libdir}/%{name}/lrmd
271 %attr(755,root,root) %{_libdir}/%{name}/lrmd_test
272 %attr(755,root,root) %{_libdir}/%{name}/pengine
273 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
274 %attr(755,root,root) %{_libdir}/%{name}/stonithd
275 %{_datadir}/pacemaker
276 %{_datadir}/snmp/mibs/*
278 %{_mandir}/man8/attrd_updater.8*
279 %{_mandir}/man8/cibadmin.8*
280 %{_mandir}/man8/crm_attribute.8*
281 %{_mandir}/man8/crm_diff.8*
282 %{_mandir}/man8/crm_error.8*
283 %{_mandir}/man8/crm_failcount.8*
284 %{_mandir}/man8/crm_master.8*
285 %{_mandir}/man8/crm_mon.8*
286 %{_mandir}/man8/crm_node.8*
287 %{_mandir}/man8/crm_report.8*
288 %{_mandir}/man8/crm_resource.8*
289 %{_mandir}/man8/crm_shadow.8*
290 %{_mandir}/man8/crm_simulate.8*
291 %{_mandir}/man8/crm_standby.8*
292 %{_mandir}/man8/crm_ticket.8*
293 %{_mandir}/man8/crm_verify.8*
294 %{_mandir}/man8/crmadmin.8*
295 %{_mandir}/man8/fence_legacy.8*
296 %{_mandir}/man8/fence_pcmk.8*
297 %{_mandir}/man8/iso8601.8*
298 %{_mandir}/man8/stonith_admin.8*
301 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
302 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
303 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
304 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
305 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
306 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
307 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
308 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
309 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
310 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
311 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
312 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
313 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/remote
315 %dir /var/lib/%{name}
316 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/blackbox
317 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
318 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
319 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
320 /usr/lib/tmpfiles.d/%{name}.conf
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_libdir}/lib*.so.*.*
325 %attr(755,root,root) %{_libdir}/lib*.so.[0-9]
328 %defattr(644,root,root,755)
329 %attr(755,root,root) %{_libdir}/*.so
331 %{_includedir}/pacemaker
332 %{_pkgconfigdir}/*.pc
335 %defattr(644,root,root,755)
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_sbindir}/pacemaker_remoted
341 %attr(755,root,root) /etc/rc.d/init.d/pacemaker_remote
342 %{systemdunitdir}/pacemaker_remote.service
343 %{_mandir}/man8/pacemaker_remoted.8*
345 %if %{with heartbeat}
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_sbindir}/crm_uuid
349 %attr(755,root,root) %{_libdir}/heartbeat/attrd
350 %attr(755,root,root) %{_libdir}/heartbeat/cib
351 %attr(755,root,root) %{_libdir}/heartbeat/crmd
352 %attr(755,root,root) %{_libdir}/heartbeat/pengine
353 %attr(755,root,root) %{_libdir}/heartbeat/stonithd
354 %{_mandir}/man8/crm_uuid.8*
359 %defattr(644,root,root,755)
360 %attr(755,root,root) %{_sbindir}/pacemakerd
361 %attr(755,root,root) /etc/rc.d/init.d/%{name}
362 %{systemdunitdir}/%{name}.service
363 %{_mandir}/man8/pacemakerd.8*