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