]> git.pld-linux.org Git - packages/corosync.git/blobdiff - corosync.spec
add static_libs bcond
[packages/corosync.git] / corosync.spec
index c06fd0449eb2cfa24494ae3383959ecf2799bf2a..39a140df170de5df15f53c29a5b37b2666a31aa4 100644 (file)
@@ -1,45 +1,57 @@
 #
 # Conditional build:
 %bcond_without apidocs         # build apidocs (some man3 pages are provided anyway)
+%bcond_without augeas          # augeas lens support
 %bcond_without dbus            # DBus events
 %bcond_without rdma            # RDMA support
 %bcond_without snmp            # SNMP protocol support
-%bcond_without testagents
-%bcond_without watchdog
-%bcond_without monitoring
-%bcond_without xmlconf
+%bcond_without testagents      # test agents build
+%bcond_without watchdog        # watchdog support
+%bcond_without monitoring      # resource monitoring
+%bcond_without qdevices        # Quorum devices support
+%bcond_without qnetd           # Quorum Net Daemon support
+%bcond_without xmlconf         # XML configuration support
+%bcond_without libcgroup       # libcgroup support
+%bcond_without static_libs     # static libraries
 #
 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.1.0
-Release:       4
+Version:       2.4.6
+Release:       1
 License:       BSD
 Group:         Base
-Source0:       https://github.com/downloads/corosync/corosync/corosync-2.1.0.tar.gz
-# Source0-md5: dc5152e6dfdb4638ab544e587884483a
+#Source0Download: http://corosync.org/download/
+Source0:       https://build.clusterlabs.org/corosync/releases/%{name}-%{version}.tar.gz
+# Source0-md5: 7f9d111c53b760cedd5e3bbcdf93f133
 Source1:       %{name}.init
 Source2:       %{name}-notifyd.init
 Source3:       %{name}-notifyd.sysconfig
-Patch0:                %{name}-lib_deps.patch
-Patch1:                %{name}-install.patch
-Patch2:                %{name}-notifyd_service.patch
-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: libtool
-BuildRequires: librdmacm-devel
+BuildRequires: libibverbs-devel >= 20
+BuildRequires: librdmacm-devel >= 20
 %endif
-%{?with_xmlconf:BuildRequires: libxslt}
+%{?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
+Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name}-libs = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -94,6 +106,18 @@ This package contains the Corosync static libraries.
 %description static -l pl.UTF-8
 Ten pakiet zawiera statyczne biblioteki Corosync.
 
+%package testagents
+Summary:       The Corosync Cluster Engine test agents
+Summary(pl.UTF-8):     Testowi agenci silnika klastrowego Corosync
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description testagents
+This package contains Corosync test agents.
+
+%description testagents -l pl.UTF-8
+Ten pakiet zawiera testowych agentów silnika Corosync.
+
 %package -n mibs-corosync
 Summary:       Corosync SNMP MIB data
 Summary(pl.UTF-8):     Dane SNMP MIB dla Corosync
@@ -106,19 +130,11 @@ Corosync SNMP MIB data.
 %description -n mibs-corosync -l pl.UTF-8
 Dane SNMP MIB dla Corosync.
 
-%package -n corosync-testagents
-Summary:       The Corosync Cluster Engine Test Agents
-Group:         Development/Libraries
-Requires:      %{name} = %{version}-%{release}
-
-%description -n corosync-testagents
-This package contains corosync test agents.
-
 %prep
 %setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+
+# force regeneration with proper BASHPATH
+%{__rm} cts/agents/{cmap-dispatch-deadlock,shm_leak_audit}.sh
 
 %build
 %{__libtoolize}
@@ -127,16 +143,23 @@ This package contains corosync test agents.
 %{__autoheader}
 %{__automake}
 %configure \
-       %{?with_testagents:--enable-testagents} \
-       %{?with_watchdog:--enable-watchdog} \
-       %{?with_monitoring:--enable-monitoring} \
-       %{?with_xmlconf:--enable-xmlconf} \
+       BASHPATH=/bin/bash \
+       %{__enable_disable static_libs static} \
+       %{?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} \
        --enable-systemd \
-       --with-systemddir=%{systemdunitdir} \
-       --with-initddir=/etc/rc.d/init.d
+       %{?with_testagents:--enable-testagents} \
+       %{?with_watchdog:--enable-watchdog} \
+       %{?with_xmlconf:--enable-xmlconf} \
+       --with-initddir=/etc/rc.d/init.d \
+       --with-systemddir=%{systemdunitdir}
 
 %{__make}
 
@@ -145,8 +168,10 @@ This package contains corosync test agents.
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/sysconfig}
+install -d $RPM_BUILD_ROOT/var/log/cluster
 
 %{__make} install \
+       mibdir=%{_datadir}/mibs \
        DESTDIR=$RPM_BUILD_ROOT
 
 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/corosync
@@ -159,16 +184,31 @@ install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
 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
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
 /sbin/chkconfig --add %{name}
 /sbin/chkconfig --add %{name}-notifyd
