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