%bcond_without testagents # test agents build
%bcond_without watchdog # watchdog support
%bcond_without monitoring # resource monitoring
-%bcond_with qdevices # Quorum devices support [NOP as of 2.3.1]
+%bcond_without qdevices # Quorum devices support
+%bcond_without qnetd # Quorum Net Daemon support
%bcond_without xmlconf # XML configuration support
+%bcond_without libcgroup # libcgroup support
#
Summary: Corosync - OSI Certified implementation of a complete cluster engine
Summary(pl.UTF-8): Corosync - implementacja silnika klastrowego certyfikowana przez OSI
Name: corosync
-Version: 2.3.4
-Release: 1
+Version: 2.4.5
+Release: 4
License: BSD
Group: Base
-Source0: http://corosync.org/download/%{name}-%{version}.tar.gz
-# Source0-md5: 4b0f36a1dc014527e5b192265dbd7e70
+#Source0Download: http://corosync.org/download/
+Source0: https://build.clusterlabs.org/corosync/releases/%{name}-%{version}.tar.gz
+# Source0-md5: e36a056b893c313c4ec1fe0d7e6cdebd
Source1: %{name}.init
Source2: %{name}-notifyd.init
Source3: %{name}-notifyd.sysconfig
-URL: http://www.corosync.org/
+URL: https://www.corosync.org/
BuildRequires: autoconf >= 2.61
-BuildRequires: automake
+BuildRequires: automake >= 1:1.11
%{?with_dbus:BuildRequires: dbus-devel}
%{?with_apidocs:BuildRequires: doxygen}
%{?with_apidocs:BuildRequires: graphviz}
BuildRequires: groff
+%{?with_libcgroup:BuildRequires: libcgroup-devel}
BuildRequires: libqb-devel
-%{?with_monitoring:BuildRequires: libstatgrab-devel}
%if %{with rdma}
BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel
%endif
+%{?with_monitoring:BuildRequires: libstatgrab-devel >= 0.90}
BuildRequires: libtool >= 2:2.2.6
%{?with_snmp:BuildRequires: net-snmp-devel}
BuildRequires: nss-devel
BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.644
+# only for cpghum test program
+#BuildRequires: zlib-devel
%{?with_xmlconf:Requires: libxslt-progs}
Requires: rc-scripts
Requires: systemd-units >= 38
%prep
%setup -q
+# force regeneration with proper BASHPATH
+%{__rm} cts/agents/{cmap-dispatch-deadlock,shm_leak_audit}.sh
+
%build
%{__libtoolize}
%{__aclocal}
%{__autoheader}
%{__automake}
%configure \
+ BASHPATH=/bin/bash \
%{?with_augeas:--enable-augeas} \
%{?with_dbus:--enable-dbus} \
+ %{?with_libcgroup:--enable-libcgroup} \
%{?with_monitoring:--enable-monitoring} \
%{?with_qdevices:--enable-qdevices} \
+ %{?with_qnetd:--enable-qnetd} \
%{?with_rdma:--enable-rdma} \
--disable-silent-rules \
%{?with_snmp:--enable-snmp} \
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-notifyd
install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-notifyd
+%if %{with qdevices} || %{with qnetd}
+install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir}
+cat >$RPM_BUILD_ROOT%{systemdtmpfilesdir}/corosync.conf <<EOF
+%if %{with qdevices}
+d /var/run/corosync-qdevice 0770 root root -
+%endif
+%if %{with qnetd}
+d /var/run/corosync-qnetd 0770 root root -
+%endif
+EOF
+%endif
+
# obsoleted by pkg-config
%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
%endif
%attr(754,root,root) /etc/rc.d/init.d/corosync
%attr(754,root,root) /etc/rc.d/init.d/corosync-notifyd
+%verify(not md5 mtime size) %config(noreplace) /etc/logrotate.d/%{name}
%verify(not md5 mtime size) %config(noreplace) /etc/sysconfig/%{name}-notifyd
%dir %{_sysconfdir}/corosync
+%dir %{_sysconfdir}/corosync/service.d
+%dir %{_sysconfdir}/corosync/uidgid.d
%{systemdunitdir}/corosync.service
%{systemdunitdir}/corosync-notifyd.service
+%if %{with qdevices} || %{with qnetd}
+%{systemdtmpfilesdir}/corosync.conf
+%endif
%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/corosync/corosync.conf
%attr(755,root,root) %{_bindir}/corosync-blackbox
%attr(755,root,root) %{_sbindir}/corosync
%if %{with dbus}
/etc/dbus-1/system.d/corosync-signals.conf
%endif
-/var/lib/corosync
+%dir /var/lib/corosync
%attr(700,root,root) %dir /var/log/cluster
+%if %{with qdevices}
+%attr(755,root,root) %{_sbindir}/corosync-qdevice
+%attr(755,root,root) %{_sbindir}/corosync-qdevice-net-certutil
+%attr(755,root,root) %{_sbindir}/corosync-qdevice-tool
+%{_datadir}/corosync/corosync-qdevice
+%{systemdunitdir}/corosync-qdevice.service
+%dir %{_sysconfdir}/corosync/qdevice
+%attr(770,root,root) %dir %{_sysconfdir}/corosync/qdevice/net
+%attr(770,root,root) %dir /var/run/corosync-qdevice
+%{_mandir}/man8/corosync-qdevice.8*
+%{_mandir}/man8/corosync-qdevice-net-certutil.8*
+%{_mandir}/man8/corosync-qdevice-tool.8*
+%endif
+%if %{with qnetd}
+%attr(755,root,root) %{_bindir}/corosync-qnetd
+%attr(755,root,root) %{_bindir}/corosync-qnetd-certutil
+%attr(755,root,root) %{_bindir}/corosync-qnetd-tool
+%{_datadir}/corosync/corosync-qnetd
+%{systemdunitdir}/corosync-qnetd.service
+%attr(770,root,root) %dir %{_sysconfdir}/corosync/qnetd
+%attr(770,root,root) %dir /var/run/corosync-qnetd
+%{_mandir}/man8/corosync-qnetd.8*
+%{_mandir}/man8/corosync-qnetd-certutil.8*
+%{_mandir}/man8/corosync-qnetd-tool.8*
+%endif
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %ghost %{_libdir}/libquorum.so.5
%attr(755,root,root) %{_libdir}/libtotem_pg.so.5.*.*
%attr(755,root,root) %ghost %{_libdir}/libtotem_pg.so.5
-%attr(755,root,root) %{_libdir}/libvotequorum.so.7.*.*
-%attr(755,root,root) %ghost %{_libdir}/libvotequorum.so.7
+%attr(755,root,root) %{_libdir}/libvotequorum.so.8.*.*
+%attr(755,root,root) %ghost %{_libdir}/libvotequorum.so.8
%files devel
%defattr(644,root,root,755)