diff --git a/.gitignore b/.gitignore index be45a88..c48cd9d 100644 --- a/.gitignore +++ b/.gitignore @@ -31,4 +31,4 @@ corosync-1.2.7.tar.gz /corosync-2.4.1.tar.gz /corosync-2.4.2.tar.gz /corosync-2.4.3.tar.gz -/corosync-2.99.1.tar.gz +/corosync-2.4.4.tar.gz diff --git a/corosync.spec b/corosync.spec index 8c80d6a..bb26ff7 100644 --- a/corosync.spec +++ b/corosync.spec @@ -6,9 +6,16 @@ %bcond_with monitoring %bcond_without snmp %bcond_without dbus +# no InfiniBand stack on s390(x) and 32-bit ARM +%ifnarch s390 s390x %{arm} +%bcond_without rdma +%endif %bcond_without systemd +%bcond_with upstart %bcond_without xmlconf %bcond_without runautogen +%bcond_without qdevices +%bcond_without qnetd %bcond_without libcgroup %global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}} @@ -16,22 +23,31 @@ Name: corosync Summary: The Corosync Cluster Engine and Application Programming Interfaces -Version: 2.99.1 +Version: 2.4.4 Release: 1%{?gitver}%{?dist} License: BSD +Group: System Environment/Base URL: http://corosync.github.io/corosync/ Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz +%if 0%{?rhel} && 0%{?rhel} <= 7 +ExclusiveArch: i686 x86_64 +%endif + # Runtime bits # The automatic dependency overridden in favor of explicit version lock Requires: corosynclib%{?_isa} = %{version}-%{release} +Requires(pre): /usr/sbin/useradd +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +Obsoletes: openais, openais-devel, openaislib, openaislib-devel +Obsoletes: cman, clusterlib, clusterlib-devel # Build bits BuildRequires: groff -BuildRequires: libqb-devel +BuildRequires: libqb-devel >= 0.14.2 BuildRequires: nss-devel -BuildRequires: libknet1-devel BuildRequires: zlib-devel %if %{with runautogen} BuildRequires: autoconf automake libtool @@ -39,6 +55,9 @@ BuildRequires: autoconf automake libtool %if %{with monitoring} BuildRequires: libstatgrab-devel %endif +%if %{with rdma} +BuildRequires: libibverbs-devel librdmacm-devel +%endif %if %{with snmp} BuildRequires: net-snmp-devel %endif @@ -46,20 +65,25 @@ BuildRequires: net-snmp-devel BuildRequires: dbus-devel %endif %if %{with systemd} -%{?systemd_requires} -BuildRequires: systemd -BuildRequires: systemd-devel -%else -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/chkconfig +BuildRequires: systemd-units +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd %endif %if %{with xmlconf} Requires: libxslt %endif +%if %{with qdevices} || %{with qnetd} +Requires: nss-tools +%endif +%if %{with qnetd} +BuildRequires: sed +%endif %if %{with libcgroup} BuildRequires: libcgroup-devel %endif + %prep %setup -q -n %{name}-%{version}%{?gittarver} @@ -68,6 +92,12 @@ BuildRequires: libcgroup-devel ./autogen.sh %endif +%if %{with rdma} +export ibverbs_CFLAGS=-I/usr/include/infiniband \ +export ibverbs_LIBS=-libverbs \ +export rdmacm_CFLAGS=-I/usr/include/rdma \ +export rdmacm_LIBS=-lrdmacm \ +%endif %{configure} \ %if %{with testagents} --enable-testagents \ @@ -84,22 +114,36 @@ BuildRequires: libcgroup-devel %if %{with dbus} --enable-dbus \ %endif +%if %{with rdma} + --enable-rdma \ +%endif %if %{with systemd} --enable-systemd \ %endif +%if %{with upstart} + --enable-upstart \ +%endif %if %{with xmlconf} --enable-xmlconf \ %endif +%if %{with qdevices} + --enable-qdevices \ +%endif +%if %{with qnetd} + --enable-qnetd \ +%endif %if %{with libcgroup} --enable-libcgroup \ %endif --with-initddir=%{_initrddir} \ --with-systemddir=%{_unitdir} \ - --docdir=%{_docdir} + --with-upstartdir=%{_sysconfdir}/init make %{_smp_mflags} %install +rm -rf %{buildroot} + make install DESTDIR=%{buildroot} %if %{with dbus} @@ -121,6 +165,25 @@ install -m 644 tools/corosync-notifyd.sysconfig.example \ install -m 644 init/corosync.sysconfig.example \ %{buildroot}%{_sysconfdir}/sysconfig/corosync +%if %{with qdevices} +# /etc/sysconfig/corosync-qdevice +install -m 644 init/corosync-qdevice.sysconfig.example \ + %{buildroot}%{_sysconfdir}/sysconfig/corosync-qdevice +%endif + +%if %{with qnetd} +# /etc/sysconfig/corosync-qnetd +install -m 644 init/corosync-qnetd.sysconfig.example \ + %{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd +%if %{with systemd} +sed -i -e 's/^#User=/User=/' \ + %{buildroot}%{_unitdir}/corosync-qnetd.service +%else +sed -i -e 's/^COROSYNC_QNETD_RUNAS=""$/COROSYNC_QNETD_RUNAS="coroqnetd"/' \ + %{buildroot}%{_sysconfdir}/sysconfig/corosync-qnetd +%endif +%endif + %description This package contains the Corosync Cluster Engine Executive, several default APIs and libraries, default configuration files, and an init script. @@ -146,10 +209,11 @@ fi %postun %if %{with systemd} && 0%{?systemd_postun:1} -%systemd_postun corosync.service +%systemd_postun %endif %files +%defattr(-,root,root,-) %doc LICENSE SECURITY %{_sbindir}/corosync %{_sbindir}/corosync-keygen @@ -183,13 +247,20 @@ fi %if %{with systemd} %{_unitdir}/corosync.service %{_unitdir}/corosync-notifyd.service +%dir %{_datadir}/corosync +%{_datadir}/corosync/corosync +%{_datadir}/corosync/corosync-notifyd %else %{_initrddir}/corosync %{_initrddir}/corosync-notifyd %endif +%if %{with upstart} +%{_sysconfdir}/init/corosync.conf +%{_sysconfdir}/init/corosync-notifyd.conf +%endif %dir %{_localstatedir}/lib/corosync %dir %{_localstatedir}/log/cluster -%{_mandir}/man7/corosync_overview.7* +%{_mandir}/man8/corosync_overview.8* %{_mandir}/man8/corosync.8* %{_mandir}/man8/corosync-blackbox.8* %{_mandir}/man8/corosync-cmapctl.8* @@ -208,7 +279,9 @@ fi %package -n corosync-testagents Summary: The Corosync Cluster Engine Test Agents +Group: Development/Libraries Requires: %{name} = %{version}-%{release} +Requires: libqb >= 0.14.2 %description -n corosync-testagents This package contains corosync test agents. @@ -229,11 +302,13 @@ This package contains corosync test agents. # %package -n corosynclib Summary: The Corosync Cluster Engine Libraries +Group: System Environment/Libraries %description -n corosynclib This package contains corosync libraries. %files -n corosynclib +%defattr(-,root,root,-) %doc LICENSE %{_libdir}/libcfg.so.* %{_libdir}/libcpg.so.* @@ -250,15 +325,18 @@ This package contains corosync libraries. %package -n corosynclib-devel Summary: The Corosync Cluster Engine Development Kit +Group: Development/Libraries Requires: corosynclib%{?_isa} = %{version}-%{release} Requires: pkgconfig Provides: corosync-devel = %{version} +Obsoletes: corosync-devel < 0.92-7 %description -n corosynclib-devel This package contains include files and man pages used to develop using The Corosync Cluster Engine APIs. %files -n corosynclib-devel +%defattr(-,root,root,-) %doc LICENSE %dir %{_includedir}/corosync/ %{_includedir}/corosync/corodefs.h @@ -274,7 +352,6 @@ The Corosync Cluster Engine APIs. %{_includedir}/corosync/totem/totem.h %{_includedir}/corosync/totem/totemip.h %{_includedir}/corosync/totem/totempg.h -%{_includedir}/corosync/totem/totemstats.h %{_libdir}/libcfg.so %{_libdir}/libcpg.so %{_libdir}/libcmap.so @@ -288,10 +365,152 @@ The Corosync Cluster Engine APIs. %{_mandir}/man3/quorum_*3* %{_mandir}/man3/votequorum_*3* %{_mandir}/man3/sam_*3* +%{_mandir}/man8/cpg_overview.8* +%{_mandir}/man8/votequorum_overview.8* +%{_mandir}/man8/sam_overview.8* %{_mandir}/man3/cmap_*3* +%{_mandir}/man8/cmap_overview.8* +%{_mandir}/man8/quorum_overview.8* + +# optional qdevices +# +%if %{with qdevices} + +%package -n corosync-qdevice +Summary: The Corosync Cluster Engine Qdevice +Group: System Environment/Base +Requires: %{name} = %{version}-%{release} +# The automatic dependency overridden in favor of explicit version lock +Requires: corosynclib%{?_isa} = %{version}-%{release} +Requires: nss-tools + +%if %{with systemd} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%endif + +%description -n corosync-qdevice +This package contains the Corosync Cluster Engine Qdevice, script for creating +NSS certificates and an init script. + +%post -n corosync-qdevice +%if %{with systemd} && 0%{?systemd_post:1} +%systemd_post corosync-qdevice.service +%else +if [ $1 -eq 1 ]; then + /sbin/chkconfig --add corosync-qdevice || : +fi +%endif + +%preun -n corosync-qdevice +%if %{with systemd} && 0%{?systemd_preun:1} +%systemd_preun corosync-qdevice.service +%else +if [ $1 -eq 0 ]; then + /sbin/service corosync-qdevice stop &>/dev/null || : + /sbin/chkconfig --del corosync-qdevice || : +fi +%endif + +%postun -n corosync-qdevice +%if %{with systemd} && 0%{?systemd_postun:1} +%systemd_postun +%endif + +%files -n corosync-qdevice +%defattr(-,root,root,-) +%dir %{_sysconfdir}/corosync/qdevice +%dir %config(noreplace) %{_sysconfdir}/corosync/qdevice/net +%dir %{_localstatedir}/run/corosync-qdevice +%{_sbindir}/corosync-qdevice +%{_sbindir}/corosync-qdevice-net-certutil +%{_sbindir}/corosync-qdevice-tool +%config(noreplace) %{_sysconfdir}/sysconfig/corosync-qdevice +%if %{with systemd} +%{_unitdir}/corosync-qdevice.service +%dir %{_datadir}/corosync +%{_datadir}/corosync/corosync-qdevice +%else +%{_initrddir}/corosync-qdevice +%endif +%{_mandir}/man8/corosync-qdevice-tool.8* +%{_mandir}/man8/corosync-qdevice-net-certutil.8* +%{_mandir}/man8/corosync-qdevice.8* +%endif + +# optional qnetd +# +%if %{with qnetd} + +%package -n corosync-qnetd +Summary: The Corosync Cluster Engine Qdevice Network Daemon +Group: System Environment/Base +Requires: nss-tools +Requires(pre): shadow-utils + +%if %{with systemd} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%endif + +%description -n corosync-qnetd +This package contains the Corosync Cluster Engine Qdevice Network Daemon, script for creating +NSS certificates and an init script. + +%pre -n corosync-qnetd +getent group coroqnetd >/dev/null || groupadd -r coroqnetd +getent passwd coroqnetd >/dev/null || \ + useradd -r -g coroqnetd -d / -s /sbin/nologin -c "User for corosync-qnetd" coroqnetd +exit 0 + +%post -n corosync-qnetd +%if %{with systemd} && 0%{?systemd_post:1} +%systemd_post corosync-qnetd.service +%else +if [ $1 -eq 1 ]; then + /sbin/chkconfig --add corosync-qnetd || : +fi +%endif + +%preun -n corosync-qnetd +%if %{with systemd} && 0%{?systemd_preun:1} +%systemd_preun corosync-qnetd.service +%else +if [ $1 -eq 0 ]; then + /sbin/service corosync-qnetd stop &>/dev/null || : + /sbin/chkconfig --del corosync-qnetd || : +fi +%endif + +%postun -n corosync-qnetd +%if %{with systemd} && 0%{?systemd_postun:1} +%systemd_postun +%endif + +%files -n corosync-qnetd +%defattr(-,root,root,-) +%dir %config(noreplace) %attr(770, coroqnetd, coroqnetd) %{_sysconfdir}/corosync/qnetd +%dir %attr(770, coroqnetd, coroqnetd) %{_localstatedir}/run/corosync-qnetd +%{_bindir}/corosync-qnetd +%{_bindir}/corosync-qnetd-certutil +%{_bindir}/corosync-qnetd-tool +%config(noreplace) %{_sysconfdir}/sysconfig/corosync-qnetd +%if %{with systemd} +%{_unitdir}/corosync-qnetd.service +%dir %{_datadir}/corosync +%{_datadir}/corosync/corosync-qnetd +%else +%{_initrddir}/corosync-qnetd +%endif +%{_mandir}/man8/corosync-qnetd-tool.8* +%{_mandir}/man8/corosync-qnetd-certutil.8* +%{_mandir}/man8/corosync-qnetd.8* +%endif %changelog -* Fri Mar 16 2018 Jan Friesse - 2.99.1-1 +* Thu Apr 12 2018 Jan Friesse - 2.4.4-1 - New upstream release * Wed Feb 07 2018 Fedora Release Engineering - 2.4.3-3 diff --git a/sources b/sources index 2215492..8dc0c0f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (corosync-2.99.1.tar.gz) = 67ac34e7ace93efeefd60a06f6ba320b55f122308a00279f7273beb9b5798694015356f060ba3155f8dede1627adf2006aa2c2c4cbf48090feb1b51152155ef3 +SHA512 (corosync-2.4.4.tar.gz) = df1bc0a452601cd8b6509d2be300c6c5a1906795a429e42718a8c07b82d86c2e973dd8a08b8b2a8cbdbef5c782a2e7881deeb983ce9c221712f7dda2233a4a99