3 # - optional support for complete openais stack (corosync is often enough)
5 %bcond_without corosync # build with corosync stack
6 %bcond_without heartbeat # build without heartbeat stack
7 Summary: The scalable High-Availability cluster resource manager
11 License: GPL v2+; LGPL v2.1+
12 Group: Applications/System
13 # https://github.com/ClusterLabs/pacemaker/tarball/Pacemaker-%{version}
14 Source0: ClusterLabs-pacemaker-Pacemaker-%{version}-0-gee0730e.tar.gz
15 # Source0-md5: 61076a946cf2ba549dce1458e2ef76e2
16 Source1: %{name}.tmpfiles
17 Patch0: %{name}-ncurses.patch
18 Patch1: %{name}-libs.patch
19 Patch2: %{name}-awk.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
31 BuildRequires: libtool
32 BuildRequires: libxml2-devel
33 BuildRequires: libxslt-devel
34 BuildRequires: ncurses-devel
35 BuildRequires: net-snmp-devel
36 BuildRequires: pam-devel
37 BuildRequires: pkgconfig
38 BuildRequires: python-devel
39 BuildRequires: rpm-pythonprov
41 BuildRequires: pciutils-devel
42 BuildRequires: cluster-glue-libs-devel
43 Requires: %{name}-libs = %{version}-%{release}
44 Provides: group(haclient)
45 Provides: user(hacluster)
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 # Unresolved symbol in libpe_status.so.3.0.0: get_object_root
49 # not handled by -libs patch, as it is a circular dependency
50 %define skip_post_check_so libpe_status.so.*
53 Pacemaker makes use of your cluster infrastructure (either OpenAIS or
54 Heartbeat) to stop, start and monitor the health of the services (aka.
55 resources) you want the cluster to provide.
57 It can do this for clusters of practically any size and comes with a
58 powerful dependency model that allows the administrator to accurately
59 express the relationships (both ordering and location) between the
62 Pacemaker was formely a part of Heartbeat.
65 Summary: Pacemaker libraries
69 Shared libraries for Pacemaker.
72 Summary: Pacemaker for Heartbeat cluster
73 Group: Applications/System
75 Obsoletes: %{name} < 1.1
76 Conflicts: heartbeat < 2.99.0
77 Requires: %{name} = %{version}-%{release}
79 %description heartbeat
80 This package allows using Pacemaker on a Heartbeat cluster.
83 Summary: Pacemaker for Corosync cluster
84 Group: Applications/System
86 Requires: %{name} = %{version}-%{release}
89 This package allows using Pacemaker on a Corosync cluster.
92 Summary: Header files for Pacemaker libraries
93 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Pacemaker
94 Group: Development/Libraries
95 Requires: %{name}-libs = %{version}-%{release}
98 Header files for Pacemaker libraries.
101 Summary: Static Pacemaker libraries
102 Summary(pl.UTF-8): Statyczne biblioteki Pacemaker
103 Group: Development/Libraries
104 Requires: %{name}-devel = %{version}-%{release}
107 Static Pacemaker libraries.
110 %setup -qn ClusterLabs-pacemaker-b5b0a7b
123 CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}" \
124 --with-heartbeat%{!?with_heartbeat:=no} \
125 --with-corosync%{!?with_corosync:=no} \
128 --with-initdir=/etc/rc.d/init.d \
129 --disable-fatal-warnings
134 rm -rf $RPM_BUILD_ROOT
135 install -d $RPM_BUILD_ROOT{/usr/lib/tmpfiles.d,/etc/rc.d}
138 DESTDIR=$RPM_BUILD_ROOT
140 rm -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
141 rm $RPM_BUILD_ROOT%{_libdir}/heartbeat/plugins/RAExec/*.{la,a}
143 install %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
146 rm -rf $RPM_BUILD_ROOT
149 %groupadd -g 60 haclient
150 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
153 /sbin/chkconfig --add %{name}
154 %service %{name} restart "%{name} daemon"
156 %systemd_post %{name}.service
159 if [ "$1" = "0" ]; then
160 %service %{name} stop
161 /sbin/chkconfig --del %{name}
163 %systemd_preun %{name}.service
168 %post libs -p /sbin/ldconfig
169 %postun libs -p /sbin/ldconfig
172 %defattr(644,root,root,755)
173 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
174 %{_datadir}/pacemaker
175 %dir %{_libdir}/%{name}
176 %attr(755,root,root) %{_libdir}/%{name}/attrd
177 %attr(755,root,root) %{_libdir}/%{name}/cib
178 %attr(755,root,root) %{_libdir}/%{name}/cibmon
179 %attr(755,root,root) %{_libdir}/%{name}/crmd
180 %attr(755,root,root) %{_libdir}/%{name}/hb2openais.sh
181 %attr(755,root,root) %{_libdir}/%{name}/pengine
182 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
183 %attr(755,root,root) %{_libdir}/%{name}/stonithd
184 %{_libdir}/%{name}/*.py*
185 %attr(755,root,root) %{_bindir}/ccs2cib
186 %attr(755,root,root) %{_bindir}/ccs_flatten
187 %attr(755,root,root) %{_bindir}/disable_rgmanager
188 %attr(755,root,root) %{_sbindir}/attrd_updater
189 %attr(755,root,root) %{_sbindir}/cibadmin
190 %attr(755,root,root) %{_sbindir}/cibpipe
191 %attr(755,root,root) %{_sbindir}/crm
192 %attr(755,root,root) %{_sbindir}/crm_attribute
193 %attr(755,root,root) %{_sbindir}/crm_diff
194 %attr(755,root,root) %{_sbindir}/crm_failcount
195 %attr(755,root,root) %{_sbindir}/crm_master
196 %attr(755,root,root) %{_sbindir}/crm_mon
197 %attr(755,root,root) %{_sbindir}/crm_node
198 %attr(755,root,root) %{_sbindir}/crm_report
199 %attr(755,root,root) %{_sbindir}/crm_resource
200 %attr(755,root,root) %{_sbindir}/crm_simulate
201 %attr(755,root,root) %{_sbindir}/crm_shadow
202 %attr(755,root,root) %{_sbindir}/crm_standby
203 %attr(755,root,root) %{_sbindir}/crm_ticket
204 %attr(755,root,root) %{_sbindir}/crm_uuid
205 %attr(755,root,root) %{_sbindir}/crm_verify
206 %attr(755,root,root) %{_sbindir}/crmadmin
207 %attr(755,root,root) %{_sbindir}/fence_legacy
208 %attr(755,root,root) %{_sbindir}/fence_pcmk
209 %attr(755,root,root) %{_sbindir}/iso8601
210 %attr(755,root,root) %{_sbindir}/ptest
211 %attr(755,root,root) %{_sbindir}/stonith_admin
214 %{_datadir}/snmp/mibs
217 %dir %attr(750,hacluster,haclient) %{_var}/lib/pengine
218 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
219 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
220 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
221 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
222 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
223 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
224 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
225 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
226 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
227 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
228 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
229 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
230 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
231 /usr/lib/tmpfiles.d/%{name}.conf
234 %defattr(644,root,root,755)
235 %attr(755,root,root) %{_libdir}/lib*.so.*.*
236 %attr(755,root,root) %{_libdir}/lib*.so.[0-9]
238 %if %{with heartbeat}
240 %defattr(644,root,root,755)
241 %dir %{_libdir}/heartbeat/plugins/RAExec
242 %attr(755,root,root) %{_libdir}/heartbeat/plugins/RAExec/*.so
243 %attr(755,root,root) %{_libdir}/heartbeat/attrd
244 %attr(755,root,root) %{_libdir}/heartbeat/cib
245 %attr(755,root,root) %{_libdir}/heartbeat/crmd
246 %attr(755,root,root) %{_libdir}/heartbeat/pengine
247 %attr(755,root,root) %{_libdir}/heartbeat/stonithd
248 %dir %attr(750,hacluster,haclient) %{_var}/lib/heartbeat/crm
253 %defattr(644,root,root,755)
254 %attr(755,root,root) %{_sbindir}/pacemakerd
255 %attr(755,root,root) /etc/rc.d/init.d/%{name}
256 %{systemdunitdir}/%{name}.service
257 %{_libdir}/lcrso/pacemaker.lcrso
261 %defattr(644,root,root,755)
262 %{_includedir}/pacemaker
265 %{_pkgconfigdir}/*.pc
268 %defattr(644,root,root,755)