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 Patch2: %{name}-manpage_xslt.patch
18 URL: http://clusterlabs.org/wiki/Main_Page
19 BuildRequires: asciidoc
20 BuildRequires: autoconf
21 BuildRequires: automake
22 BuildRequires: bzip2-devel
23 %{?with_corosync:BuildRequires: corosync-devel >= 2.0}
24 BuildRequires: docbook-style-xsl
25 BuildRequires: e2fsprogs-devel
26 BuildRequires: glib2-devel
27 BuildRequires: gnutls-devel
28 %{?with_heartbeat:BuildRequires: heartbeat-devel >= 3.0.5-6}
29 BuildRequires: libesmtp-devel
31 BuildRequires: libtool
32 BuildRequires: libxml2-devel
33 BuildRequires: libxslt-devel
34 BuildRequires: libxslt-progs
35 BuildRequires: ncurses-devel
36 BuildRequires: net-snmp-devel
37 BuildRequires: pam-devel
38 BuildRequires: pkgconfig
39 BuildRequires: python-devel
40 BuildRequires: rpm-pythonprov
41 BuildRequires: rpmbuild(macros) >= 1.644
43 BuildRequires: pciutils-devel
44 BuildRequires: cluster-glue-libs-devel
45 Requires: cluster-glue
46 Requires: resource-agents
47 Requires: %{name}-libs = %{version}-%{release}
48 Provides: group(haclient)
49 Provides: user(hacluster)
50 Suggests: pacemaker-shell
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 # Unresolved symbol in libpe_status.so.3.0.0: get_object_root
54 # not handled by -libs patch, as it is a circular dependency
55 %define skip_post_check_so libpe_status.so.*
58 Pacemaker makes use of your cluster infrastructure (either
59 Corosync/OpenAIS or Heartbeat) to stop, start and monitor the health
60 of the services (aka. resources) you want the cluster to provide.
62 It can do this for clusters of practically any size and comes with a
63 powerful dependency model that allows the administrator to accurately
64 express the relationships (both ordering and location) between the
67 Pacemaker was formely a part of Heartbeat.
70 Summary: Pacemaker libraries
74 Shared libraries for Pacemaker.
77 Summary: Pacemaker for Heartbeat cluster
78 Group: Applications/System
80 Obsoletes: %{name} < 1.1
81 Conflicts: heartbeat < 2.99.0
82 Requires: %{name} = %{version}-%{release}
84 %description heartbeat
85 This package allows using Pacemaker on a Heartbeat cluster.
88 Summary: Pacemaker for Corosync cluster
89 Group: Applications/System
91 Requires: systemd-units >= 38
92 %{?with_heartbeat:%requires_eq heartbeat-libs}
93 Requires: %{name} = %{version}-%{release}
96 This package allows using Pacemaker on a Corosync cluster.
99 Summary: Remote services manager for Pacemaker
100 Group: Applications/System
101 Requires: systemd-units >= 38
102 Requires: %{name} = %{version}-%{release}
105 This package allows running Pacemaker-managed services on 'virtual'
106 nodes without actual cluster stack. This is usefull to manage services
107 in virtual machines or containers runnin on a Pacemaker cluster.
110 Summary: Header files for Pacemaker libraries
111 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Pacemaker
112 Group: Development/Libraries
113 Requires: %{name}-libs = %{version}-%{release}
116 Header files for Pacemaker libraries.
119 Summary: Static Pacemaker libraries
120 Summary(pl.UTF-8): Statyczne biblioteki Pacemaker
121 Group: Development/Libraries
122 Requires: %{name}-devel = %{version}-%{release}
125 Static Pacemaker libraries.
128 %setup -qn pacemaker-Pacemaker-%{version}
141 CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}" \
142 --with-heartbeat%{!?with_heartbeat:=no} \
143 --with-corosync%{!?with_corosync:=no} \
147 --with-initdir=/etc/rc.d/init.d \
148 --disable-fatal-warnings
153 rm -rf $RPM_BUILD_ROOT
154 install -d $RPM_BUILD_ROOT{/usr/lib/tmpfiles.d,/etc/rc.d/init.d,%{systemdunitdir}}
157 DESTDIR=$RPM_BUILD_ROOT
159 rm -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
161 install %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
162 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
163 install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
166 rm -rf $RPM_BUILD_ROOT
169 %groupadd -g 60 haclient
170 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
173 /sbin/chkconfig --add %{name}
174 %service %{name} restart "%{name} daemon"
175 %systemd_post %{name}.service
178 if [ "$1" = "0" ]; then
179 %service %{name} stop
180 /sbin/chkconfig --del %{name}
184 %systemd_preun %{name}.service
190 /sbin/chkconfig --add pacemaker_remote
191 %service pacemaker_remote restart "pacemaker_remote daemon"
192 %systemd_post pacemaker_remote.service
195 %systemd_preun %{name}.service
200 %post libs -p /sbin/ldconfig
201 %postun libs -p /sbin/ldconfig
204 %defattr(644,root,root,755)
205 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
206 %{_datadir}/pacemaker
207 %dir %{_libdir}/%{name}
208 %attr(755,root,root) %{_libdir}/%{name}/attrd
209 %attr(755,root,root) %{_libdir}/%{name}/cib
210 %attr(755,root,root) %{_libdir}/%{name}/cibmon
211 %attr(755,root,root) %{_libdir}/%{name}/crmd
212 %attr(755,root,root) %{_libdir}/%{name}/lrmd
213 %attr(755,root,root) %{_libdir}/%{name}/lrmd_test
214 %attr(755,root,root) %{_libdir}/%{name}/pengine
215 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
216 %attr(755,root,root) %{_libdir}/%{name}/stonithd
217 %attr(755,root,root) %{_bindir}/ccs2cib
218 %attr(755,root,root) %{_bindir}/ccs_flatten
219 %attr(755,root,root) %{_bindir}/disable_rgmanager
220 %attr(755,root,root) %{_sbindir}/attrd_updater
221 %attr(755,root,root) %{_sbindir}/cibadmin
222 %attr(755,root,root) %{_sbindir}/crm_attribute
223 %attr(755,root,root) %{_sbindir}/crm_diff
224 %attr(755,root,root) %{_sbindir}/crm_error
225 %attr(755,root,root) %{_sbindir}/crm_failcount
226 %attr(755,root,root) %{_sbindir}/crm_master
227 %attr(755,root,root) %{_sbindir}/crm_mon
228 %attr(755,root,root) %{_sbindir}/crm_node
229 %attr(755,root,root) %{_sbindir}/crm_report
230 %attr(755,root,root) %{_sbindir}/crm_resource
231 %attr(755,root,root) %{_sbindir}/crm_simulate
232 %attr(755,root,root) %{_sbindir}/crm_shadow
233 %attr(755,root,root) %{_sbindir}/crm_standby
234 %attr(755,root,root) %{_sbindir}/crm_ticket
235 %attr(755,root,root) %{_sbindir}/crm_verify
236 %attr(755,root,root) %{_sbindir}/crmadmin
237 %attr(755,root,root) %{_sbindir}/fence_legacy
238 %attr(755,root,root) %{_sbindir}/fence_pcmk
239 %attr(755,root,root) %{_sbindir}/iso8601
240 %attr(755,root,root) %{_sbindir}/stonith_admin
242 %{_datadir}/snmp/mibs
243 %{_mandir}/man8/attrd_updater.8.gz
244 %{_mandir}/man8/cibadmin.8.gz
245 %{_mandir}/man8/crm_attribute.8.gz
246 %{_mandir}/man8/crm_diff.8.gz
247 %{_mandir}/man8/crm_error.8.gz
248 %{_mandir}/man8/crm_failcount.8.gz
249 %{_mandir}/man8/crm_master.8.gz
250 %{_mandir}/man8/crm_mon.8.gz
251 %{_mandir}/man8/crm_node.8.gz
252 %{_mandir}/man8/crm_report.8.gz
253 %{_mandir}/man8/crm_resource.8.gz
254 %{_mandir}/man8/crm_shadow.8.gz
255 %{_mandir}/man8/crm_simulate.8.gz
256 %{_mandir}/man8/crm_standby.8.gz
257 %{_mandir}/man8/crm_ticket.8.gz
258 %{_mandir}/man8/crm_verify.8.gz
259 %{_mandir}/man8/crmadmin.8.gz
260 %{_mandir}/man8/fence_legacy.8.gz
261 %{_mandir}/man8/fence_pcmk.8.gz
262 %{_mandir}/man8/iso8601.8.gz
263 %{_mandir}/man8/stonith_admin.8.gz
265 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
266 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
267 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
268 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
269 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
270 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
271 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
272 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
273 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
274 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
275 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
276 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
277 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
278 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/remote
279 /usr/lib/tmpfiles.d/%{name}.conf
280 %dir /var/lib/%{name}
281 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/blackbox
282 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
283 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
286 %defattr(644,root,root,755)
287 %attr(755,root,root) %{_libdir}/lib*.so.*.*
288 %attr(755,root,root) %{_libdir}/lib*.so.[0-9]
291 %defattr(644,root,root,755)
292 %{_mandir}/man8/pacemaker_remoted.8.gz
293 %attr(755,root,root) %{_sbindir}/pacemaker_remoted
294 %attr(755,root,root) /etc/rc.d/init.d/pacemaker_remote
295 %{systemdunitdir}/pacemaker_remote.service
297 %if %{with heartbeat}
299 %defattr(644,root,root,755)
300 %attr(755,root,root) %{_sbindir}/crm_uuid
301 %attr(755,root,root) %{_libdir}/heartbeat/attrd
302 %attr(755,root,root) %{_libdir}/heartbeat/cib
303 %attr(755,root,root) %{_libdir}/heartbeat/crmd
304 %attr(755,root,root) %{_libdir}/heartbeat/pengine
305 %attr(755,root,root) %{_libdir}/heartbeat/stonithd
306 %{_mandir}/man8/crm_uuid.8.gz
311 %defattr(644,root,root,755)
312 %{_mandir}/man8/pacemakerd.8.gz
313 %attr(755,root,root) %{_sbindir}/pacemakerd
314 %attr(755,root,root) /etc/rc.d/init.d/%{name}
315 %{systemdunitdir}/%{name}.service
319 %defattr(644,root,root,755)
320 %{_includedir}/pacemaker
323 %{_pkgconfigdir}/*.pc
326 %defattr(644,root,root,755)