]> git.pld-linux.org Git - packages/pacemaker.git/blob - pacemaker.spec
- updated to 1.1.11
[packages/pacemaker.git] / pacemaker.spec
1 #
2 # Conditional build:
3 %bcond_without  corosync        # Corosync stack support
4 %bcond_without  heartbeat       # Heartbeat stack support
5 %bcond_without  servicelog      # ServiceLog support [IBM PPC specific]
6 %bcond_without  ipmi            # IPMI ServiceLog support [IBM PPC specific]
7 #
8 %ifnarch ppc ppc64
9 %undefine       with_servicelog
10 %endif
11 %if %{without servicelog}
12 %undefine       with_ipmi
13 %endif
14 Summary:        The scalable High-Availability cluster resource manager
15 Summary(pl.UTF-8):      Skalowalny zarządca zasobów klastrów o wysokiej dostępności
16 Name:           pacemaker
17 Version:        1.1.11
18 Release:        1
19 License:        GPL v2+, LGPL v2.1+
20 Group:          Applications/System
21 Source0:        https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-%{version}.tar.gz
22 # Source0-md5:  7cbe4f8ef2b300c3426a0c12a0c67c93
23 Source1:        %{name}.tmpfiles
24 Source2:        %{name}.init
25 Source3:        %{name}.service
26 Patch0:         %{name}-automake.patch
27 Patch1:         %{name}-manpage_xslt.patch
28 Patch2:         %{name}-update.patch
29 Patch3:         %{name}-man.patch
30 Patch4:         %{name}-libs.patch
31 URL:            http://clusterlabs.org/wiki/Main_Page
32 %{?with_ipmi:BuildRequires:     OpenIPMI-devel}
33 BuildRequires:  asciidoc
34 BuildRequires:  autoconf >= 2.59
35 BuildRequires:  automake
36 BuildRequires:  bison
37 BuildRequires:  bzip2-devel
38 BuildRequires:  cluster-glue-libs-devel
39 %{?with_corosync:BuildRequires: corosync-devel >= 2.0}
40 BuildRequires:  dbus-devel
41 BuildRequires:  docbook-style-xsl
42 BuildRequires:  e2fsprogs-devel
43 BuildRequires:  flex
44 BuildRequires:  gettext-devel
45 BuildRequires:  glib2-devel >= 2.0
46 BuildRequires:  gnutls-devel
47 BuildRequires:  help2man
48 %{?with_heartbeat:BuildRequires:        heartbeat-devel >= 3.0.5-6}
49 BuildRequires:  libesmtp-devel
50 BuildRequires:  libltdl-devel
51 BuildRequires:  libqb-devel >= 0.13
52 %{?with_servicelog:BuildRequires:       libservicelog-devel}
53 BuildRequires:  libtool
54 BuildRequires:  libuuid-devel
55 BuildRequires:  libxml2-devel >= 2.0
56 BuildRequires:  libxslt-devel
57 BuildRequires:  libxslt-progs
58 BuildRequires:  ncurses-devel >= 5.4
59 BuildRequires:  net-snmp-devel
60 BuildRequires:  pam-devel
61 BuildRequires:  pciutils-devel
62 BuildRequires:  pkgconfig
63 BuildRequires:  python-devel
64 BuildRequires:  rpm-pythonprov
65 BuildRequires:  rpmbuild(macros) >= 1.644
66 BuildRequires:  systemd-units
67 BuildRequires:  swig
68 Requires:       %{name}-libs = %{version}-%{release}
69 Requires:       cluster-glue
70 Requires:       resource-agents
71 Provides:       group(haclient)
72 Provides:       user(hacluster)
73 Suggests:       pacemaker-shell
74 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75
76 %description
77 Pacemaker makes use of your cluster infrastructure (either 
78 Corosync/OpenAIS or Heartbeat) to stop, start and monitor the health
79 of the services (aka. resources) you want the cluster to provide.
80
81 It can do this for clusters of practically any size and comes with a
82 powerful dependency model that allows the administrator to accurately
83 express the relationships (both ordering and location) between the
84 cluster resources.
85
86 Pacemaker was formely a part of Heartbeat.
87
88 %description -l pl.UTF-8
89 Pacemaker wykorzystuje infrastrukturę klastrową (Corosync/OpenAIS lub
90 Heartbeat) do zatrzymywania, uruchamiania i monitorowania działania
91 usług (tzw. zasobów), które ma udostępniać klaster.
92
93 Jest w stanie obsłużyć klastry praktycznie dowolnych rozmiarów,
94 zawiera elastyczny model zależności, pozwalający administratorowi
95 dokładnie opisać powiązania (zarówno kolejność, jak i położenie)
96 między zasobami klastra.
97
98 Pacemaker był wcześniej częścią pakietu Heartbeat.
99
100 %package libs
101 Summary:        Pacemaker libraries
102 Summary(pl.UTF-8):      Biblioteki Pacemakera
103 Group:          Libraries
104
105 %description libs
106 Shared libraries for Pacemaker.
107
108 %description libs -l pl.UTF-8
109 Biblioteki współdzielone Pacemakera.
110
111 %package devel
112 Summary:        Header files for Pacemaker libraries
113 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek Pacemakera
114 Group:          Development/Libraries
115 Requires:       %{name}-libs = %{version}-%{release}
116
117 %description devel
118 Header files for Pacemaker libraries.
119
120 %description devel -l pl.UTF-8
121 Pliki nagłówkowe bibliotek Pacemakera.
122
123 %package static
124 Summary:        Static Pacemaker libraries
125 Summary(pl.UTF-8):      Statyczne biblioteki Pacemakera
126 Group:          Development/Libraries
127 Requires:       %{name}-devel = %{version}-%{release}
128
129 %description static
130 Static Pacemaker libraries.
131
132 %description static -l pl.UTF-8
133 Statyczne biblioteki Pacemakera.
134
135 %package heartbeat
136 Summary:        Pacemaker for Heartbeat cluster
137 Summary(pl.UTF-8):      Pacemaker dla klastra Heartbeat
138 Group:          Applications/System
139 Requires:       %{name} = %{version}-%{release}
140 Requires:       heartbeat
141 Obsoletes:      pacemaker < 1.1
142 Conflicts:      heartbeat < 2.99.0
143
144 %description heartbeat
145 This package allows using Pacemaker on a Heartbeat cluster.
146
147 %description heartbeat -l pl.UTF-8
148 Ten pakiet pozwala na używanie Pacemakera na klastrze Heartbeat.
149
150 %package corosync
151 Summary:        Pacemaker for Corosync cluster
152 Summary(pl.UTF-8):      Pacemaker dla klastra Corosync
153 Group:          Applications/System
154 Requires:       %{name} = %{version}-%{release}
155 Requires:       corosync
156 Requires:       systemd-units >= 38
157 %{?with_heartbeat:%requires_eq  heartbeat-libs}
158
159 %description corosync
160 This package allows using Pacemaker on a Corosync cluster.
161
162 %description corosync -l pl.UTF-8
163 Ten pakiet pozwala na używanie Pacemakera na klastrze Corosync.
164
165 %package remote
166 Summary:        Remote services manager for Pacemaker
167 Summary(pl.UTF-8):      Zarządca usług zdalnych dla Pacemakera
168 Group:          Applications/System
169 Requires:       systemd-units >= 38
170 Requires:       %{name} = %{version}-%{release}
171
172 %description remote
173 This package allows running Pacemaker-managed services on 'virtual'
174 nodes without actual cluster stack. This is useful to manage services
175 in virtual machines or containers running on a Pacemaker cluster.
176
177 %description remote -l pl.UTF-8
178 Ten pakiet pozwala na uruchamianie usług zarządzanych przez Pacemakera
179 na węzłach "wirtualnych" bez zainstalowanego całego stosu klastrowego.
180 Jest to przydatne przy zarządzaniu usługami na maszynach wirtualncych
181 lub w kontenerach uruchomionych na klastrze opartym o Pacemaker.
182
183 %prep
184 %setup -qn pacemaker-Pacemaker-%{version}
185 %patch0 -p1
186 %patch1 -p1
187 %patch2 -p1
188 %patch3 -p1
189 %patch4 -p1
190
191 %build
192 %{__libtoolize}
193 %{__aclocal} -I m4
194 %{__autoconf}
195 %{__autoheader}
196 %{__automake}
197
198 CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}"
199 %configure \
200         --with-acl \
201         --with-corosync%{!?with_corosync:=no} \
202         --with-esmtp \
203         --with-heartbeat%{!?with_heartbeat:=no} \
204         --with-initdir=/etc/rc.d/init.d \
205         --with-snmp \
206         --disable-fatal-warnings \
207         --disable-silent-rules
208
209 %{__make}
210
211 %install
212 rm -rf $RPM_BUILD_ROOT
213
214 %{__make} install \
215         DESTDIR=$RPM_BUILD_ROOT
216
217 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
218
219 install -D %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
220 %if %{with corosync}
221 install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
222 install -D %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
223 %endif
224
225 %clean
226 rm -rf $RPM_BUILD_ROOT
227
228 %pre
229 %groupadd -g 60 haclient
230 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
231
232 %post corosync
233 /sbin/chkconfig --add %{name}
234 %service %{name} restart "%{name} daemon"
235 %systemd_post %{name}.service
236
237 %preun
238 if [ "$1" = "0" ]; then
239         %service %{name} stop
240         /sbin/chkconfig --del %{name}
241 fi
242
243 %preun corosync
244 %systemd_preun %{name}.service
245
246 %postun corosync
247 %systemd_reload
248
249 %post remote
250 /sbin/chkconfig --add pacemaker_remote
251 %service pacemaker_remote restart "pacemaker_remote daemon"
252 %systemd_post pacemaker_remote.service
253
254 %preun remote
255 %systemd_preun %{name}.service
256
257 %postun remote
258 %systemd_reload
259
260 %post   libs -p /sbin/ldconfig
261 %postun libs -p /sbin/ldconfig
262
263 %files
264 %defattr(644,root,root,755)
265 %doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
266 %attr(755,root,root) %{_sbindir}/attrd_updater
267 %attr(755,root,root) %{_sbindir}/cibadmin
268 %attr(755,root,root) %{_sbindir}/crm_attribute
269 %attr(755,root,root) %{_sbindir}/crm_diff
270 %attr(755,root,root) %{_sbindir}/crm_error
271 %attr(755,root,root) %{_sbindir}/crm_failcount
272 %attr(755,root,root) %{_sbindir}/crm_master
273 %attr(755,root,root) %{_sbindir}/crm_mon
274 %attr(755,root,root) %{_sbindir}/crm_node
275 %attr(755,root,root) %{_sbindir}/crm_report
276 %attr(755,root,root) %{_sbindir}/crm_resource
277 %attr(755,root,root) %{_sbindir}/crm_simulate
278 %attr(755,root,root) %{_sbindir}/crm_shadow
279 %attr(755,root,root) %{_sbindir}/crm_standby
280 %attr(755,root,root) %{_sbindir}/crm_ticket
281 %attr(755,root,root) %{_sbindir}/crm_verify
282 %attr(755,root,root) %{_sbindir}/crmadmin
283 %attr(755,root,root) %{_sbindir}/fence_legacy
284 %attr(755,root,root) %{_sbindir}/fence_pcmk
285 %attr(755,root,root) %{_sbindir}/iso8601
286 %attr(755,root,root) %{_sbindir}/stonith_admin
287 %if %{with servicelog}
288 %if %{with ipmi}
289 %attr(755,root,root) %{_sbindir}/ipmiservicelogd
290 %endif
291 %attr(755,root,root) %{_sbindir}/notifyServicelogEvent
292 %endif
293 %dir %{_libdir}/%{name}
294 %attr(755,root,root) %{_libdir}/%{name}/attrd
295 %attr(755,root,root) %{_libdir}/%{name}/cib
296 %attr(755,root,root) %{_libdir}/%{name}/cibmon
297 %attr(755,root,root) %{_libdir}/%{name}/crmd
298 %attr(755,root,root) %{_libdir}/%{name}/lrmd
299 %attr(755,root,root) %{_libdir}/%{name}/lrmd_test
300 %attr(755,root,root) %{_libdir}/%{name}/pengine
301 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
302 %attr(755,root,root) %{_libdir}/%{name}/stonithd
303 %{_datadir}/pacemaker
304 %{_datadir}/snmp/mibs/PCMK-MIB.txt
305 %{py_sitedir}/cts
306 %{_mandir}/man7/crmd.7*
307 %{_mandir}/man7/ocf_pacemaker_*.7*
308 %{_mandir}/man7/pengine.7*
309 %{_mandir}/man7/stonithd.7*
310 %{_mandir}/man8/attrd_updater.8*
311 %{_mandir}/man8/cibadmin.8*
312 %{_mandir}/man8/crm_attribute.8*
313 %{_mandir}/man8/crm_diff.8*
314 %{_mandir}/man8/crm_error.8*
315 %{_mandir}/man8/crm_failcount.8*
316 %{_mandir}/man8/crm_master.8*
317 %{_mandir}/man8/crm_mon.8*
318 %{_mandir}/man8/crm_node.8*
319 %{_mandir}/man8/crm_report.8*
320 %{_mandir}/man8/crm_resource.8*
321 %{_mandir}/man8/crm_shadow.8*
322 %{_mandir}/man8/crm_simulate.8*
323 %{_mandir}/man8/crm_standby.8*
324 %{_mandir}/man8/crm_ticket.8*
325 %{_mandir}/man8/crm_verify.8*
326 %{_mandir}/man8/crmadmin.8*
327 %{_mandir}/man8/fence_legacy.8*
328 %{_mandir}/man8/fence_pcmk.8*
329 %{_mandir}/man8/iso8601.8*
330 %{_mandir}/man8/stonith_admin.8*
331 %if %{with servicelog}
332 %{_mandir}/man8/notifyServicelogEvent.8*
333 %endif
334
335 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
336 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
337 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
338 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
339 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
340 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
341 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
342 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
343 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
344 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
345 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
346 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
347 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/remote
348
349 %dir /var/lib/%{name}
350 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/blackbox
351 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
352 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
353 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
354 /usr/lib/tmpfiles.d/%{name}.conf
355
356 %files libs
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_libdir}/libcib.so.*.*.*
359 %attr(755,root,root) %ghost %{_libdir}/libcib.so.3
360 %attr(755,root,root) %{_libdir}/libcrmcluster.so.*.*.*
361 %attr(755,root,root) %ghost %{_libdir}/libcrmcluster.so.4
362 %attr(755,root,root) %{_libdir}/libcrmcommon.so.*.*.*
363 %attr(755,root,root) %ghost %{_libdir}/libcrmcommon.so.3
364 %attr(755,root,root) %{_libdir}/libcrmservice.so.*.*.*
365 %attr(755,root,root) %ghost %{_libdir}/libcrmservice.so.1
366 %attr(755,root,root) %{_libdir}/liblrmd.so.*.*.*
367 %attr(755,root,root) %ghost %{_libdir}/liblrmd.so.1
368 %attr(755,root,root) %{_libdir}/libpe_rules.so.*.*.*
369 %attr(755,root,root) %ghost %{_libdir}/libpe_rules.so.2
370 %attr(755,root,root) %{_libdir}/libpe_status.so.*.*.*
371 %attr(755,root,root) %ghost %{_libdir}/libpe_status.so.4
372 %attr(755,root,root) %{_libdir}/libpengine.so.*.*.*
373 %attr(755,root,root) %ghost %{_libdir}/libpengine.so.4
374 %attr(755,root,root) %{_libdir}/libstonithd.so.*.*.*
375 %attr(755,root,root) %ghost %{_libdir}/libstonithd.so.2
376 %attr(755,root,root) %{_libdir}/libtransitioner.so.*.*.*
377 %attr(755,root,root) %ghost %{_libdir}/libtransitioner.so.2
378
379 %files devel
380 %defattr(644,root,root,755)
381 %attr(755,root,root) %{_libdir}/libcib.so
382 %attr(755,root,root) %{_libdir}/libcrmcluster.so
383 %attr(755,root,root) %{_libdir}/libcrmcommon.so
384 %attr(755,root,root) %{_libdir}/libcrmservice.so
385 %attr(755,root,root) %{_libdir}/liblrmd.so
386 %attr(755,root,root) %{_libdir}/libpe_rules.so
387 %attr(755,root,root) %{_libdir}/libpe_status.so
388 %attr(755,root,root) %{_libdir}/libpengine.so
389 %attr(755,root,root) %{_libdir}/libstonithd.so
390 %attr(755,root,root) %{_libdir}/libtransitioner.so
391 %{_libdir}/libcib.la
392 %{_libdir}/libcrmcluster.la
393 %{_libdir}/libcrmcommon.la
394 %{_libdir}/libcrmservice.la
395 %{_libdir}/liblrmd.la
396 %{_libdir}/libpe_rules.la
397 %{_libdir}/libpe_status.la
398 %{_libdir}/libpengine.la
399 %{_libdir}/libstonithd.la
400 %{_libdir}/libtransitioner.la
401 %{_includedir}/pacemaker
402 %{_pkgconfigdir}/pacemaker.pc
403 %{_pkgconfigdir}/pacemaker-cib.pc
404 %{_pkgconfigdir}/pacemaker-cluster.pc
405 %{_pkgconfigdir}/pacemaker-fencing.pc
406 %{_pkgconfigdir}/pacemaker-lrmd.pc
407 %{_pkgconfigdir}/pacemaker-pengine.pc
408 %{_pkgconfigdir}/pacemaker-service.pc
409
410 %files static
411 %defattr(644,root,root,755)
412 %{_libdir}/libcib.a
413 %{_libdir}/libcrmcluster.a
414 %{_libdir}/libcrmcommon.a
415 %{_libdir}/libcrmservice.a
416 %{_libdir}/liblrmd.a
417 %{_libdir}/libpe_rules.a
418 %{_libdir}/libpe_status.a
419 %{_libdir}/libpengine.a
420 %{_libdir}/libstonithd.a
421 %{_libdir}/libtransitioner.a
422
423 %files remote
424 %defattr(644,root,root,755)
425 %attr(755,root,root) %{_sbindir}/pacemaker_remoted
426 %attr(755,root,root) /etc/rc.d/init.d/pacemaker_remote
427 %{systemdunitdir}/pacemaker_remote.service
428 %{_mandir}/man8/pacemaker_remoted.8*
429
430 %if %{with heartbeat}
431 %files heartbeat
432 %defattr(644,root,root,755)
433 %attr(755,root,root) %{_sbindir}/crm_uuid
434 %attr(755,root,root) %{_libdir}/heartbeat/attrd
435 %attr(755,root,root) %{_libdir}/heartbeat/cib
436 %attr(755,root,root) %{_libdir}/heartbeat/crmd
437 %attr(755,root,root) %{_libdir}/heartbeat/pengine
438 %attr(755,root,root) %{_libdir}/heartbeat/stonithd
439 %{_mandir}/man8/crm_uuid.8*
440 %endif
441
442 %if %{with corosync}
443 %files corosync
444 %defattr(644,root,root,755)
445 %attr(755,root,root) %{_sbindir}/pacemakerd
446 %attr(755,root,root) /etc/rc.d/init.d/%{name}
447 %{systemdunitdir}/%{name}.service
448 %{_mandir}/man8/pacemakerd.8*
449 %endif
This page took 0.057007 seconds and 4 git commands to generate.