-%service %{name} restart
 %service %{name}-notifyd restart
-%systemd_post %{name}.service
 %systemd_post %{name}-notifyd.service
+export NORESTART=1
+%systemd_post %{name}.service
 
 %preun
 if [ "$1" = "0" ]; then
@@ -188,16 +228,22 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS ChangeLog LICENSE README.recovery SECURITY TODO conf/corosync.conf.example*
+%doc AUTHORS ChangeLog LICENSE README.recovery SECURITY conf/corosync.conf.example*
 %if %{with xmlconf}
 %doc conf/corosync.xml.example*
 %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
@@ -208,6 +254,7 @@ fi
 %attr(755,root,root) %{_sbindir}/corosync-notifyd
 %attr(755,root,root) %{_sbindir}/corosync-quorumtool
 %{_mandir}/man5/corosync.conf.5*
+%{_mandir}/man5/votequorum.5*
 %{_mandir}/man8/corosync.8*
 %{_mandir}/man8/corosync-blackbox.8*
 %{_mandir}/man8/corosync-cmapctl.8*
@@ -216,20 +263,58 @@ fi
 %{_mandir}/man8/corosync-keygen.8*
 %{_mandir}/man8/corosync-notifyd.8*
 %{_mandir}/man8/corosync-quorumtool.8*
+# should be man7...
+%{_mandir}/man8/cmap_keys.8*
+%{_mandir}/man8/cmap_overview.8*
+%{_mandir}/man8/corosync_overview.8*
+%{_mandir}/man8/cpg_overview.8*
+%{_mandir}/man8/sam_overview.8*
+%{_mandir}/man8/votequorum_overview.8*
+%{_mandir}/man8/quorum_overview.8*
 %dir %{_datadir}/corosync
 %attr(755,root,root) %{_datadir}/%{name}/corosync
 %attr(755,root,root) %{_datadir}/%{name}/corosync-notifyd
 %if %{with xmlconf}
 %attr(755,root,root) %{_bindir}/corosync-xmlproc
 %config(noreplace) %{_sysconfdir}/corosync/corosync.xml.example
-%dir %{_datadir}/corosync/xml2conf.xsl
+%{_datadir}/corosync/xml2conf.xsl
 %{_mandir}/man8/corosync-xmlproc.8*
 %{_mandir}/man5/corosync.xml.5*
 %endif
+%if %{with augeas}
+%{_datadir}/augeas/lenses/corosync.aug
+%{_datadir}/augeas/lenses/tests/test_corosync.aug
+%endif
 %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)
@@ -247,8 +332,8 @@ fi
 %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.6.*.*
-%attr(755,root,root) %ghost %{_libdir}/libvotequorum.so.6
+%attr(755,root,root) %{_libdir}/libvotequorum.so.8.*.*
+%attr(755,root,root) %ghost %{_libdir}/libvotequorum.so.8
 
 %files devel
 %defattr(644,root,root,755)
@@ -276,15 +361,8 @@ fi
 %{_mandir}/man3/quorum_*.3*
 %{_mandir}/man3/sam_*.3*
 %{_mandir}/man3/votequorum_*.3*
-%{_mandir}/man5/votequorum.5*
-# should be man7...
-%{_mandir}/man8/cmap_keys.8*
-%{_mandir}/man8/cmap_overview.8*
-%{_mandir}/man8/corosync_overview.8*
-%{_mandir}/man8/cpg_overview.8*
-%{_mandir}/man8/sam_overview.8*
-%{_mandir}/man8/votequorum_overview.8*
-%{_mandir}/man8/quorum_overview.8*
+
+%if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libcfg.a
@@ -295,21 +373,23 @@ fi
 %{_libdir}/libquorum.a
 %{_libdir}/libtotem_pg.a
 %{_libdir}/libvotequorum.a
-
-%if %{with snmp}
-%files -n mibs-corosync
-%defattr(644,root,root,755)
-%{_datadir}/snmp/mibs/COROSYNC-MIB.txt
 %endif
 
 %if %{with testagents}
-%files -n corosync-testagents
+%files testagents
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/cpg_test_agent
+%attr(755,root,root) %{_bindir}/sam_test_agent
+%attr(755,root,root) %{_bindir}/votequorum_test_agent
+%dir %{_datadir}/corosync/tests
 %{_datadir}/corosync/tests/mem_leak_test.sh
 %{_datadir}/corosync/tests/net_breaker.sh
 %{_datadir}/corosync/tests/cmap-dispatch-deadlock.sh
 %{_datadir}/corosync/tests/shm_leak_audit.sh
-%attr(755,root,root) %{_bindir}/cpg_test_agent
-%attr(755,root,root) %{_bindir}/sam_test_agent
-%attr(755,root,root) %{_bindir}/votequorum_test_agent
+%endif
+
+%if %{with snmp}
+%files -n mibs-corosync
+%defattr(644,root,root,755)
+%{_datadir}/mibs/COROSYNC-MIB.txt
 %endif
This page took 0.062441 seconds and 4 git commands to generate.