2 %bcond_without corosync # build with corosync stack
3 %bcond_without heartbeat # build without heartbeat stack
4 Summary: The scalable High-Availability cluster resource manager
8 License: GPL v2+; LGPL v2.1+
9 Group: Applications/System
10 Source0: https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-%{version}.tar.gz
11 # Source0-md5: 532ec5d62b9437204a9f18fa3d5a89fc
12 Source1: %{name}.tmpfiles
14 Source3: %{name}.service
15 Patch0: %{name}-automake.patch
16 Patch1: %{name}-manpage_xslt.patch
17 URL: http://clusterlabs.org/wiki/Main_Page
18 BuildRequires: asciidoc
19 BuildRequires: autoconf
20 BuildRequires: automake
21 BuildRequires: bzip2-devel
22 %{?with_corosync:BuildRequires: corosync-devel >= 2.0}
23 BuildRequires: docbook-style-xsl
24 BuildRequires: e2fsprogs-devel
25 BuildRequires: glib2-devel
26 BuildRequires: gnutls-devel
27 %{?with_heartbeat:BuildRequires: heartbeat-devel >= 3.0.5-6}
28 BuildRequires: libesmtp-devel
30 BuildRequires: libtool
31 BuildRequires: libxml2-devel
32 BuildRequires: libxslt-devel
33 BuildRequires: libxslt-progs
34 BuildRequires: ncurses-devel
35 BuildRequires: net-snmp-devel
36 BuildRequires: pam-devel
37 BuildRequires: pkgconfig
38 BuildRequires: python-devel
39 BuildRequires: rpm-pythonprov
40 BuildRequires: rpmbuild(macros) >= 1.644
42 BuildRequires: pciutils-devel
43 BuildRequires: cluster-glue-libs-devel
44 Requires: cluster-glue
45 Requires: resource-agents
46 Requires: %{name}-libs = %{version}-%{release}
47 Provides: group(haclient)
48 Provides: user(hacluster)
49 Suggests: pacemaker-shell
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 # Unresolved symbol in libpe_status.so.3.0.0: get_object_root
53 # not handled by -libs patch, as it is a circular dependency
54 %define skip_post_check_so libpe_status.so.*
57 Pacemaker makes use of your cluster infrastructure (either
58 Corosync/OpenAIS or Heartbeat) to stop, start and monitor the health
59 of the services (aka. resources) you want the cluster to provide.
61 It can do this for clusters of practically any size and comes with a
62 powerful dependency model that allows the administrator to accurately
63 express the relationships (both ordering and location) between the
66 Pacemaker was formely a part of Heartbeat.
69 Summary: Pacemaker libraries
73 Shared libraries for Pacemaker.
76 Summary: Pacemaker for Heartbeat cluster
77 Group: Applications/System
79 Obsoletes: %{name} < 1.1
80 Conflicts: heartbeat < 2.99.0
81 Requires: %{name} = %{version}-%{release}
83 %description heartbeat
84 This package allows using Pacemaker on a Heartbeat cluster.
87 Summary: Pacemaker for Corosync cluster
88 Group: Applications/System
90 Requires: systemd-units >= 38
91 %{?with_heartbeat:%requires_eq heartbeat-libs}
92 Requires: %{name} = %{version}-%{release}
95 This package allows using Pacemaker on a Corosync cluster.
98 Summary: Remote services manager for Pacemaker
99 Group: Applications/System
100 Requires: systemd-units >= 38
101 Requires: %{name} = %{version}-%{release}
104 This package allows running Pacemaker-managed services on 'virtual'
105 nodes without actual cluster stack. This is usefull to manage services
106 in virtual machines or containers runnin on a Pacemaker cluster.
109 Summary: Header files for Pacemaker libraries
110 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Pacemaker
111 Group: Development/Libraries
112 Requires: %{name}-libs = %{version}-%{release}
115 Header files for Pacemaker libraries.
118 Summary: Static Pacemaker libraries
119 Summary(pl.UTF-8): Statyczne biblioteki Pacemaker
120 Group: Development/Libraries
121 Requires: %{name}-devel = %{version}-%{release}
124 Static Pacemaker libraries.
127 %setup -qn pacemaker-Pacemaker-%{version}
139 CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}" \
140 --with-heartbeat%{!?with_heartbeat:=no} \
141 --with-corosync%{!?with_corosync:=no} \
145 --with-initdir=/etc/rc.d/init.d \
146 --disable-fatal-warnings
151 rm -rf $RPM_BUILD_ROOT
152 install -d $RPM_BUILD_ROOT{/usr/lib/tmpfiles.d,/etc/rc.d/init.d,%{systemdunitdir}}
155 DESTDIR=$RPM_BUILD_ROOT
157 rm -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
159 install %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
160 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
161 install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
164 rm -rf $RPM_BUILD_ROOT
167 %groupadd -g 60 haclient
168 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
171 /sbin/chkconfig --add %{name}
172 %service %{name} restart "%{name} daemon"
173 %systemd_post %{name}.service
176 if [ "$1" = "0" ]; then
177 %service %{name} stop
178 /sbin/chkconfig --del %{name}
182 %systemd_preun %{name}.service
188 /sbin/chkconfig --add pacemaker_remote
189 %service pacemaker_remote restart "pacemaker_remote daemon"
190 %systemd_post pacemaker_remote.service
193 %systemd_preun %{name}.service
198 %post libs -p /sbin/ldconfig
199 %postun libs -p /sbin/ldconfig
202 %defattr(644,root,root,755)
203 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
204 %{_datadir}/pacemaker
205 %dir %{_libdir}/%{name}
206 %attr(755,root,root) %{_libdir}/%{name}/attrd
207 %attr(755,root,root) %{_libdir}/%{name}/cib
208 %attr(755,root,root) %{_libdir}/%{name}/cibmon
209 %attr(755,root,root) %{_libdir}/%{name}/crmd
210 %attr(755,root,root) %{_libdir}/%{name}/lrmd
211 %attr(755,root,root) %{_libdir}/%{name}/lrmd_test
212 %attr(755,root,root) %{_libdir}/%{name}/pengine
213 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
214 %attr(755,root,root) %{_libdir}/%{name}/stonithd
215 %attr(755,root,root) %{_sbindir}/attrd_updater
216 %attr(755,root,root) %{_sbindir}/cibadmin
217 %attr(755,root,root) %{_sbindir}/crm_attribute
218 %attr(755,root,root) %{_sbindir}/crm_diff
219 %attr(755,root,root) %{_sbindir}/crm_error
220 %attr(755,root,root) %{_sbindir}/crm_failcount
221 %attr(755,root,root) %{_sbindir}/crm_master
222 %attr(755,root,root) %{_sbindir}/crm_mon
223 %attr(755,root,root) %{_sbindir}/crm_node
224 %attr(755,root,root) %{_sbindir}/crm_report
225 %attr(755,root,root) %{_sbindir}/crm_resource
226 %attr(755,root,root) %{_sbindir}/crm_simulate
227 %attr(755,root,root) %{_sbindir}/crm_shadow
228 %attr(755,root,root) %{_sbindir}/crm_standby
229 %attr(755,root,root) %{_sbindir}/crm_ticket
230 %attr(755,root,root) %{_sbindir}/crm_verify
231 %attr(755,root,root) %{_sbindir}/crmadmin
232 %attr(755,root,root) %{_sbindir}/fence_legacy
233 %attr(755,root,root) %{_sbindir}/fence_pcmk
234 %attr(755,root,root) %{_sbindir}/iso8601
235 %attr(755,root,root) %{_sbindir}/stonith_admin
237 %{_datadir}/snmp/mibs
238 %{_mandir}/man8/attrd_updater.8.gz
239 %{_mandir}/man8/cibadmin.8.gz
240 %{_mandir}/man8/crm_attribute.8.gz
241 %{_mandir}/man8/crm_diff.8.gz
242 %{_mandir}/man8/crm_error.8.gz
243 %{_mandir}/man8/crm_failcount.8.gz
244 %{_mandir}/man8/crm_master.8.gz
245 %{_mandir}/man8/crm_mon.8.gz
246 %{_mandir}/man8/crm_node.8.gz
247 %{_mandir}/man8/crm_report.8.gz
248 %{_mandir}/man8/crm_resource.8.gz
249 %{_mandir}/man8/crm_shadow.8.gz
250 %{_mandir}/man8/crm_simulate.8.gz
251 %{_mandir}/man8/crm_standby.8.gz
252 %{_mandir}/man8/crm_ticket.8.gz
253 %{_mandir}/man8/crm_verify.8.gz
254 %{_mandir}/man8/crmadmin.8.gz
255 %{_mandir}/man8/fence_legacy.8.gz
256 %{_mandir}/man8/fence_pcmk.8.gz
257 %{_mandir}/man8/iso8601.8.gz
258 %{_mandir}/man8/stonith_admin.8.gz
260 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
261 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
262 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
263 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
264 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
265 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
266 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
267 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
268 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
269 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
270 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
271 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
272 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
273 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/remote
274 /usr/lib/tmpfiles.d/%{name}.conf
275 %dir /var/lib/%{name}
276 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/blackbox
277 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
278 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
281 %defattr(644,root,root,755)
282 %attr(755,root,root) %{_libdir}/lib*.so.*.*
283 %attr(755,root,root) %{_libdir}/lib*.so.[0-9]
286 %defattr(644,root,root,755)
287 %{_mandir}/man8/pacemaker_remoted.8.gz
288 %attr(755,root,root) %{_sbindir}/pacemaker_remoted
289 %attr(755,root,root) /etc/rc.d/init.d/pacemaker_remote
290 %{systemdunitdir}/pacemaker_remote.service
292 %if %{with heartbeat}
294 %defattr(644,root,root,755)
295 %attr(755,root,root) %{_sbindir}/crm_uuid
296 %attr(755,root,root) %{_libdir}/heartbeat/attrd
297 %attr(755,root,root) %{_libdir}/heartbeat/cib
298 %attr(755,root,root) %{_libdir}/heartbeat/crmd
299 %attr(755,root,root) %{_libdir}/heartbeat/pengine
300 %attr(755,root,root) %{_libdir}/heartbeat/stonithd
301 %{_mandir}/man8/crm_uuid.8.gz
306 %defattr(644,root,root,755)
307 %{_mandir}/man8/pacemakerd.8.gz
308 %attr(755,root,root) %{_sbindir}/pacemakerd
309 %attr(755,root,root) /etc/rc.d/init.d/%{name}
310 %{systemdunitdir}/%{name}.service
314 %defattr(644,root,root,755)
315 %{_includedir}/pacemaker
318 %{_pkgconfigdir}/*.pc
321 %defattr(644,root,root,755)