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