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