]> git.pld-linux.org Git - packages/corosync.git/blame - corosync.spec
add static_libs bcond
[packages/corosync.git] / corosync.spec
CommitLineData
a1f7a440 1#
ab0d79a4 2# Conditional build:
37d86914 3%bcond_without apidocs # build apidocs (some man3 pages are provided anyway)
9d9364ae 4%bcond_without augeas # augeas lens support
4169d0ae
JB
5%bcond_without dbus # DBus events
6%bcond_without rdma # RDMA support
7%bcond_without snmp # SNMP protocol support
7ae9c5b5 8%bcond_without testagents # test agents build
9d9364ae
JB
9%bcond_without watchdog # watchdog support
10%bcond_without monitoring # resource monitoring
4ef76f71
JB
11%bcond_without qdevices # Quorum devices support
12%bcond_without qnetd # Quorum Net Daemon support
7ae9c5b5 13%bcond_without xmlconf # XML configuration support
4ef76f71 14%bcond_without libcgroup # libcgroup support
4fe25a8f 15%bcond_without static_libs # static libraries
2805ff24 16#
ab0d79a4 17Summary: Corosync - OSI Certified implementation of a complete cluster engine
a1f7a440 18Summary(pl.UTF-8): Corosync - implementacja silnika klastrowego certyfikowana przez OSI
ab0d79a4 19Name: corosync
79927612
JB
20Version: 2.4.6
21Release: 1
ab0d79a4 22License: BSD
23Group: Base
e9c052b8 24#Source0Download: http://corosync.org/download/
5067d592 25Source0: https://build.clusterlabs.org/corosync/releases/%{name}-%{version}.tar.gz
79927612 26# Source0-md5: 7f9d111c53b760cedd5e3bbcdf93f133
baa29f3f
JK
27Source1: %{name}.init
28Source2: %{name}-notifyd.init
29Source3: %{name}-notifyd.sysconfig
5067d592 30URL: https://www.corosync.org/
a1f7a440 31BuildRequires: autoconf >= 2.61
e9c052b8 32BuildRequires: automake >= 1:1.11
4169d0ae 33%{?with_dbus:BuildRequires: dbus-devel}
2805ff24 34%{?with_apidocs:BuildRequires: doxygen}
69ca73d3 35%{?with_apidocs:BuildRequires: graphviz}
9d9364ae 36BuildRequires: groff
4ef76f71 37%{?with_libcgroup:BuildRequires: libcgroup-devel}
5a02a01c 38BuildRequires: libqb-devel
2805ff24 39%if %{with rdma}
f9ad5365
JP
40BuildRequires: libibverbs-devel >= 20
41BuildRequires: librdmacm-devel >= 20
2805ff24 42%endif
5067d592 43%{?with_monitoring:BuildRequires: libstatgrab-devel >= 0.90}
9d9364ae 44BuildRequires: libtool >= 2:2.2.6
4169d0ae 45%{?with_snmp:BuildRequires: net-snmp-devel}
40252af1 46BuildRequires: nss-devel
9d8c645a 47BuildRequires: pkgconfig
7e102371 48BuildRequires: rpmbuild(macros) >= 1.644
e9c052b8
JB
49# only for cpghum test program
50#BuildRequires: zlib-devel
8b893eea 51%{?with_xmlconf:Requires: libxslt-progs}
833a6419
JK
52Requires: rc-scripts
53Requires: systemd-units >= 38
54Requires(post,preun): /sbin/chkconfig
a1f7a440 55Requires: %{name}-libs = %{version}-%{release}
ab0d79a4 56BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
4169d0ae
JB
58# short_service_name_get() is defined in executable
59%define skip_post_check_so libcoroipcs\.so.*
60
ab0d79a4 61%description
62The Corosync Cluster Engine is an OSI Certified implementation of a
63complete cluster engine.
64
a1f7a440
JB
65%description -l pl.UTF-8
66Corosync Cluster Engine to implementacja pełnego silnika klastrowego
67certyfikowana przez OSI.
68
ab0d79a4 69%package libs
a1f7a440
JB
70Summary: Corosync Cluster Engine libraries
71Summary(pl.UTF-8): Biblioteki silnika klastrowego Corosync
ab0d79a4 72Group: Libraries
73
74%description libs
a1f7a440
JB
75This package contains the libraries of Corosync Cluster Engine, an OSI
76Certified implementation of a complete cluster engine.
77
78%description libs -l pl.UTF-8
a1e347d6 79Ten pakiet zawiera biblioteki Corosync Cluster Engine - pełnego
80silnika klastrowego certyfikowanego przez OSI.
ab0d79a4 81
82%package devel
a1f7a440
JB
83Summary: Header files for Corosync libraries
84Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Corosync
ab0d79a4 85Group: Development/Libraries
86Requires: %{name}-libs = %{version}-%{release}
3398ab62 87Conflicts: openais-devel < 1.0
ab0d79a4 88
89%description devel
a1f7a440 90This package contains the include files used to develop using Corosync
ab0d79a4 91APIs.
92
a1f7a440
JB
93%description devel -l pl.UTF-8
94Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów z
95użyciem API Corosync.
96
ab0d79a4 97%package static
a1f7a440
JB
98Summary: Corosync static libraries
99Summary(pl.UTF-8): Statyczne biblioteki Corosync
ab0d79a4 100Group: Development/Libraries
101Requires: %{name}-devel = %{version}-%{release}
102
103%description static
a1f7a440
JB
104This package contains the Corosync static libraries.
105
106%description static -l pl.UTF-8
107Ten pakiet zawiera statyczne biblioteki Corosync.
ab0d79a4 108
7ae9c5b5
JB
109%package testagents
110Summary: The Corosync Cluster Engine test agents
111Summary(pl.UTF-8): Testowi agenci silnika klastrowego Corosync
112Group: Development/Libraries
113Requires: %{name} = %{version}-%{release}
114
115%description testagents
116This package contains Corosync test agents.
117
118%description testagents -l pl.UTF-8
119Ten pakiet zawiera testowych agentów silnika Corosync.
120
4169d0ae
JB
121%package -n mibs-corosync
122Summary: Corosync SNMP MIB data
123Summary(pl.UTF-8): Dane SNMP MIB dla Corosync
124Group: Applications/System
125Requires: mibs-dirs
126
127%description -n mibs-corosync
128Corosync SNMP MIB data.
129
130%description -n mibs-corosync -l pl.UTF-8
131Dane SNMP MIB dla Corosync.
132
ab0d79a4 133%prep
134%setup -q
135
f7645a14
JB
136# force regeneration with proper BASHPATH
137%{__rm} cts/agents/{cmap-dispatch-deadlock,shm_leak_audit}.sh
138
ab0d79a4 139%build
37d86914 140%{__libtoolize}
ab0d79a4 141%{__aclocal}
142%{__autoconf}
a1f7a440 143%{__autoheader}
ab0d79a4 144%{__automake}
ab0d79a4 145%configure \
6a0cba86 146 BASHPATH=/bin/bash \
4fe25a8f 147 %{__enable_disable static_libs static} \
9d9364ae 148 %{?with_augeas:--enable-augeas} \
4169d0ae 149 %{?with_dbus:--enable-dbus} \
4ef76f71 150 %{?with_libcgroup:--enable-libcgroup} \
7ae9c5b5 151 %{?with_monitoring:--enable-monitoring} \
9d9364ae 152 %{?with_qdevices:--enable-qdevices} \
4ef76f71 153 %{?with_qnetd:--enable-qnetd} \
2805ff24 154 %{?with_rdma:--enable-rdma} \
7ae9c5b5 155 --disable-silent-rules \
4169d0ae 156 %{?with_snmp:--enable-snmp} \
5a02a01c 157 --enable-systemd \
7ae9c5b5
JB
158 %{?with_testagents:--enable-testagents} \
159 %{?with_watchdog:--enable-watchdog} \
160 %{?with_xmlconf:--enable-xmlconf} \
161 --with-initddir=/etc/rc.d/init.d \
162 --with-systemddir=%{systemdunitdir}
ab0d79a4 163
164%{__make}
165
166%{?with_apidocs:%{__make} doxygen}
a1e347d6 167
ab0d79a4 168%install
169rm -rf $RPM_BUILD_ROOT
baa29f3f 170install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/sysconfig}
1ffd5e89 171install -d $RPM_BUILD_ROOT/var/log/cluster
a1f7a440 172
ab0d79a4 173%{__make} install \
b3b69115 174 mibdir=%{_datadir}/mibs \
ab0d79a4 175 DESTDIR=$RPM_BUILD_ROOT
ab0d79a4 176
a1e347d6 177%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/corosync
a1f7a440
JB
178
179sed -e 's/^/#/' $RPM_BUILD_ROOT%{_sysconfdir}/corosync/corosync.conf.example \
180 >$RPM_BUILD_ROOT%{_sysconfdir}/corosync/corosync.conf
4169d0ae 181%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/corosync/corosync.conf.example*
ab0d79a4 182
37d86914
JK
183install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
184install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-notifyd
185install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-notifyd
186
4ef76f71
JB
187%if %{with qdevices} || %{with qnetd}
188install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir}
189cat >$RPM_BUILD_ROOT%{systemdtmpfilesdir}/corosync.conf <<EOF
190%if %{with qdevices}
191d /var/run/corosync-qdevice 0770 root root -
192%endif
193%if %{with qnetd}
194d /var/run/corosync-qnetd 0770 root root -
195%endif
196EOF
197%endif
198
0c0ec7e4
JB
199# obsoleted by pkg-config
200%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
201
ab0d79a4 202%clean
203rm -rf $RPM_BUILD_ROOT
204
5a02a01c 205%post
baa29f3f
JK
206/sbin/chkconfig --add %{name}
207/sbin/chkconfig --add %{name}-notifyd
baa29f3f 208%service %{name}-notifyd restart
baa29f3f 209%systemd_post %{name}-notifyd.service
383c4bd9
JK
210export NORESTART=1
211%systemd_post %{name}.service
5a02a01c
JK
212
213%preun
214if [ "$1" = "0" ]; then
baa29f3f
JK
215 %service -q %{name} stop
216 /sbin/chkconfig --del %{name}
217 %service -q %{name}-notifyd stop
218 /sbin/chkconfig --del %{name}-notifyd
5a02a01c 219fi
baa29f3f
JK
220%systemd_preun %{name}.service
221%systemd_preun %{name}-notifyd.service
5a02a01c
JK
222
223%postun
224%systemd_reload
225
364ac3e0 226%post libs -p /sbin/ldconfig
227%postun libs -p /sbin/ldconfig
228
ab0d79a4 229%files
230%defattr(644,root,root,755)
1cdfb0bb 231%doc AUTHORS ChangeLog LICENSE README.recovery SECURITY conf/corosync.conf.example*
5a02a01c
JK
232%if %{with xmlconf}
233%doc conf/corosync.xml.example*
234%endif
a1f7a440 235%attr(754,root,root) /etc/rc.d/init.d/corosync
4169d0ae 236%attr(754,root,root) /etc/rc.d/init.d/corosync-notifyd
e9c052b8 237%verify(not md5 mtime size) %config(noreplace) /etc/logrotate.d/%{name}
baa29f3f 238%verify(not md5 mtime size) %config(noreplace) /etc/sysconfig/%{name}-notifyd
ab0d79a4 239%dir %{_sysconfdir}/corosync
4ef76f71
JB
240%dir %{_sysconfdir}/corosync/service.d
241%dir %{_sysconfdir}/corosync/uidgid.d
5a02a01c
JK
242%{systemdunitdir}/corosync.service
243%{systemdunitdir}/corosync-notifyd.service
4ef76f71
JB
244%if %{with qdevices} || %{with qnetd}
245%{systemdtmpfilesdir}/corosync.conf
246%endif
ab0d79a4 247%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/corosync/corosync.conf
e7c18d27 248%attr(755,root,root) %{_bindir}/corosync-blackbox
ab0d79a4 249%attr(755,root,root) %{_sbindir}/corosync
250%attr(755,root,root) %{_sbindir}/corosync-cfgtool
5a02a01c 251%attr(755,root,root) %{_sbindir}/corosync-cmapctl
a1f7a440 252%attr(755,root,root) %{_sbindir}/corosync-cpgtool
ab0d79a4 253%attr(755,root,root) %{_sbindir}/corosync-keygen
4169d0ae 254%attr(755,root,root) %{_sbindir}/corosync-notifyd
40252af1 255%attr(755,root,root) %{_sbindir}/corosync-quorumtool
a1f7a440 256%{_mandir}/man5/corosync.conf.5*
9d9364ae 257%{_mandir}/man5/votequorum.5*
a1f7a440
JB
258%{_mandir}/man8/corosync.8*
259%{_mandir}/man8/corosync-blackbox.8*
5a02a01c 260%{_mandir}/man8/corosync-cmapctl.8*
a1f7a440
JB
261%{_mandir}/man8/corosync-cfgtool.8*
262%{_mandir}/man8/corosync-cpgtool.8*
a1f7a440 263%{_mandir}/man8/corosync-keygen.8*
4169d0ae 264%{_mandir}/man8/corosync-notifyd.8*
a1f7a440 265%{_mandir}/man8/corosync-quorumtool.8*
025a2098
JK
266# should be man7...
267%{_mandir}/man8/cmap_keys.8*
268%{_mandir}/man8/cmap_overview.8*
269%{_mandir}/man8/corosync_overview.8*
270%{_mandir}/man8/cpg_overview.8*
271%{_mandir}/man8/sam_overview.8*
272%{_mandir}/man8/votequorum_overview.8*
273%{_mandir}/man8/quorum_overview.8*
30055d52
JK
274%dir %{_datadir}/corosync
275%attr(755,root,root) %{_datadir}/%{name}/corosync
276%attr(755,root,root) %{_datadir}/%{name}/corosync-notifyd
5a02a01c
JK
277%if %{with xmlconf}
278%attr(755,root,root) %{_bindir}/corosync-xmlproc
279%config(noreplace) %{_sysconfdir}/corosync/corosync.xml.example
6244521a 280%{_datadir}/corosync/xml2conf.xsl
5a02a01c
JK
281%{_mandir}/man8/corosync-xmlproc.8*
282%{_mandir}/man5/corosync.xml.5*
283%endif
9d9364ae
JB
284%if %{with augeas}
285%{_datadir}/augeas/lenses/corosync.aug
286%{_datadir}/augeas/lenses/tests/test_corosync.aug
287%endif
5a02a01c
JK
288%if %{with dbus}
289/etc/dbus-1/system.d/corosync-signals.conf
290%endif
4ef76f71 291%dir /var/lib/corosync
17902cb7 292%attr(700,root,root) %dir /var/log/cluster
4ef76f71
JB
293%if %{with qdevices}
294%attr(755,root,root) %{_sbindir}/corosync-qdevice
295%attr(755,root,root) %{_sbindir}/corosync-qdevice-net-certutil
296%attr(755,root,root) %{_sbindir}/corosync-qdevice-tool
297%{_datadir}/corosync/corosync-qdevice
298%{systemdunitdir}/corosync-qdevice.service
299%dir %{_sysconfdir}/corosync/qdevice
300%attr(770,root,root) %dir %{_sysconfdir}/corosync/qdevice/net
301%attr(770,root,root) %dir /var/run/corosync-qdevice
302%{_mandir}/man8/corosync-qdevice.8*
303%{_mandir}/man8/corosync-qdevice-net-certutil.8*
304%{_mandir}/man8/corosync-qdevice-tool.8*
305%endif
306%if %{with qnetd}
307%attr(755,root,root) %{_bindir}/corosync-qnetd
308%attr(755,root,root) %{_bindir}/corosync-qnetd-certutil
309%attr(755,root,root) %{_bindir}/corosync-qnetd-tool
310%{_datadir}/corosync/corosync-qnetd
311%{systemdunitdir}/corosync-qnetd.service
312%attr(770,root,root) %dir %{_sysconfdir}/corosync/qnetd
313%attr(770,root,root) %dir /var/run/corosync-qnetd
314%{_mandir}/man8/corosync-qnetd.8*
315%{_mandir}/man8/corosync-qnetd-certutil.8*
316%{_mandir}/man8/corosync-qnetd-tool.8*
317%endif
ab0d79a4 318
319%files libs
320%defattr(644,root,root,755)
5a02a01c
JK
321%attr(755,root,root) %{_libdir}/libcfg.so.6.*.*
322%attr(755,root,root) %ghost %{_libdir}/libcfg.so.6
323%attr(755,root,root) %{_libdir}/libcmap.so.4.*.*
324%attr(755,root,root) %ghost %{_libdir}/libcmap.so.4
325%attr(755,root,root) %{_libdir}/libcorosync_common.so.4.*.*
326%attr(755,root,root) %ghost %{_libdir}/libcorosync_common.so.4
ab0d79a4 327%attr(755,root,root) %{_libdir}/libcpg.so.4.*.*
328%attr(755,root,root) %ghost %{_libdir}/libcpg.so.4
1c7457c7 329%attr(755,root,root) %{_libdir}/libsam.so.4.*.*
330%attr(755,root,root) %ghost %{_libdir}/libsam.so.4
5a02a01c
JK
331%attr(755,root,root) %{_libdir}/libquorum.so.5.*.*
332%attr(755,root,root) %ghost %{_libdir}/libquorum.so.5
333%attr(755,root,root) %{_libdir}/libtotem_pg.so.5.*.*
334%attr(755,root,root) %ghost %{_libdir}/libtotem_pg.so.5
5c8964c9
JB
335%attr(755,root,root) %{_libdir}/libvotequorum.so.8.*.*
336%attr(755,root,root) %ghost %{_libdir}/libvotequorum.so.8
ab0d79a4 337
338%files devel
339%defattr(644,root,root,755)
cab13e1f 340%{?with_apidocs:%doc doc/api/html/*}
a1f7a440 341%attr(755,root,root) %{_libdir}/libcfg.so
5a02a01c
JK
342%attr(755,root,root) %{_libdir}/libcmap.so
343%attr(755,root,root) %{_libdir}/libcorosync_common.so
a1f7a440 344%attr(755,root,root) %{_libdir}/libcpg.so
a1f7a440
JB
345%attr(755,root,root) %{_libdir}/libsam.so
346%attr(755,root,root) %{_libdir}/libquorum.so
347%attr(755,root,root) %{_libdir}/libtotem_pg.so
348%attr(755,root,root) %{_libdir}/libvotequorum.so
ab0d79a4 349%{_includedir}/corosync
a1f7a440
JB
350%{_pkgconfigdir}/corosync.pc
351%{_pkgconfigdir}/libcfg.pc
5a02a01c
JK
352%{_pkgconfigdir}/libcmap.pc
353%{_pkgconfigdir}/libcorosync_common.pc
a1f7a440 354%{_pkgconfigdir}/libcpg.pc
a1f7a440
JB
355%{_pkgconfigdir}/libquorum.pc
356%{_pkgconfigdir}/libsam.pc
357%{_pkgconfigdir}/libtotem_pg.pc
358%{_pkgconfigdir}/libvotequorum.pc
5a02a01c 359%{_mandir}/man3/cmap_*.3*
a1f7a440 360%{_mandir}/man3/cpg_*.3*
5a02a01c 361%{_mandir}/man3/quorum_*.3*
a1f7a440
JB
362%{_mandir}/man3/sam_*.3*
363%{_mandir}/man3/votequorum_*.3*
025a2098 364
4fe25a8f 365%if %{with static_libs}
ab0d79a4 366%files static
367%defattr(644,root,root,755)
368%{_libdir}/libcfg.a
5a02a01c
JK
369%{_libdir}/libcmap.a
370%{_libdir}/libcorosync_common.a
ab0d79a4 371%{_libdir}/libcpg.a
1c7457c7 372%{_libdir}/libsam.a
ab0d79a4 373%{_libdir}/libquorum.a
374%{_libdir}/libtotem_pg.a
375%{_libdir}/libvotequorum.a
4fe25a8f 376%endif
4169d0ae 377
5a02a01c 378%if %{with testagents}
7ae9c5b5 379%files testagents
5a02a01c 380%defattr(644,root,root,755)
7ae9c5b5
JB
381%attr(755,root,root) %{_bindir}/cpg_test_agent
382%attr(755,root,root) %{_bindir}/sam_test_agent
383%attr(755,root,root) %{_bindir}/votequorum_test_agent
485d55ce 384%dir %{_datadir}/corosync/tests
5a02a01c
JK
385%{_datadir}/corosync/tests/mem_leak_test.sh
386%{_datadir}/corosync/tests/net_breaker.sh
387%{_datadir}/corosync/tests/cmap-dispatch-deadlock.sh
388%{_datadir}/corosync/tests/shm_leak_audit.sh
7ae9c5b5
JB
389%endif
390
391%if %{with snmp}
392%files -n mibs-corosync
393%defattr(644,root,root,755)
b3b69115 394%{_datadir}/mibs/COROSYNC-MIB.txt
5a02a01c 395%endif
This page took 0.182794 seconds and 4 git commands to generate.