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: 24f3a2bdbac63e640062c207eb838016
12 Source1: %{name}.tmpfiles
14 Source3: %{name}.service
15 Patch0: %{name}-libs.patch
16 Patch1: %{name}-automake.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: e2fsprogs-devel
24 BuildRequires: glib2-devel
25 BuildRequires: gnutls-devel
26 %{?with_heartbeat:BuildRequires: heartbeat-devel >= 3.0.5-6}
27 BuildRequires: libesmtp-devel
29 BuildRequires: libtool
30 BuildRequires: libxml2-devel
31 BuildRequires: libxslt-devel
32 BuildRequires: ncurses-devel
33 BuildRequires: net-snmp-devel
34 BuildRequires: pam-devel
35 BuildRequires: pkgconfig
36 BuildRequires: python-devel
37 BuildRequires: rpm-pythonprov
38 BuildRequires: rpmbuild(macros) >= 1.644
40 BuildRequires: pciutils-devel
41 BuildRequires: cluster-glue-libs-devel
42 Requires: cluster-glue
43 Requires: resource-agents
44 Requires: %{name}-libs = %{version}-%{release}
45 Provides: group(haclient)
46 Provides: user(hacluster)
47 Suggests: pacemaker-shell
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 # Unresolved symbol in libpe_status.so.3.0.0: get_object_root
51 # not handled by -libs patch, as it is a circular dependency
52 %define skip_post_check_so libpe_status.so.*
55 Pacemaker makes use of your cluster infrastructure (either
56 Corosync/OpenAIS or Heartbeat) to stop, start and monitor the health
57 of the services (aka. resources) you want the cluster to provide.
59 It can do this for clusters of practically any size and comes with a
60 powerful dependency model that allows the administrator to accurately
61 express the relationships (both ordering and location) between the
64 Pacemaker was formely a part of Heartbeat.
67 Summary: Pacemaker libraries
71 Shared libraries for Pacemaker.
74 Summary: Pacemaker for Heartbeat cluster
75 Group: Applications/System
77 Obsoletes: %{name} < 1.1
78 Conflicts: heartbeat < 2.99.0
79 Requires: %{name} = %{version}-%{release}
81 %description heartbeat
82 This package allows using Pacemaker on a Heartbeat cluster.
85 Summary: Pacemaker for Corosync cluster
86 Group: Applications/System
88 Requires: systemd-units >= 38
89 Requires: %{name} = %{version}-%{release}
92 This package allows using Pacemaker on a Corosync cluster.
95 Summary: Remote services manager for Pacemaker
96 Group: Applications/System
97 Requires: systemd-units >= 38
98 Requires: %{name} = %{version}-%{release}
101 This package allows running Pacemaker-managed services on 'virtual'
102 nodes without actual cluster stack. This is usefull to manage services
103 in virtual machines or containers runnin on a Pacemaker cluster.
106 Summary: Header files for Pacemaker libraries
107 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Pacemaker
108 Group: Development/Libraries
109 Requires: %{name}-libs = %{version}-%{release}
112 Header files for Pacemaker libraries.
115 Summary: Static Pacemaker libraries
116 Summary(pl.UTF-8): Statyczne biblioteki Pacemaker
117 Group: Development/Libraries
118 Requires: %{name}-devel = %{version}-%{release}
121 Static Pacemaker libraries.
124 %setup -qn pacemaker-Pacemaker-%{version}
136 CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}" \
137 --with-heartbeat%{!?with_heartbeat:=no} \
138 --with-corosync%{!?with_corosync:=no} \
142 --with-initdir=/etc/rc.d/init.d \
143 --disable-fatal-warnings
148 rm -rf $RPM_BUILD_ROOT
149 install -d $RPM_BUILD_ROOT{/usr/lib/tmpfiles.d,/etc/rc.d/init.d,%{systemdunitdir}}
152 DESTDIR=$RPM_BUILD_ROOT
154 rm -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
156 install %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
157 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
158 install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
161 rm -rf $RPM_BUILD_ROOT
164 %groupadd -g 60 haclient
165 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
168 /sbin/chkconfig --add %{name}
169 %service %{name} restart "%{name} daemon"
170 %systemd_post %{name}.service
173 if [ "$1" = "0" ]; then
174 %service %{name} stop
175 /sbin/chkconfig --del %{name}
179 %systemd_preun %{name}.service
185 /sbin/chkconfig --add pacemaker_remote
186 %service pacemaker_remote restart "pacemaker_remote daemon"
187 %systemd_post pacemaker_remote.service
190 %systemd_preun %{name}.service
195 %post libs -p /sbin/ldconfig
196 %postun libs -p /sbin/ldconfig
199 %defattr(644,root,root,755)
200 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
201 %{_datadir}/pacemaker
202 %dir %{_libdir}/%{name}
203 %attr(755,root,root) %{_libdir}/%{name}/attrd
204 %attr(755,root,root) %{_libdir}/%{name}/cib
205 %attr(755,root,root) %{_libdir}/%{name}/cibmon
206 %attr(755,root,root) %{_libdir}/%{name}/crmd
207 %attr(755,root,root) %{_libdir}/%{name}/lrmd
208 %attr(755,root,root) %{_libdir}/%{name}/lrmd_test
209 %attr(755,root,root) %{_libdir}/%{name}/pengine
210 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
211 %attr(755,root,root) %{_libdir}/%{name}/stonithd
212 %attr(755,root,root) %{_bindir}/ccs2cib
213 %attr(755,root,root) %{_bindir}/ccs_flatten
214 %attr(755,root,root) %{_bindir}/disable_rgmanager
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_uuid
231 %attr(755,root,root) %{_sbindir}/crm_verify
232 %attr(755,root,root) %{_sbindir}/crmadmin
233 %attr(755,root,root) %{_sbindir}/fence_legacy
234 %attr(755,root,root) %{_sbindir}/fence_pcmk
235 %attr(755,root,root) %{_sbindir}/iso8601
236 %attr(755,root,root) %{_sbindir}/stonith_admin
238 %{_datadir}/snmp/mibs
239 %{_mandir}/man8/attrd_updater.8.gz
240 %{_mandir}/man8/cibadmin.8.gz
241 %{_mandir}/man8/crm_attribute.8.gz
242 %{_mandir}/man8/crm_diff.8.gz
243 %{_mandir}/man8/crm_error.8.gz
244 %{_mandir}/man8/crm_failcount.8.gz
245 %{_mandir}/man8/crm_master.8.gz
246 %{_mandir}/man8/crm_mon.8.gz
247 %{_mandir}/man8/crm_node.8.gz
248 %{_mandir}/man8/crm_report.8.gz
249 %{_mandir}/man8/crm_resource.8.gz
250 %{_mandir}/man8/crm_shadow.8.gz
251 %{_mandir}/man8/crm_simulate.8.gz
252 %{_mandir}/man8/crm_standby.8.gz
253 %{_mandir}/man8/crm_ticket.8.gz
254 %{_mandir}/man8/crm_uuid.8.gz
255 %{_mandir}/man8/crm_verify.8.gz
256 %{_mandir}/man8/crmadmin.8.gz
257 %{_mandir}/man8/fence_legacy.8.gz
258 %{_mandir}/man8/fence_pcmk.8.gz
259 %{_mandir}/man8/iso8601.8.gz
260 %{_mandir}/man8/stonith_admin.8.gz
262 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
263 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
264 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
265 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
266 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
267 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
268 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
269 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
270 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
271 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
272 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
273 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
274 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
275 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/remote
276 /usr/lib/tmpfiles.d/%{name}.conf
277 %dir /var/lib/%{name}
278 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/blackbox
279 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
280 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
283 %defattr(644,root,root,755)
284 %attr(755,root,root) %{_libdir}/lib*.so.*.*
285 %attr(755,root,root) %{_libdir}/lib*.so.[0-9]
288 %defattr(644,root,root,755)
289 %{_mandir}/man8/pacemaker_remoted.8.gz
290 %attr(755,root,root) %{_sbindir}/pacemaker_remoted
291 %attr(755,root,root) /etc/rc.d/init.d/pacemaker_remote
292 %{systemdunitdir}/pacemaker_remote.service
294 %if %{with heartbeat}
296 %defattr(644,root,root,755)
297 %attr(755,root,root) %{_libdir}/heartbeat/attrd
298 %attr(755,root,root) %{_libdir}/heartbeat/cib
299 %attr(755,root,root) %{_libdir}/heartbeat/crmd
300 %attr(755,root,root) %{_libdir}/heartbeat/pengine
301 %attr(755,root,root) %{_libdir}/heartbeat/stonithd
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)