+# TODO: publican docs (BR: publican, inkscape)
#
# Conditional build:
%bcond_without corosync # Corosync stack support
Summary: The scalable High-Availability cluster resource manager
Summary(pl.UTF-8): Skalowalny zarządca zasobów klastrów o wysokiej dostępności
Name: pacemaker
-Version: 1.1.10
+Version: 1.1.19
Release: 1
License: GPL v2+, LGPL v2.1+
Group: Applications/System
+#Source0Download: https://github.com/ClusterLabs/pacemaker/releases
Source0: https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-%{version}.tar.gz
-# Source0-md5: 532ec5d62b9437204a9f18fa3d5a89fc
+# Source0-md5: 335dab2fd6b3a284a6bd2bbeef60c960
Source1: %{name}.tmpfiles
Source2: %{name}.init
Source3: %{name}.service
Patch0: %{name}-automake.patch
Patch1: %{name}-manpage_xslt.patch
-Patch2: %{name}-corosync.patch
-Patch3: %{name}-update.patch
-Patch4: %{name}-man.patch
-Patch5: %{name}-libs.patch
+Patch2: %{name}-update.patch
+Patch3: %{name}-man.patch
+Patch4: %{name}-libs.patch
URL: http://clusterlabs.org/wiki/Main_Page
%{?with_ipmi:BuildRequires: OpenIPMI-devel}
BuildRequires: asciidoc
BuildRequires: autoconf >= 2.59
BuildRequires: automake
+BuildRequires: bison
BuildRequires: bzip2-devel
BuildRequires: cluster-glue-libs-devel
%{?with_corosync:BuildRequires: corosync-devel >= 2.0}
+BuildRequires: dbus-devel
BuildRequires: docbook-style-xsl
BuildRequires: e2fsprogs-devel
+BuildRequires: flex
+BuildRequires: gettext-tools
BuildRequires: glib2-devel >= 2.0
BuildRequires: gnutls-devel
BuildRequires: help2man
-%{?with_heartbeat:BuildRequires: heartbeat-devel >= 3.0.5-6}
+%{?with_heartbeat:BuildRequires: heartbeat-devel >= 3.0.6}
BuildRequires: libesmtp-devel
BuildRequires: libltdl-devel
BuildRequires: libqb-devel >= 0.13
BuildRequires: libxml2-devel >= 2.0
BuildRequires: libxslt-devel
BuildRequires: libxslt-progs
-BuildRequires: ncurses-devel
+BuildRequires: ncurses-devel >= 5.4
BuildRequires: net-snmp-devel
BuildRequires: pam-devel
BuildRequires: pciutils-devel
BuildRequires: pkgconfig
BuildRequires: python-devel
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.644
+BuildRequires: rpmbuild(macros) >= 1.644
+BuildRequires: systemd-units
BuildRequires: swig
Requires: %{name}-libs = %{version}-%{release}
Requires: cluster-glue
Summary: Pacemaker libraries
Summary(pl.UTF-8): Biblioteki Pacemakera
Group: Libraries
+Requires: libqb >= 0.13
%description libs
Shared libraries for Pacemaker.
Summary(pl.UTF-8): Pacemaker dla klastra Heartbeat
Group: Applications/System
Requires: %{name} = %{version}-%{release}
-Requires: heartbeat
+Requires: heartbeat >= 3.0.6
Obsoletes: pacemaker < 1.1
-Conflicts: heartbeat < 2.99.0
%description heartbeat
This package allows using Pacemaker on a Heartbeat cluster.
Group: Applications/System
Requires: %{name} = %{version}-%{release}
Requires: corosync
-Requires: systemd-units >= 38
+Requires: systemd-units >= 38
%{?with_heartbeat:%requires_eq heartbeat-libs}
%description corosync
Summary: Remote services manager for Pacemaker
Summary(pl.UTF-8): Zarządca usług zdalnych dla Pacemakera
Group: Applications/System
-Requires: systemd-units >= 38
+Requires: systemd-units >= 38
Requires: %{name} = %{version}-%{release}
%description remote
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%build
%{__libtoolize}
%{__automake}
CPPFLAGS="%{rpmcppflags} %{?with_heartbeat:-I/usr/include/heartbeat}"
+# enable systemd explicitly to avoid configure checks via dbus-send or systemctl
%configure \
+ --disable-fatal-warnings \
+ --disable-silent-rules \
+ --enable-systemd \
+ --disable-upstart \
--with-acl \
--with-corosync%{!?with_corosync:=no} \
--with-esmtp \
--with-heartbeat%{!?with_heartbeat:=no} \
--with-initdir=/etc/rc.d/init.d \
- --with-snmp \
- --disable-fatal-warnings \
- --disable-silent-rules
+ --with-snmp
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{/var/run/crm,/var/log}
%{__make} install \
+ mibdir=%{_datadir}/mibs \
DESTDIR=$RPM_BUILD_ROOT
+touch $RPM_BUILD_ROOT/var/log/pacemaker.log
+
%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
install -D %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
%preun
if [ "$1" = "0" ]; then
- %service %{name} stop
- /sbin/chkconfig --del %{name}
+ %service %{name} stop
+ /sbin/chkconfig --del %{name}
fi
%preun corosync
%postun remote
%systemd_reload
-%post libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
-%doc doc/README* doc/*.html doc/*.txt AUTHORS COPYING*
+%doc ChangeLog README.markdown doc/*.html doc/{executioner,msg-schema,security}.txt doc/{openstack,pcs-crmsh-quick-ref}.md
%attr(755,root,root) %{_sbindir}/attrd_updater
%attr(755,root,root) %{_sbindir}/cibadmin
%attr(755,root,root) %{_sbindir}/crm_attribute
%endif
%attr(755,root,root) %{_sbindir}/notifyServicelogEvent
%endif
-%dir %{_libdir}/%{name}
-%attr(755,root,root) %{_libdir}/%{name}/attrd
-%attr(755,root,root) %{_libdir}/%{name}/cib
-%attr(755,root,root) %{_libdir}/%{name}/cibmon
-%attr(755,root,root) %{_libdir}/%{name}/crmd
-%attr(755,root,root) %{_libdir}/%{name}/lrmd
-%attr(755,root,root) %{_libdir}/%{name}/lrmd_test
-%attr(755,root,root) %{_libdir}/%{name}/pengine
-%attr(755,root,root) %{_libdir}/%{name}/stonith-test
-%attr(755,root,root) %{_libdir}/%{name}/stonithd
+%dir %{_libexecdir}/%{name}
+%attr(755,root,root) %{_libexecdir}/%{name}/attrd
+%attr(755,root,root) %{_libexecdir}/%{name}/cib
+%attr(755,root,root) %{_libexecdir}/%{name}/cibmon
+%attr(755,root,root) %{_libexecdir}/%{name}/crmd
+%attr(755,root,root) %{_libexecdir}/%{name}/lrmd
+%attr(755,root,root) %{_libexecdir}/%{name}/lrmd_internal_ctl
+%attr(755,root,root) %{_libexecdir}/%{name}/lrmd_test
+%attr(755,root,root) %{_libexecdir}/%{name}/pengine
+%attr(755,root,root) %{_libexecdir}/%{name}/stonith-test
+%attr(755,root,root) %{_libexecdir}/%{name}/stonithd
%{_datadir}/pacemaker
-%{_datadir}/snmp/mibs/PCMK-MIB.txt
+%{_datadir}/mibs/PCMK-MIB.txt
%{py_sitedir}/cts
+%{systemdunitdir}/crm_mon.service
+%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/pacemaker
+%ghost /var/log/pacemaker.log
%{_mandir}/man7/crmd.7*
%{_mandir}/man7/ocf_pacemaker_*.7*
%{_mandir}/man7/pengine.7*
%{_mandir}/man8/notifyServicelogEvent.8*
%endif
+%dir %{_prefix}/lib/ocf/resource.d/.isolation
+%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/.isolation/docker-wrapper
%dir %{_prefix}/lib/ocf/resource.d/pacemaker
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ClusterMon
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Dummy
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/Stateful
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SysInfo
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/SystemHealth
+%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/attribute
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/controld
+%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ifspeed
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/o2cb
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/ping
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/pacemaker/pingd
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libcib.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libcib.so.3
+%attr(755,root,root) %ghost %{_libdir}/libcib.so.4
%attr(755,root,root) %{_libdir}/libcrmcluster.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libcrmcluster.so.4
%attr(755,root,root) %{_libdir}/libcrmcommon.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libcrmcommon.so.3
%attr(755,root,root) %{_libdir}/libcrmservice.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libcrmservice.so.1
+%attr(755,root,root) %ghost %{_libdir}/libcrmservice.so.3
%attr(755,root,root) %{_libdir}/liblrmd.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/liblrmd.so.1
%attr(755,root,root) %{_libdir}/libpe_rules.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libpe_rules.so.2
%attr(755,root,root) %{_libdir}/libpe_status.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpe_status.so.4
+%attr(755,root,root) %ghost %{_libdir}/libpe_status.so.10
%attr(755,root,root) %{_libdir}/libpengine.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpengine.so.4
+%attr(755,root,root) %ghost %{_libdir}/libpengine.so.10
%attr(755,root,root) %{_libdir}/libstonithd.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libstonithd.so.2
%attr(755,root,root) %{_libdir}/libtransitioner.so.*.*.*
%files heartbeat
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/crm_uuid
-%attr(755,root,root) %{_libdir}/heartbeat/attrd
-%attr(755,root,root) %{_libdir}/heartbeat/cib
-%attr(755,root,root) %{_libdir}/heartbeat/crmd
-%attr(755,root,root) %{_libdir}/heartbeat/pengine
-%attr(755,root,root) %{_libdir}/heartbeat/stonithd
%{_mandir}/man8/crm_uuid.8*
%endif