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