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
9 License: GPL v2+; LGPL v2.1+
10 Group: Applications/System
11 Source0: https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-%{version}-rc%{_rc}.tar.gz
12 # Source0-md5: 77bbeda7fcf5f2431cef920f0d6b7fe8
13 Source1: %{name}.tmpfiles
15 Source3: %{name}.service
16 Patch0: %{name}-automake.patch
17 Patch1: %{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}-rc%{_rc}
140 CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}" \
141 --with-heartbeat%{!?with_heartbeat:=no} \
142 --with-corosync%{!?with_corosync:=no} \
146 --with-initdir=/etc/rc.d/init.d \
147 --disable-fatal-warnings
152 rm -rf $RPM_BUILD_ROOT
153 install -d $RPM_BUILD_ROOT{/usr/lib/tmpfiles.d,/etc/rc.d/init.d,%{systemdunitdir}}
156 DESTDIR=$RPM_BUILD_ROOT
158 rm -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
160 install %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
161 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
162 install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
165 rm -rf $RPM_BUILD_ROOT
168 %groupadd -g 60 haclient
169 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
172 /sbin/chkconfig --add %{name}
173 %service %{name} restart "%{name} daemon"
174 %systemd_post %{name}.service
177 if [ "$1" = "0" ]; then
178 %service %{name} stop
179 /sbin/chkconfig --del %{name}
183 %systemd_preun %{name}.service
189 /sbin/chkconfig --add pacemaker_remote
190 %service pacemaker_remote restart "pacemaker_remote daemon"
191 %systemd_post pacemaker_remote.service
194 %systemd_preun %{name}.service
199 %post libs -p /sbin/ldconfig
200 %postun libs -p /sbin/ldconfig
203 %defattr(644,root,root,755)
204 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
205 %{_datadir}/pacemaker
206 %dir %{_libdir}/%{name}
207 %attr(755,root,root) %{_libdir}/%{name}/attrd
208 %attr(755,root,root) %{_libdir}/%{name}/cib
209 %attr(755,root,root) %{_libdir}/%{name}/cibmon
210 %attr(755,root,root) %{_libdir}/%{name}/crmd
211 %attr(755,root,root) %{_libdir}/%{name}/lrmd
212 %attr(755,root,root) %{_libdir}/%{name}/lrmd_test
213 %attr(755,root,root) %{_libdir}/%{name}/pengine
214 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
215 %attr(755,root,root) %{_libdir}/%{name}/stonithd
216 %attr(755,root,root) %{_bindir}/ccs2cib
217 %attr(755,root,root) %{_bindir}/ccs_flatten
218 %attr(755,root,root) %{_bindir}/disable_rgmanager
219 %attr(755,root,root) %{_sbindir}/attrd_updater
220 %attr(755,root,root) %{_sbindir}/cibadmin
221 %attr(755,root,root) %{_sbindir}/crm_attribute
222 %attr(755,root,root) %{_sbindir}/crm_diff
223 %attr(755,root,root) %{_sbindir}/crm_error
224 %attr(755,root,root) %{_sbindir}/crm_failcount
225 %attr(755,root,root) %{_sbindir}/crm_master
226 %attr(755,root,root) %{_sbindir}/crm_mon
227 %attr(755,root,root) %{_sbindir}/crm_node
228 %attr(755,root,root) %{_sbindir}/crm_report
229 %attr(755,root,root) %{_sbindir}/crm_resource
230 %attr(755,root,root) %{_sbindir}/crm_simulate
231 %attr(755,root,root) %{_sbindir}/crm_shadow
232 %attr(755,root,root) %{_sbindir}/crm_standby
233 %attr(755,root,root) %{_sbindir}/crm_ticket
234 %attr(755,root,root) %{_sbindir}/crm_verify
235 %attr(755,root,root) %{_sbindir}/crmadmin
236 %attr(755,root,root) %{_sbindir}/fence_legacy
237 %attr(755,root,root) %{_sbindir}/fence_pcmk
238 %attr(755,root,root) %{_sbindir}/iso8601
239 %attr(755,root,root) %{_sbindir}/stonith_admin
241 %{_datadir}/snmp/mibs
242 %{_mandir}/man8/attrd_updater.8.gz
243 %{_mandir}/man8/cibadmin.8.gz
244 %{_mandir}/man8/crm_attribute.8.gz
245 %{_mandir}/man8/crm_diff.8.gz
246 %{_mandir}/man8/crm_error.8.gz
247 %{_mandir}/man8/crm_failcount.8.gz
248 %{_mandir}/man8/crm_master.8.gz
249 %{_mandir}/man8/crm_mon.8.gz
250 %{_mandir}/man8/crm_node.8.gz
251 %{_mandir}/man8/crm_report.8.gz
252 %{_mandir}/man8/crm_resource.8.gz
253 %{_mandir}/man8/crm_shadow.8.gz
254 %{_mandir}/man8/crm_simulate.8.gz
255 %{_mandir}/man8/crm_standby.8.gz
256 %{_mandir}/man8/crm_ticket.8.gz
257 %{_mandir}/man8/crm_verify.8.gz
258 %{_mandir}/man8/crmadmin.8.gz
259 %{_mandir}/man8/fence_legacy.8.gz
260 %{_mandir}/man8/fence_pcmk.8.gz
261 %{_mandir}/man8/iso8601.8.gz
262 %{_mandir}/man8/stonith_admin.8.gz
264 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
265 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
266 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
267 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
268 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
269 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
270 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
271 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
272 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
273 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
274 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
275 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
276 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
277 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/remote
278 /usr/lib/tmpfiles.d/%{name}.conf
279 %dir /var/lib/%{name}
280 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/blackbox
281 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
282 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
285 %defattr(644,root,root,755)
286 %attr(755,root,root) %{_libdir}/lib*.so.*.*
287 %attr(755,root,root) %{_libdir}/lib*.so.[0-9]
290 %defattr(644,root,root,755)
291 %{_mandir}/man8/pacemaker_remoted.8.gz
292 %attr(755,root,root) %{_sbindir}/pacemaker_remoted
293 %attr(755,root,root) /etc/rc.d/init.d/pacemaker_remote
294 %{systemdunitdir}/pacemaker_remote.service
296 %if %{with heartbeat}
298 %defattr(644,root,root,755)
299 %attr(755,root,root) %{_sbindir}/crm_uuid
300 %attr(755,root,root) %{_libdir}/heartbeat/attrd
301 %attr(755,root,root) %{_libdir}/heartbeat/cib
302 %attr(755,root,root) %{_libdir}/heartbeat/crmd
303 %attr(755,root,root) %{_libdir}/heartbeat/pengine
304 %attr(755,root,root) %{_libdir}/heartbeat/stonithd
305 %{_mandir}/man8/crm_uuid.8.gz
310 %defattr(644,root,root,755)
311 %{_mandir}/man8/pacemakerd.8.gz
312 %attr(755,root,root) %{_sbindir}/pacemakerd
313 %attr(755,root,root) /etc/rc.d/init.d/%{name}
314 %{systemdunitdir}/%{name}.service
318 %defattr(644,root,root,755)
319 %{_includedir}/pacemaker
322 %{_pkgconfigdir}/*.pc
325 %defattr(644,root,root,755)