]> git.pld-linux.org Git - packages/pacemaker.git/blob - pacemaker.spec
- rel 2
[packages/pacemaker.git] / pacemaker.spec
1 #
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
5 Name:           pacemaker
6 Version:        1.1.10
7 %define _rc     5
8 Release:        0.rc%{_rc}.2
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
14 Source2:        %{name}.init
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
30 BuildRequires:  libqb
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
42 BuildRequires:  swig
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)
52
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.*
56
57 %description
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.
61
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
65 cluster resources.
66
67 Pacemaker was formely a part of Heartbeat.
68
69 %package libs
70 Summary:        Pacemaker libraries
71 Group:          Libraries
72
73 %description libs
74 Shared libraries for Pacemaker.
75
76 %package heartbeat
77 Summary:        Pacemaker for Heartbeat cluster
78 Group:          Applications/System
79 Requires:       heartbeat
80 Obsoletes:      %{name} < 1.1
81 Conflicts:      heartbeat < 2.99.0
82 Requires:       %{name} = %{version}-%{release}
83
84 %description heartbeat
85 This package allows using Pacemaker on a Heartbeat cluster.
86
87 %package corosync
88 Summary:        Pacemaker for Corosync cluster
89 Group:          Applications/System
90 Requires:       corosync
91 Requires:       systemd-units >= 38
92 %{?with_heartbeat:%requires_eq  heartbeat-libs}
93 Requires:       %{name} = %{version}-%{release}
94
95 %description corosync
96 This package allows using Pacemaker on a Corosync cluster.
97
98 %package remote
99 Summary:        Remote services manager for Pacemaker
100 Group:          Applications/System
101 Requires:       systemd-units >= 38
102 Requires:       %{name} = %{version}-%{release}
103
104 %description remote
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.
108
109 %package devel
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}
114
115 %description devel
116 Header files for Pacemaker libraries.
117
118 %package static
119 Summary:        Static Pacemaker libraries
120 Summary(pl.UTF-8):      Statyczne biblioteki Pacemaker
121 Group:          Development/Libraries
122 Requires:       %{name}-devel = %{version}-%{release}
123
124 %description static
125 Static Pacemaker libraries.
126
127 %prep
128 %setup -qn pacemaker-Pacemaker-%{version}-rc%{_rc}
129 %patch0 -p1
130 %patch1 -p1
131
132 %build
133 %{__libtoolize}
134 %{__aclocal} -I m4
135 %{__autoconf}
136 %{__autoheader}
137 %{__automake}
138
139 %configure \
140         CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}" \
141         --with-heartbeat%{!?with_heartbeat:=no} \
142         --with-corosync%{!?with_corosync:=no} \
143         --with-snmp \
144         --with-esmtp \
145         --with-acl \
146         --with-initdir=/etc/rc.d/init.d \
147         --disable-fatal-warnings
148
149 %{__make}
150
151 %install
152 rm -rf $RPM_BUILD_ROOT
153 install -d $RPM_BUILD_ROOT{/usr/lib/tmpfiles.d,/etc/rc.d/init.d,%{systemdunitdir}}
154
155 %{__make} install \
156         DESTDIR=$RPM_BUILD_ROOT
157
158 rm -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
159
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
163
164 %clean
165 rm -rf $RPM_BUILD_ROOT
166
167 %pre
168 %groupadd -g 60 haclient
169 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
170
171 %post corosync
172 /sbin/chkconfig --add %{name}
173 %service %{name} restart "%{name} daemon"
174 %systemd_post %{name}.service
175
176 %preun
177 if [ "$1" = "0" ]; then
178         %service %{name} stop
179         /sbin/chkconfig --del %{name}
180 fi
181
182 %preun corosync
183 %systemd_preun %{name}.service
184
185 %postun corosync
186 %systemd_reload
187
188 %post remote
189 /sbin/chkconfig --add pacemaker_remote
190 %service pacemaker_remote restart "pacemaker_remote daemon"
191 %systemd_post pacemaker_remote.service
192
193 %preun remote
194 %systemd_preun %{name}.service
195
196 %postun remote
197 %systemd_reload
198
199 %post   libs -p /sbin/ldconfig
200 %postun libs -p /sbin/ldconfig
201
202 %files
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
240 %{py_sitedir}/cts
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
263 %{_mandir}/man7/*.7*
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
283
284 %files libs
285 %defattr(644,root,root,755)
286 %attr(755,root,root) %{_libdir}/lib*.so.*.*
287 %attr(755,root,root) %{_libdir}/lib*.so.[0-9]
288
289 %files remote
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
295
296 %if %{with heartbeat}
297 %files 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
306 %endif
307
308 %if %{with corosync}
309 %files corosync
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
315 %endif
316
317 %files devel
318 %defattr(644,root,root,755)
319 %{_includedir}/pacemaker
320 %{_libdir}/*.so
321 %{_libdir}/*.la
322 %{_pkgconfigdir}/*.pc
323
324 %files static
325 %defattr(644,root,root,755)
326 %{_libdir}/*.a
This page took 0.070175 seconds and 3 git commands to generate.