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/tarball/Pacemaker-1.1.8/Pacemaker-%{version}.tar.gz
11 # Source0-md5: 1bbd5b2282827bc1cf4e19620d606dc7
12 Source1: %{name}.tmpfiles
14 Source3: %{name}.service
15 Patch0: %{name}-ncurses.patch
16 Patch1: %{name}-libs.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 >= 2.99}
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
39 BuildRequires: pciutils-devel
40 BuildRequires: cluster-glue-libs-devel
41 Requires: cluster-glue
42 Requires: resource-agents
43 Requires: %{name}-libs = %{version}-%{release}
44 Provides: group(haclient)
45 Provides: user(hacluster)
46 Suggests: pacemaker-shell
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 # Unresolved symbol in libpe_status.so.3.0.0: get_object_root
50 # not handled by -libs patch, as it is a circular dependency
51 %define skip_post_check_so libpe_status.so.*
54 Pacemaker makes use of your cluster infrastructure (either
55 Corosync/OpenAIS or Heartbeat) to stop, start and monitor the health
56 of the services (aka. resources) you want the cluster to provide.
58 It can do this for clusters of practically any size and comes with a
59 powerful dependency model that allows the administrator to accurately
60 express the relationships (both ordering and location) between the
63 Pacemaker was formely a part of Heartbeat.
66 Summary: Pacemaker libraries
70 Shared libraries for Pacemaker.
73 Summary: Pacemaker for Heartbeat cluster
74 Group: Applications/System
76 Obsoletes: %{name} < 1.1
77 Conflicts: heartbeat < 2.99.0
78 Requires: %{name} = %{version}-%{release}
80 %description heartbeat
81 This package allows using Pacemaker on a Heartbeat cluster.
84 Summary: Pacemaker for Corosync cluster
85 Group: Applications/System
87 Requires: %{name} = %{version}-%{release}
90 This package allows using Pacemaker on a Corosync cluster.
93 Summary: Header files for Pacemaker libraries
94 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Pacemaker
95 Group: Development/Libraries
96 Requires: %{name}-libs = %{version}-%{release}
99 Header files for Pacemaker libraries.
102 Summary: Static Pacemaker libraries
103 Summary(pl.UTF-8): Statyczne biblioteki Pacemaker
104 Group: Development/Libraries
105 Requires: %{name}-devel = %{version}-%{release}
108 Static Pacemaker libraries.
111 %setup -qn ClusterLabs-pacemaker-1f8858c
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/init.d,%{systemdunitdir}}
138 DESTDIR=$RPM_BUILD_ROOT
140 rm -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
142 install %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
143 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
144 install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
147 rm -rf $RPM_BUILD_ROOT
150 %groupadd -g 60 haclient
151 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
154 /sbin/chkconfig --add %{name}
155 %service %{name} restart "%{name} daemon"
157 %systemd_post %{name}.service
160 if [ "$1" = "0" ]; then
161 %service %{name} stop
162 /sbin/chkconfig --del %{name}
164 %systemd_preun %{name}.service
169 %post libs -p /sbin/ldconfig
170 %postun libs -p /sbin/ldconfig
173 %defattr(644,root,root,755)
174 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
175 %{_datadir}/pacemaker
176 %dir %{_libdir}/%{name}
177 %attr(755,root,root) %{_libdir}/%{name}/attrd
178 %attr(755,root,root) %{_libdir}/%{name}/cib
179 %attr(755,root,root) %{_libdir}/%{name}/cibmon
180 %attr(755,root,root) %{_libdir}/%{name}/crmd
181 %attr(755,root,root) %{_libdir}/%{name}/lrmd
182 %attr(755,root,root) %{_libdir}/%{name}/lrmd_test
183 %attr(755,root,root) %{_libdir}/%{name}/pengine
184 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
185 %attr(755,root,root) %{_libdir}/%{name}/stonithd
186 %attr(755,root,root) %{_bindir}/ccs2cib
187 %attr(755,root,root) %{_bindir}/ccs_flatten
188 %attr(755,root,root) %{_bindir}/disable_rgmanager
189 %attr(755,root,root) %{_sbindir}/attrd_updater
190 %attr(755,root,root) %{_sbindir}/cibadmin
191 %attr(755,root,root) %{_sbindir}/crm_attribute
192 %attr(755,root,root) %{_sbindir}/crm_diff
193 %attr(755,root,root) %{_sbindir}/crm_error
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}/stonith_admin
212 %{_datadir}/snmp/mibs
215 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
216 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
217 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
218 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
219 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
220 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
221 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
222 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
223 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
224 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
225 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
226 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
227 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
228 /usr/lib/tmpfiles.d/%{name}.conf
229 %dir /var/lib/%{name}
230 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/blackbox
231 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
232 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
235 %defattr(644,root,root,755)
236 %attr(755,root,root) %{_libdir}/lib*.so.*.*
237 %attr(755,root,root) %{_libdir}/lib*.so.[0-9]
239 %if %{with heartbeat}
241 %defattr(644,root,root,755)
242 %attr(755,root,root) %{_libdir}/heartbeat/attrd
243 %attr(755,root,root) %{_libdir}/heartbeat/cib
244 %attr(755,root,root) %{_libdir}/heartbeat/crmd
245 %attr(755,root,root) %{_libdir}/heartbeat/pengine
246 %attr(755,root,root) %{_libdir}/heartbeat/stonithd
251 %defattr(644,root,root,755)
252 %attr(755,root,root) %{_sbindir}/pacemakerd
253 %attr(755,root,root) /etc/rc.d/init.d/%{name}
254 %{systemdunitdir}/%{name}.service
258 %defattr(644,root,root,755)
259 %{_includedir}/pacemaker
262 %{_pkgconfigdir}/*.pc
265 %defattr(644,root,root,755)