]> git.pld-linux.org Git - packages/pacemaker.git/blame - pacemaker.spec
- x32 rebuild
[packages/pacemaker.git] / pacemaker.spec
CommitLineData
da3fb05a 1#
a5de291a
JB
2# Conditional build:
3%bcond_without corosync # Corosync stack support
4%bcond_without heartbeat # Heartbeat stack support
650f9adf
JB
5%bcond_without servicelog # ServiceLog support [IBM PPC specific]
6%bcond_without ipmi # IPMI ServiceLog support [IBM PPC specific]
a5de291a 7#
650f9adf
JB
8%ifnarch ppc ppc64
9%undefine with_servicelog
10%endif
11%if %{without servicelog}
12%undefine with_ipmi
13%endif
01ea2d51 14Summary: The scalable High-Availability cluster resource manager
a5de291a 15Summary(pl.UTF-8): Skalowalny zarządca zasobów klastrów o wysokiej dostępności
01ea2d51 16Name: pacemaker
68084dab 17Version: 1.1.11
cfb4e6d3 18Release: 4
a5de291a 19License: GPL v2+, LGPL v2.1+
01ea2d51 20Group: Applications/System
79e2c602 21Source0: https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-%{version}.tar.gz
68084dab 22# Source0-md5: 7cbe4f8ef2b300c3426a0c12a0c67c93
0fe40bd1 23Source1: %{name}.tmpfiles
d45bf2c6
JK
24Source2: %{name}.init
25Source3: %{name}.service
1b4a22d1
JK
26Patch0: %{name}-automake.patch
27Patch1: %{name}-manpage_xslt.patch
68084dab
JB
28Patch2: %{name}-update.patch
29Patch3: %{name}-man.patch
30Patch4: %{name}-libs.patch
01ea2d51 31URL: http://clusterlabs.org/wiki/Main_Page
650f9adf 32%{?with_ipmi:BuildRequires: OpenIPMI-devel}
da3fb05a 33BuildRequires: asciidoc
650f9adf 34BuildRequires: autoconf >= 2.59
01ea2d51 35BuildRequires: automake
68084dab 36BuildRequires: bison
01ea2d51 37BuildRequires: bzip2-devel
a5de291a 38BuildRequires: cluster-glue-libs-devel
ed3071d2 39%{?with_corosync:BuildRequires: corosync-devel >= 2.0}
68084dab 40BuildRequires: dbus-devel
7a65b1fb 41BuildRequires: docbook-style-xsl
01ea2d51 42BuildRequires: e2fsprogs-devel
68084dab 43BuildRequires: flex
e32df161 44BuildRequires: gettext-tools
650f9adf 45BuildRequires: glib2-devel >= 2.0
01ea2d51 46BuildRequires: gnutls-devel
650f9adf 47BuildRequires: help2man
a5de291a 48%{?with_heartbeat:BuildRequires: heartbeat-devel >= 3.0.5-6}
01ea2d51 49BuildRequires: libesmtp-devel
650f9adf
JB
50BuildRequires: libltdl-devel
51BuildRequires: libqb-devel >= 0.13
52%{?with_servicelog:BuildRequires: libservicelog-devel}
01ea2d51 53BuildRequires: libtool
650f9adf
JB
54BuildRequires: libuuid-devel
55BuildRequires: libxml2-devel >= 2.0
01ea2d51 56BuildRequires: libxslt-devel
7a65b1fb 57BuildRequires: libxslt-progs
68084dab 58BuildRequires: ncurses-devel >= 5.4
01ea2d51
JK
59BuildRequires: net-snmp-devel
60BuildRequires: pam-devel
a5de291a 61BuildRequires: pciutils-devel
01ea2d51
JK
62BuildRequires: pkgconfig
63BuildRequires: python-devel
07ce3f2c 64BuildRequires: rpm-pythonprov
68084dab
JB
65BuildRequires: rpmbuild(macros) >= 1.644
66BuildRequires: systemd-units
01ea2d51 67BuildRequires: swig
a5de291a 68Requires: %{name}-libs = %{version}-%{release}
ed3071d2 69Requires: cluster-glue
49485c8c 70Requires: resource-agents
20da0353
JK
71Provides: group(haclient)
72Provides: user(hacluster)
ed3071d2 73Suggests: pacemaker-shell
01ea2d51
JK
74BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75
76%description
d45bf2c6
JK
77Pacemaker makes use of your cluster infrastructure (either
78Corosync/OpenAIS or Heartbeat) to stop, start and monitor the health
a5de291a 79of the services (aka. resources) you want the cluster to provide.
01ea2d51
JK
80
81It can do this for clusters of practically any size and comes with a
82powerful dependency model that allows the administrator to accurately
83express the relationships (both ordering and location) between the
84cluster resources.
85
86Pacemaker was formely a part of Heartbeat.
87
a5de291a
JB
88%description -l pl.UTF-8
89Pacemaker wykorzystuje infrastrukturę klastrową (Corosync/OpenAIS lub
90Heartbeat) do zatrzymywania, uruchamiania i monitorowania działania
91usług (tzw. zasobów), które ma udostępniać klaster.
92
93Jest w stanie obsłużyć klastry praktycznie dowolnych rozmiarów,
94zawiera elastyczny model zależności, pozwalający administratorowi
95dokładnie opisać powiązania (zarówno kolejność, jak i położenie)
96między zasobami klastra.
97
98Pacemaker był wcześniej częścią pakietu Heartbeat.
99
01ea2d51
JK
100%package libs
101Summary: Pacemaker libraries
a5de291a 102Summary(pl.UTF-8): Biblioteki Pacemakera
01ea2d51
JK
103Group: Libraries
104
105%description libs
106Shared libraries for Pacemaker.
107
a5de291a
JB
108%description libs -l pl.UTF-8
109Biblioteki współdzielone Pacemakera.
110
111%package devel
112Summary: Header files for Pacemaker libraries
113Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Pacemakera
114Group: Development/Libraries
115Requires: %{name}-libs = %{version}-%{release}
116
117%description devel
118Header files for Pacemaker libraries.
119
120%description devel -l pl.UTF-8
121Pliki nagłówkowe bibliotek Pacemakera.
122
123%package static
124Summary: Static Pacemaker libraries
125Summary(pl.UTF-8): Statyczne biblioteki Pacemakera
126Group: Development/Libraries
127Requires: %{name}-devel = %{version}-%{release}
128
129%description static
130Static Pacemaker libraries.
131
132%description static -l pl.UTF-8
133Statyczne biblioteki Pacemakera.
134
da3fb05a
JK
135%package heartbeat
136Summary: Pacemaker for Heartbeat cluster
a5de291a 137Summary(pl.UTF-8): Pacemaker dla klastra Heartbeat
da3fb05a 138Group: Applications/System
a5de291a 139Requires: %{name} = %{version}-%{release}
da3fb05a 140Requires: heartbeat
a5de291a 141Obsoletes: pacemaker < 1.1
da3fb05a 142Conflicts: heartbeat < 2.99.0
da3fb05a
JK
143
144%description heartbeat
145This package allows using Pacemaker on a Heartbeat cluster.
146
a5de291a
JB
147%description heartbeat -l pl.UTF-8
148Ten pakiet pozwala na używanie Pacemakera na klastrze Heartbeat.
149
da3fb05a
JK
150%package corosync
151Summary: Pacemaker for Corosync cluster
a5de291a 152Summary(pl.UTF-8): Pacemaker dla klastra Corosync
da3fb05a 153Group: Applications/System
a5de291a 154Requires: %{name} = %{version}-%{release}
da3fb05a 155Requires: corosync
68084dab 156Requires: systemd-units >= 38
8a8116ff 157%{?with_heartbeat:%requires_eq heartbeat-libs}
da3fb05a
JK
158
159%description corosync
160This package allows using Pacemaker on a Corosync cluster.
161
a5de291a
JB
162%description corosync -l pl.UTF-8
163Ten pakiet pozwala na używanie Pacemakera na klastrze Corosync.
164
f4369631
JK
165%package remote
166Summary: Remote services manager for Pacemaker
a5de291a 167Summary(pl.UTF-8): Zarządca usług zdalnych dla Pacemakera
f4369631 168Group: Applications/System
68084dab 169Requires: systemd-units >= 38
f4369631
JK
170Requires: %{name} = %{version}-%{release}
171
172%description remote
173This package allows running Pacemaker-managed services on 'virtual'
a5de291a
JB
174nodes without actual cluster stack. This is useful to manage services
175in virtual machines or containers running on a Pacemaker cluster.
01ea2d51 176
a5de291a
JB
177%description remote -l pl.UTF-8
178Ten pakiet pozwala na uruchamianie usług zarządzanych przez Pacemakera
179na węzłach "wirtualnych" bez zainstalowanego całego stosu klastrowego.
180Jest to przydatne przy zarządzaniu usługami na maszynach wirtualncych
181lub w kontenerach uruchomionych na klastrze opartym o Pacemaker.
01ea2d51
JK
182
183%prep
79e2c602 184%setup -qn pacemaker-Pacemaker-%{version}
01ea2d51 185%patch0 -p1
9ab8266a 186%patch1 -p1
650f9adf
JB
187%patch2 -p1
188%patch3 -p1
189%patch4 -p1
01ea2d51
JK
190
191%build
192%{__libtoolize}
ed3071d2 193%{__aclocal} -I m4
01ea2d51
JK
194%{__autoconf}
195%{__autoheader}
196%{__automake}
197
650f9adf 198CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}"
01ea2d51 199%configure \
a5de291a 200 --with-acl \
da3fb05a 201 --with-corosync%{!?with_corosync:=no} \
01ea2d51 202 --with-esmtp \
a5de291a 203 --with-heartbeat%{!?with_heartbeat:=no} \
66b40b4d 204 --with-initdir=/etc/rc.d/init.d \
a5de291a 205 --with-snmp \
650f9adf
JB
206 --disable-fatal-warnings \
207 --disable-silent-rules
01ea2d51
JK
208
209%{__make}
210
211%install
212rm -rf $RPM_BUILD_ROOT
213
214%{__make} install \
df1ba55b 215 mibdir=%{_datadir}/mibs \
01ea2d51
JK
216 DESTDIR=$RPM_BUILD_ROOT
217
a5de291a 218%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
01ea2d51 219
650f9adf
JB
220install -D %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
221%if %{with corosync}
222install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
223install -D %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
224%endif
0fe40bd1 225
01ea2d51
JK
226%clean
227rm -rf $RPM_BUILD_ROOT
228
20da0353
JK
229%pre
230%groupadd -g 60 haclient
231%useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster
232
da3fb05a
JK
233%post corosync
234/sbin/chkconfig --add %{name}
235%service %{name} restart "%{name} daemon"
da3fb05a
JK
236%systemd_post %{name}.service
237
238%preun
239if [ "$1" = "0" ]; then
68084dab
JB
240 %service %{name} stop
241 /sbin/chkconfig --del %{name}
da3fb05a 242fi
7c510570
JK
243
244%preun corosync
da3fb05a
JK
245%systemd_preun %{name}.service
246
247%postun corosync
248%systemd_reload
249
f4369631
JK
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
68084dab
JB
261%post libs -p /sbin/ldconfig
262%postun libs -p /sbin/ldconfig
da3fb05a 263
01ea2d51
JK
264%files
265%defattr(644,root,root,755)
da3fb05a 266%doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
da3fb05a 267%attr(755,root,root) %{_sbindir}/attrd_updater
01ea2d51
JK
268%attr(755,root,root) %{_sbindir}/cibadmin
269%attr(755,root,root) %{_sbindir}/crm_attribute
270%attr(755,root,root) %{_sbindir}/crm_diff
ed3071d2 271%attr(755,root,root) %{_sbindir}/crm_error
01ea2d51
JK
272%attr(755,root,root) %{_sbindir}/crm_failcount
273%attr(755,root,root) %{_sbindir}/crm_master
274%attr(755,root,root) %{_sbindir}/crm_mon
da3fb05a
JK
275%attr(755,root,root) %{_sbindir}/crm_node
276%attr(755,root,root) %{_sbindir}/crm_report
01ea2d51 277%attr(755,root,root) %{_sbindir}/crm_resource
da3fb05a
JK
278%attr(755,root,root) %{_sbindir}/crm_simulate
279%attr(755,root,root) %{_sbindir}/crm_shadow
01ea2d51 280%attr(755,root,root) %{_sbindir}/crm_standby
da3fb05a 281%attr(755,root,root) %{_sbindir}/crm_ticket
01ea2d51
JK
282%attr(755,root,root) %{_sbindir}/crm_verify
283%attr(755,root,root) %{_sbindir}/crmadmin
da3fb05a
JK
284%attr(755,root,root) %{_sbindir}/fence_legacy
285%attr(755,root,root) %{_sbindir}/fence_pcmk
01ea2d51 286%attr(755,root,root) %{_sbindir}/iso8601
da3fb05a 287%attr(755,root,root) %{_sbindir}/stonith_admin
650f9adf
JB
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
a5de291a
JB
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
df1ba55b 305%{_datadir}/mibs/PCMK-MIB.txt
69ee3b2e 306%{py_sitedir}/cts
650f9adf
JB
307%{_mandir}/man7/crmd.7*
308%{_mandir}/man7/ocf_pacemaker_*.7*
309%{_mandir}/man7/pengine.7*
310%{_mandir}/man7/stonithd.7*
a5de291a
JB
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*
650f9adf
JB
332%if %{with servicelog}
333%{_mandir}/man8/notifyServicelogEvent.8*
334%endif
a5de291a 335
b35e723c 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
f4369631 348%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/remote
a5de291a 349
ed3071d2
JK
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
a5de291a
JB
354%dir %attr(750,hacluster,haclient) %{_var}/run/crm
355/usr/lib/tmpfiles.d/%{name}.conf
01ea2d51
JK
356
357%files libs
358%defattr(644,root,root,755)
650f9adf
JB
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
01ea2d51 379
a5de291a
JB
380%files devel
381%defattr(644,root,root,755)
650f9adf
JB
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
a5de291a 402%{_includedir}/pacemaker
650f9adf
JB
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
a5de291a
JB
410
411%files static
412%defattr(644,root,root,755)
650f9adf
JB
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
a5de291a 423
f4369631
JK
424%files remote
425%defattr(644,root,root,755)
f4369631
JK
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
a5de291a 429%{_mandir}/man8/pacemaker_remoted.8*
f4369631 430
da3fb05a
JK
431%if %{with heartbeat}
432%files heartbeat
433%defattr(644,root,root,755)
7c4f002d 434%attr(755,root,root) %{_sbindir}/crm_uuid
da3fb05a
JK
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
a5de291a 440%{_mandir}/man8/crm_uuid.8*
da3fb05a
JK
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
a5de291a 449%{_mandir}/man8/pacemakerd.8*
da3fb05a 450%endif
This page took 0.189398 seconds and 4 git commands to generate.