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