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