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