]> git.pld-linux.org Git - packages/corosync.git/blob - corosync.spec
- check-files cleanup
[packages/corosync.git] / corosync.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # build apidocs (some man3 pages are provided anyway)
4 %bcond_without  dbus            # DBus events
5 %bcond_without  rdma            # RDMA support
6 %bcond_without  snmp            # SNMP protocol support
7 %bcond_without  testagents      # test agents build
8 %bcond_without  watchdog        # watchdog feature
9 %bcond_without  monitoring      # monitoring feature
10 %bcond_without  xmlconf         # XML configuration support
11 #
12 Summary:        Corosync - OSI Certified implementation of a complete cluster engine
13 Summary(pl.UTF-8):      Corosync - implementacja silnika klastrowego certyfikowana przez OSI
14 Name:           corosync
15 Version:        2.3.1
16 Release:        1
17 License:        BSD
18 Group:          Base
19 Source0:        http://corosync.org/download/%{name}-%{version}.tar.gz
20 # Source0-md5:  d3a76155e05c0a6ec34b2d0ad281fb02
21 Source1:        %{name}.init
22 Source2:        %{name}-notifyd.init
23 Source3:        %{name}-notifyd.sysconfig
24 URL:            http://www.corosync.org/
25 BuildRequires:  autoconf >= 2.61
26 BuildRequires:  automake
27 %{?with_dbus:BuildRequires:     dbus-devel}
28 %{?with_apidocs:BuildRequires:  doxygen}
29 BuildRequires:  libqb-devel
30 %{?with_monitoring:BuildRequires:       libstatgrab-devel}
31 %if %{with rdma}
32 BuildRequires:  libibverbs-devel
33 BuildRequires:  librdmacm-devel
34 BuildRequires:  libtool
35 %endif
36 %{?with_xmlconf:BuildRequires:  libxslt}
37 %{?with_snmp:BuildRequires:     net-snmp-devel}
38 BuildRequires:  nss-devel
39 BuildRequires:  pkgconfig
40 BuildRequires:  rpmbuild(macros) >= 1.644
41 Requires:       rc-scripts
42 Requires:       systemd-units >= 38
43 Requires(post,preun):   /sbin/chkconfig
44 Requires:       %{name}-libs = %{version}-%{release}
45 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46
47 # short_service_name_get() is defined in executable
48 %define         skip_post_check_so      libcoroipcs\.so.*
49
50 %description
51 The Corosync Cluster Engine is an OSI Certified implementation of a
52 complete cluster engine.
53
54 %description -l pl.UTF-8
55 Corosync Cluster Engine to implementacja pełnego silnika klastrowego
56 certyfikowana przez OSI.
57
58 %package libs
59 Summary:        Corosync Cluster Engine libraries
60 Summary(pl.UTF-8):      Biblioteki silnika klastrowego Corosync
61 Group:          Libraries
62
63 %description libs
64 This package contains the libraries of Corosync Cluster Engine, an OSI
65 Certified implementation of a complete cluster engine.
66
67 %description libs -l pl.UTF-8
68 Ten pakiet zawiera biblioteki Corosync Cluster Engine - pełnego
69 silnika klastrowego certyfikowanego przez OSI.
70
71 %package devel
72 Summary:        Header files for Corosync libraries
73 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek Corosync
74 Group:          Development/Libraries
75 Requires:       %{name}-libs = %{version}-%{release}
76 Conflicts:      openais-devel < 1.0
77
78 %description devel
79 This package contains the include files used to develop using Corosync
80 APIs.
81
82 %description devel -l pl.UTF-8
83 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów z
84 użyciem API Corosync.
85
86 %package static
87 Summary:        Corosync static libraries
88 Summary(pl.UTF-8):      Statyczne biblioteki Corosync
89 Group:          Development/Libraries
90 Requires:       %{name}-devel = %{version}-%{release}
91
92 %description static
93 This package contains the Corosync static libraries.
94
95 %description static -l pl.UTF-8
96 Ten pakiet zawiera statyczne biblioteki Corosync.
97
98 %package testagents
99 Summary:        The Corosync Cluster Engine test agents
100 Summary(pl.UTF-8):      Testowi agenci silnika klastrowego Corosync
101 Group:          Development/Libraries
102 Requires:       %{name} = %{version}-%{release}
103
104 %description testagents
105 This package contains Corosync test agents.
106
107 %description testagents -l pl.UTF-8
108 Ten pakiet zawiera testowych agentów silnika Corosync.
109
110 %package -n mibs-corosync
111 Summary:        Corosync SNMP MIB data
112 Summary(pl.UTF-8):      Dane SNMP MIB dla Corosync
113 Group:          Applications/System
114 Requires:       mibs-dirs
115
116 %description -n mibs-corosync
117 Corosync SNMP MIB data.
118
119 %description -n mibs-corosync -l pl.UTF-8
120 Dane SNMP MIB dla Corosync.
121
122 %prep
123 %setup -q
124
125 %build
126 %{__libtoolize}
127 %{__aclocal}
128 %{__autoconf}
129 %{__autoheader}
130 %{__automake}
131 %configure \
132         %{?with_dbus:--enable-dbus} \
133         %{?with_monitoring:--enable-monitoring} \
134         %{?with_rdma:--enable-rdma} \
135         --disable-silent-rules \
136         %{?with_snmp:--enable-snmp} \
137         --enable-systemd \
138         %{?with_testagents:--enable-testagents} \
139         %{?with_watchdog:--enable-watchdog} \
140         %{?with_xmlconf:--enable-xmlconf} \
141         --with-initddir=/etc/rc.d/init.d \
142         --with-systemddir=%{systemdunitdir}
143
144 %{__make}
145
146 %{?with_apidocs:%{__make} doxygen}
147
148 %install
149 rm -rf $RPM_BUILD_ROOT
150 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/sysconfig}
151 install -d $RPM_BUILD_ROOT/var/log/cluster
152
153 %{__make} install \
154         DESTDIR=$RPM_BUILD_ROOT
155
156 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/corosync
157
158 sed -e 's/^/#/' $RPM_BUILD_ROOT%{_sysconfdir}/corosync/corosync.conf.example \
159         >$RPM_BUILD_ROOT%{_sysconfdir}/corosync/corosync.conf
160 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/corosync/corosync.conf.example*
161
162 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
163 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-notifyd
164 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-notifyd
165
166 # obsoleted by pkg-config
167 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
168
169 %clean
170 rm -rf $RPM_BUILD_ROOT
171
172 %post
173 /sbin/chkconfig --add %{name}
174 /sbin/chkconfig --add %{name}-notifyd
175 %service %{name}-notifyd restart
176 %systemd_post %{name}-notifyd.service
177 export NORESTART=1
178 %systemd_post %{name}.service
179
180 %preun
181 if [ "$1" = "0" ]; then
182         %service -q %{name} stop
183         /sbin/chkconfig --del %{name}
184         %service -q %{name}-notifyd stop
185         /sbin/chkconfig --del %{name}-notifyd
186 fi
187 %systemd_preun %{name}.service
188 %systemd_preun %{name}-notifyd.service
189
190 %postun
191 %systemd_reload
192
193 %post   libs -p /sbin/ldconfig
194 %postun libs -p /sbin/ldconfig
195
196 %files
197 %defattr(644,root,root,755)
198 %doc AUTHORS ChangeLog LICENSE README.recovery SECURITY TODO conf/corosync.conf.example*
199 %if %{with xmlconf}
200 %doc conf/corosync.xml.example*
201 %endif
202 %attr(754,root,root) /etc/rc.d/init.d/corosync
203 %attr(754,root,root) /etc/rc.d/init.d/corosync-notifyd
204 %verify(not md5 mtime size) %config(noreplace) /etc/sysconfig/%{name}-notifyd
205 %dir %{_sysconfdir}/corosync
206 %{systemdunitdir}/corosync.service
207 %{systemdunitdir}/corosync-notifyd.service
208 %verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/corosync/corosync.conf
209 %attr(755,root,root) %{_bindir}/corosync-blackbox
210 %attr(755,root,root) %{_sbindir}/corosync
211 %attr(755,root,root) %{_sbindir}/corosync-cfgtool
212 %attr(755,root,root) %{_sbindir}/corosync-cmapctl
213 %attr(755,root,root) %{_sbindir}/corosync-cpgtool
214 %attr(755,root,root) %{_sbindir}/corosync-keygen
215 %attr(755,root,root) %{_sbindir}/corosync-notifyd
216 %attr(755,root,root) %{_sbindir}/corosync-quorumtool
217 %{_mandir}/man5/corosync.conf.5*
218 %{_mandir}/man8/corosync.8*
219 %{_mandir}/man8/corosync-blackbox.8*
220 %{_mandir}/man8/corosync-cmapctl.8*
221 %{_mandir}/man8/corosync-cfgtool.8*
222 %{_mandir}/man8/corosync-cpgtool.8*
223 %{_mandir}/man8/corosync-keygen.8*
224 %{_mandir}/man8/corosync-notifyd.8*
225 %{_mandir}/man8/corosync-quorumtool.8*
226 %{_mandir}/man5/votequorum.5*
227 # should be man7...
228 %{_mandir}/man8/cmap_keys.8*
229 %{_mandir}/man8/cmap_overview.8*
230 %{_mandir}/man8/corosync_overview.8*
231 %{_mandir}/man8/cpg_overview.8*
232 %{_mandir}/man8/sam_overview.8*
233 %{_mandir}/man8/votequorum_overview.8*
234 %{_mandir}/man8/quorum_overview.8*
235 %dir %{_datadir}/corosync
236 %attr(755,root,root) %{_datadir}/%{name}/corosync
237 %attr(755,root,root) %{_datadir}/%{name}/corosync-notifyd
238 %if %{with xmlconf}
239 %attr(755,root,root) %{_bindir}/corosync-xmlproc
240 %config(noreplace) %{_sysconfdir}/corosync/corosync.xml.example
241 %dir %{_datadir}/corosync/xml2conf.xsl
242 %{_mandir}/man8/corosync-xmlproc.8*
243 %{_mandir}/man5/corosync.xml.5*
244 %endif
245 %if %{with dbus}
246 /etc/dbus-1/system.d/corosync-signals.conf
247 %endif
248 /var/lib/corosync
249 %attr(700,root,root) %dir /var/log/cluster
250
251 %files libs
252 %defattr(644,root,root,755)
253 %attr(755,root,root) %{_libdir}/libcfg.so.6.*.*
254 %attr(755,root,root) %ghost %{_libdir}/libcfg.so.6
255 %attr(755,root,root) %{_libdir}/libcmap.so.4.*.*
256 %attr(755,root,root) %ghost %{_libdir}/libcmap.so.4
257 %attr(755,root,root) %{_libdir}/libcorosync_common.so.4.*.*
258 %attr(755,root,root) %ghost %{_libdir}/libcorosync_common.so.4
259 %attr(755,root,root) %{_libdir}/libcpg.so.4.*.*
260 %attr(755,root,root) %ghost %{_libdir}/libcpg.so.4
261 %attr(755,root,root) %{_libdir}/libsam.so.4.*.*
262 %attr(755,root,root) %ghost %{_libdir}/libsam.so.4
263 %attr(755,root,root) %{_libdir}/libquorum.so.5.*.*
264 %attr(755,root,root) %ghost %{_libdir}/libquorum.so.5
265 %attr(755,root,root) %{_libdir}/libtotem_pg.so.5.*.*
266 %attr(755,root,root) %ghost %{_libdir}/libtotem_pg.so.5
267 %attr(755,root,root) %{_libdir}/libvotequorum.so.6.*.*
268 %attr(755,root,root) %ghost %{_libdir}/libvotequorum.so.6
269
270 %files devel
271 %defattr(644,root,root,755)
272 %{?with_apidocs:%doc doc/api/html/*}
273 %attr(755,root,root) %{_libdir}/libcfg.so
274 %attr(755,root,root) %{_libdir}/libcmap.so
275 %attr(755,root,root) %{_libdir}/libcorosync_common.so
276 %attr(755,root,root) %{_libdir}/libcpg.so
277 %attr(755,root,root) %{_libdir}/libsam.so
278 %attr(755,root,root) %{_libdir}/libquorum.so
279 %attr(755,root,root) %{_libdir}/libtotem_pg.so
280 %attr(755,root,root) %{_libdir}/libvotequorum.so
281 %{_includedir}/corosync
282 %{_pkgconfigdir}/corosync.pc
283 %{_pkgconfigdir}/libcfg.pc
284 %{_pkgconfigdir}/libcmap.pc
285 %{_pkgconfigdir}/libcorosync_common.pc
286 %{_pkgconfigdir}/libcpg.pc
287 %{_pkgconfigdir}/libquorum.pc
288 %{_pkgconfigdir}/libsam.pc
289 %{_pkgconfigdir}/libtotem_pg.pc
290 %{_pkgconfigdir}/libvotequorum.pc
291 %{_mandir}/man3/cmap_*.3*
292 %{_mandir}/man3/cpg_*.3*
293 %{_mandir}/man3/quorum_*.3*
294 %{_mandir}/man3/sam_*.3*
295 %{_mandir}/man3/votequorum_*.3*
296
297 %files static
298 %defattr(644,root,root,755)
299 %{_libdir}/libcfg.a
300 %{_libdir}/libcmap.a
301 %{_libdir}/libcorosync_common.a
302 %{_libdir}/libcpg.a
303 %{_libdir}/libsam.a
304 %{_libdir}/libquorum.a
305 %{_libdir}/libtotem_pg.a
306 %{_libdir}/libvotequorum.a
307
308 %if %{with testagents}
309 %files testagents
310 %defattr(644,root,root,755)
311 %attr(755,root,root) %{_bindir}/cpg_test_agent
312 %attr(755,root,root) %{_bindir}/sam_test_agent
313 %attr(755,root,root) %{_bindir}/votequorum_test_agent
314 %dir %{_datadir}/corosync/tests
315 %{_datadir}/corosync/tests/mem_leak_test.sh
316 %{_datadir}/corosync/tests/net_breaker.sh
317 %{_datadir}/corosync/tests/cmap-dispatch-deadlock.sh
318 %{_datadir}/corosync/tests/shm_leak_audit.sh
319 %endif
320
321 %if %{with snmp}
322 %files -n mibs-corosync
323 %defattr(644,root,root,755)
324 %{_datadir}/snmp/mibs/COROSYNC-MIB.txt
325 %endif
This page took 0.077208 seconds and 4 git commands to generate.