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