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 # https://github.com/ClusterLabs/pacemaker/tarball/Pacemaker-%{version}
11 Source0: ClusterLabs-pacemaker-Pacemaker-%{version}-0-gee0730e.tar.gz
12 # Source0-md5: 61076a946cf2ba549dce1458e2ef76e2
13 Source1: %{name}.tmpfiles
15 Source3: %{name}.service
16 Patch0: %{name}-ncurses.patch
17 Patch1: %{name}-libs.patch
18 Patch2: %{name}-awk.patch
19 Patch3: %{name}-cs_quorum.patch
20 URL: http://clusterlabs.org/wiki/Main_Page
21 BuildRequires: asciidoc
22 BuildRequires: autoconf
23 BuildRequires: automake
24 BuildRequires: bzip2-devel
25 %{?with_corosync:BuildRequires: corosync-devel}
26 BuildRequires: e2fsprogs-devel
27 BuildRequires: glib2-devel
28 BuildRequires: gnutls-devel
29 %{?with_heartbeat:BuildRequires: heartbeat-devel >= 2.99}
30 BuildRequires: libesmtp-devel
32 BuildRequires: libtool
33 BuildRequires: libxml2-devel
34 BuildRequires: libxslt-devel
35 BuildRequires: ncurses-devel
36 BuildRequires: net-snmp-devel
37 BuildRequires: pam-devel
38 BuildRequires: pkgconfig
39 BuildRequires: python-devel
40 BuildRequires: rpm-pythonprov
42 BuildRequires: pciutils-devel
43 BuildRequires: cluster-glue-libs-devel
44 Requires: resource-agents
45 Requires: %{name}-libs = %{version}-%{release}
46 Provides: group(haclient)
47 Provides: user(hacluster)
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: %{name} = %{version}-%{release}
91 This package allows using Pacemaker on a Corosync cluster.
94 Summary: Header files for Pacemaker libraries
95 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Pacemaker
96 Group: Development/Libraries
97 Requires: %{name}-libs = %{version}-%{release}
100 Header files for Pacemaker libraries.
103 Summary: Static Pacemaker libraries
104 Summary(pl.UTF-8): Statyczne biblioteki Pacemaker
105 Group: Development/Libraries
106 Requires: %{name}-devel = %{version}-%{release}
109 Static Pacemaker libraries.
112 %setup -qn ClusterLabs-pacemaker-b5b0a7b
128 CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}" \
129 --with-heartbeat%{!?with_heartbeat:=no} \
130 --with-corosync%{!?with_corosync:=no} \
133 --with-initdir=/etc/rc.d/init.d \
134 --disable-fatal-warnings
139 rm -rf $RPM_BUILD_ROOT
140 install -d $RPM_BUILD_ROOT{/usr/lib/tmpfiles.d,/etc/rc.d/init.d,%{systemdunitdir}}
143 DESTDIR=$RPM_BUILD_ROOT
145 rm -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
146 rm $RPM_BUILD_ROOT%{_libdir}/heartbeat/plugins/RAExec/*.{la,a}
148 install %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
149 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
150 install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
153 rm -rf $RPM_BUILD_ROOT
156 %groupadd -g 60 haclient
157 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
160 /sbin/chkconfig --add %{name}
161 %service %{name} restart "%{name} daemon"
163 %systemd_post %{name}.service
166 if [ "$1" = "0" ]; then
167 %service %{name} stop
168 /sbin/chkconfig --del %{name}
170 %systemd_preun %{name}.service
175 %post libs -p /sbin/ldconfig
176 %postun libs -p /sbin/ldconfig
179 %defattr(644,root,root,755)
180 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
181 %{_datadir}/pacemaker
182 %dir %{_libdir}/%{name}
183 %attr(755,root,root) %{_libdir}/%{name}/attrd
184 %attr(755,root,root) %{_libdir}/%{name}/cib
185 %attr(755,root,root) %{_libdir}/%{name}/cibmon
186 %attr(755,root,root) %{_libdir}/%{name}/crmd
187 %attr(755,root,root) %{_libdir}/%{name}/hb2openais.sh
188 %attr(755,root,root) %{_libdir}/%{name}/pengine
189 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
190 %attr(755,root,root) %{_libdir}/%{name}/stonithd
191 %{_libdir}/%{name}/*.py*
192 %attr(755,root,root) %{_bindir}/ccs2cib
193 %attr(755,root,root) %{_bindir}/ccs_flatten
194 %attr(755,root,root) %{_bindir}/disable_rgmanager
195 %attr(755,root,root) %{_sbindir}/attrd_updater
196 %attr(755,root,root) %{_sbindir}/cibadmin
197 %attr(755,root,root) %{_sbindir}/cibpipe
198 %attr(755,root,root) %{_sbindir}/crm
199 %attr(755,root,root) %{_sbindir}/crm_attribute
200 %attr(755,root,root) %{_sbindir}/crm_diff
201 %attr(755,root,root) %{_sbindir}/crm_failcount
202 %attr(755,root,root) %{_sbindir}/crm_master
203 %attr(755,root,root) %{_sbindir}/crm_mon
204 %attr(755,root,root) %{_sbindir}/crm_node
205 %attr(755,root,root) %{_sbindir}/crm_report
206 %attr(755,root,root) %{_sbindir}/crm_resource
207 %attr(755,root,root) %{_sbindir}/crm_simulate
208 %attr(755,root,root) %{_sbindir}/crm_shadow
209 %attr(755,root,root) %{_sbindir}/crm_standby
210 %attr(755,root,root) %{_sbindir}/crm_ticket
211 %attr(755,root,root) %{_sbindir}/crm_uuid
212 %attr(755,root,root) %{_sbindir}/crm_verify
213 %attr(755,root,root) %{_sbindir}/crmadmin
214 %attr(755,root,root) %{_sbindir}/fence_legacy
215 %attr(755,root,root) %{_sbindir}/fence_pcmk
216 %attr(755,root,root) %{_sbindir}/iso8601
217 %attr(755,root,root) %{_sbindir}/ptest
218 %attr(755,root,root) %{_sbindir}/stonith_admin
221 %{_datadir}/snmp/mibs
224 %dir %attr(750,hacluster,haclient) %{_var}/lib/pengine
225 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
226 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
227 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
228 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
229 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
230 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
231 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
232 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
233 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
234 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
235 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
236 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
237 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
238 /usr/lib/tmpfiles.d/%{name}.conf
239 %dir %attr(750,hacluster,haclient) %{_var}/lib/heartbeat/crm
242 %defattr(644,root,root,755)
243 %attr(755,root,root) %{_libdir}/lib*.so.*.*
244 %attr(755,root,root) %{_libdir}/lib*.so.[0-9]
246 %if %{with heartbeat}
248 %defattr(644,root,root,755)
249 %dir %{_libdir}/heartbeat/plugins/RAExec
250 %attr(755,root,root) %{_libdir}/heartbeat/plugins/RAExec/*.so
251 %attr(755,root,root) %{_libdir}/heartbeat/attrd
252 %attr(755,root,root) %{_libdir}/heartbeat/cib
253 %attr(755,root,root) %{_libdir}/heartbeat/crmd
254 %attr(755,root,root) %{_libdir}/heartbeat/pengine
255 %attr(755,root,root) %{_libdir}/heartbeat/stonithd
260 %defattr(644,root,root,755)
261 %attr(755,root,root) %{_sbindir}/pacemakerd
262 %attr(755,root,root) /etc/rc.d/init.d/%{name}
263 %{systemdunitdir}/%{name}.service
264 %{_libdir}/lcrso/pacemaker.lcrso
268 %defattr(644,root,root,755)
269 %{_includedir}/pacemaker
272 %{_pkgconfigdir}/*.pc
275 %defattr(644,root,root,755)