]> git.pld-linux.org Git - packages/pacemaker.git/blob - pacemaker.spec
34825699e0d9da9466f5e3ef90419edd59ab0eaf
[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.14
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:  8f9973085512b6782c019b6d9a78ca8e
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 %configure \
201         --with-acl \
202         --with-corosync%{!?with_corosync:=no} \
203         --with-esmtp \
204         --with-heartbeat%{!?with_heartbeat:=no} \
205         --with-initdir=/etc/rc.d/init.d \
206         --with-snmp \
207         --disable-fatal-warnings \
208         --disable-silent-rules
209
210 %{__make}
211
212 %install
213 rm -rf $RPM_BUILD_ROOT
214 install -d $RPM_BUILD_ROOT{/var/run/crm,/var/log}
215
216 %{__make} install \
217         mibdir=%{_datadir}/mibs \
218         DESTDIR=$RPM_BUILD_ROOT
219
220 touch $RPM_BUILD_ROOT/var/log/pacemaker.log
221
222 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
223
224 install -D %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
225 %if %{with corosync}
226 install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
227 install -D %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
228 %endif
229
230 %clean
231 rm -rf $RPM_BUILD_ROOT
232
233 %pre
234 %groupadd -g 60 haclient
235 %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
236
237 %post corosync
238 /sbin/chkconfig --add %{name}
239 %service %{name} restart "%{name} daemon"
240 %systemd_post %{name}.service
241
242 %preun
243 if [ "$1" = "0" ]; then
244         %service %{name} stop
245         /sbin/chkconfig --del %{name}
246 fi
247
248 %preun corosync
249 %systemd_preun %{name}.service
250
251 %postun corosync
252 %systemd_reload
253
254 %post remote
255 /sbin/chkconfig --add pacemaker_remote
256 %service pacemaker_remote restart "pacemaker_remote daemon"
257 %systemd_post pacemaker_remote.service
258
259 %preun remote
260 %systemd_preun %{name}.service
261
262 %postun remote
263 %systemd_reload
264
265 %post   libs -p /sbin/ldconfig
266 %postun libs -p /sbin/ldconfig
267
268 %files
269 %defattr(644,root,root,755)
270 %doc AUTHORS ChangeLog NEWS README.markdown TODO.markdown doc/*.html doc/{executioner,msg-schema,security}.txt doc/{openstack,pcs-crmsh-quick-ref}.md
271 %attr(755,root,root) %{_sbindir}/attrd_updater
272 %attr(755,root,root) %{_sbindir}/cibadmin
273 %attr(755,root,root) %{_sbindir}/crm_attribute
274 %attr(755,root,root) %{_sbindir}/crm_diff
275 %attr(755,root,root) %{_sbindir}/crm_error
276 %attr(755,root,root) %{_sbindir}/crm_failcount
277 %attr(755,root,root) %{_sbindir}/crm_master
278 %attr(755,root,root) %{_sbindir}/crm_mon
279 %attr(755,root,root) %{_sbindir}/crm_node
280 %attr(755,root,root) %{_sbindir}/crm_report
281 %attr(755,root,root) %{_sbindir}/crm_resource
282 %attr(755,root,root) %{_sbindir}/crm_simulate
283 %attr(755,root,root) %{_sbindir}/crm_shadow
284 %attr(755,root,root) %{_sbindir}/crm_standby
285 %attr(755,root,root) %{_sbindir}/crm_ticket
286 %attr(755,root,root) %{_sbindir}/crm_verify
287 %attr(755,root,root) %{_sbindir}/crmadmin
288 %attr(755,root,root) %{_sbindir}/fence_legacy
289 %attr(755,root,root) %{_sbindir}/fence_pcmk
290 %attr(755,root,root) %{_sbindir}/iso8601
291 %attr(755,root,root) %{_sbindir}/stonith_admin
292 %if %{with servicelog}
293 %if %{with ipmi}
294 %attr(755,root,root) %{_sbindir}/ipmiservicelogd
295 %endif
296 %attr(755,root,root) %{_sbindir}/notifyServicelogEvent
297 %endif
298 %dir %{_libdir}/%{name}
299 %attr(755,root,root) %{_libdir}/%{name}/attrd
300 %attr(755,root,root) %{_libdir}/%{name}/cib
301 %attr(755,root,root) %{_libdir}/%{name}/cibmon
302 %attr(755,root,root) %{_libdir}/%{name}/crmd
303 %attr(755,root,root) %{_libdir}/%{name}/lrmd
304 %attr(755,root,root) %{_libdir}/%{name}/lrmd_internal_ctl
305 %attr(755,root,root) %{_libdir}/%{name}/lrmd_test
306 %attr(755,root,root) %{_libdir}/%{name}/pengine
307 %attr(755,root,root) %{_libdir}/%{name}/stonith-test
308 %attr(755,root,root) %{_libdir}/%{name}/stonithd
309 %{_datadir}/pacemaker
310 %{_datadir}/mibs/PCMK-MIB.txt
311 %{py_sitedir}/cts
312 %{systemdunitdir}/crm_mon.service
313 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/pacemaker
314 %ghost /var/log/pacemaker.log
315 %{_mandir}/man7/crmd.7*
316 %{_mandir}/man7/ocf_pacemaker_*.7*
317 %{_mandir}/man7/pengine.7*
318 %{_mandir}/man7/stonithd.7*
319 %{_mandir}/man8/attrd_updater.8*
320 %{_mandir}/man8/cibadmin.8*
321 %{_mandir}/man8/crm_attribute.8*
322 %{_mandir}/man8/crm_diff.8*
323 %{_mandir}/man8/crm_error.8*
324 %{_mandir}/man8/crm_failcount.8*
325 %{_mandir}/man8/crm_master.8*
326 %{_mandir}/man8/crm_mon.8*
327 %{_mandir}/man8/crm_node.8*
328 %{_mandir}/man8/crm_report.8*
329 %{_mandir}/man8/crm_resource.8*
330 %{_mandir}/man8/crm_shadow.8*
331 %{_mandir}/man8/crm_simulate.8*
332 %{_mandir}/man8/crm_standby.8*
333 %{_mandir}/man8/crm_ticket.8*
334 %{_mandir}/man8/crm_verify.8*
335 %{_mandir}/man8/crmadmin.8*
336 %{_mandir}/man8/fence_legacy.8*
337 %{_mandir}/man8/fence_pcmk.8*
338 %{_mandir}/man8/iso8601.8*
339 %{_mandir}/man8/stonith_admin.8*
340 %if %{with servicelog}
341 %{_mandir}/man8/notifyServicelogEvent.8*
342 %endif
343
344 %dir %{_prefix}/lib/ocf/resource.d/.isolation
345 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/.isolation/docker-wrapper
346 %dir %{_prefix}/lib/ocf/resource.d/pacemaker
347 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
348 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
349 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthCPU
350 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/HealthSMART
351 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
352 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
353 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
354 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
355 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
356 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
357 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
358 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/remote
359
360 %dir /var/lib/%{name}
361 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/blackbox
362 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
363 %dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
364 %dir %attr(750,hacluster,haclient) %{_var}/run/crm
365 /usr/lib/tmpfiles.d/%{name}.conf
366
367 %files libs
368 %defattr(644,root,root,755)
369 %attr(755,root,root) %{_libdir}/libcib.so.*.*.*
370 %attr(755,root,root) %ghost %{_libdir}/libcib.so.4
371 %attr(755,root,root) %{_libdir}/libcrmcluster.so.*.*.*
372 %attr(755,root,root) %ghost %{_libdir}/libcrmcluster.so.4
373 %attr(755,root,root) %{_libdir}/libcrmcommon.so.*.*.*
374 %attr(755,root,root) %ghost %{_libdir}/libcrmcommon.so.3
375 %attr(755,root,root) %{_libdir}/libcrmservice.so.*.*.*
376 %attr(755,root,root) %ghost %{_libdir}/libcrmservice.so.3
377 %attr(755,root,root) %{_libdir}/liblrmd.so.*.*.*
378 %attr(755,root,root) %ghost %{_libdir}/liblrmd.so.1
379 %attr(755,root,root) %{_libdir}/libpe_rules.so.*.*.*
380 %attr(755,root,root) %ghost %{_libdir}/libpe_rules.so.2
381 %attr(755,root,root) %{_libdir}/libpe_status.so.*.*.*
382 %attr(755,root,root) %ghost %{_libdir}/libpe_status.so.10
383 %attr(755,root,root) %{_libdir}/libpengine.so.*.*.*
384 %attr(755,root,root) %ghost %{_libdir}/libpengine.so.10
385 %attr(755,root,root) %{_libdir}/libstonithd.so.*.*.*
386 %attr(755,root,root) %ghost %{_libdir}/libstonithd.so.2
387 %attr(755,root,root) %{_libdir}/libtransitioner.so.*.*.*
388 %attr(755,root,root) %ghost %{_libdir}/libtransitioner.so.2
389
390 %files devel
391 %defattr(644,root,root,755)
392 %attr(755,root,root) %{_libdir}/libcib.so
393 %attr(755,root,root) %{_libdir}/libcrmcluster.so
394 %attr(755,root,root) %{_libdir}/libcrmcommon.so
395 %attr(755,root,root) %{_libdir}/libcrmservice.so
396 %attr(755,root,root) %{_libdir}/liblrmd.so
397 %attr(755,root,root) %{_libdir}/libpe_rules.so
398 %attr(755,root,root) %{_libdir}/libpe_status.so
399 %attr(755,root,root) %{_libdir}/libpengine.so
400 %attr(755,root,root) %{_libdir}/libstonithd.so
401 %attr(755,root,root) %{_libdir}/libtransitioner.so
402 %{_libdir}/libcib.la
403 %{_libdir}/libcrmcluster.la
404 %{_libdir}/libcrmcommon.la
405 %{_libdir}/libcrmservice.la
406 %{_libdir}/liblrmd.la
407 %{_libdir}/libpe_rules.la
408 %{_libdir}/libpe_status.la
409 %{_libdir}/libpengine.la
410 %{_libdir}/libstonithd.la
411 %{_libdir}/libtransitioner.la
412 %{_includedir}/pacemaker
413 %{_pkgconfigdir}/pacemaker.pc
414 %{_pkgconfigdir}/pacemaker-cib.pc
415 %{_pkgconfigdir}/pacemaker-cluster.pc
416 %{_pkgconfigdir}/pacemaker-fencing.pc
417 %{_pkgconfigdir}/pacemaker-lrmd.pc
418 %{_pkgconfigdir}/pacemaker-pengine.pc
419 %{_pkgconfigdir}/pacemaker-service.pc
420
421 %files static
422 %defattr(644,root,root,755)
423 %{_libdir}/libcib.a
424 %{_libdir}/libcrmcluster.a
425 %{_libdir}/libcrmcommon.a
426 %{_libdir}/libcrmservice.a
427 %{_libdir}/liblrmd.a
428 %{_libdir}/libpe_rules.a
429 %{_libdir}/libpe_status.a
430 %{_libdir}/libpengine.a
431 %{_libdir}/libstonithd.a
432 %{_libdir}/libtransitioner.a
433
434 %files remote
435 %defattr(644,root,root,755)
436 %attr(755,root,root) %{_sbindir}/pacemaker_remoted
437 %attr(755,root,root) /etc/rc.d/init.d/pacemaker_remote
438 %{systemdunitdir}/pacemaker_remote.service
439 %{_mandir}/man8/pacemaker_remoted.8*
440
441 %if %{with heartbeat}
442 %files heartbeat
443 %defattr(644,root,root,755)
444 %attr(755,root,root) %{_sbindir}/crm_uuid
445 %{_mandir}/man8/crm_uuid.8*
446 %endif
447
448 %if %{with corosync}
449 %files corosync
450 %defattr(644,root,root,755)
451 %attr(755,root,root) %{_sbindir}/pacemakerd
452 %attr(755,root,root) /etc/rc.d/init.d/%{name}
453 %{systemdunitdir}/%{name}.service
454 %{_mandir}/man8/pacemakerd.8*
455 %endif
This page took 0.067945 seconds and 3 git commands to generate.