-# TODO: publican docs (BR: publican, inkscape)
#
# Conditional build:
%bcond_without corosync # Corosync stack support
%bcond_without heartbeat # Heartbeat stack support
%bcond_without servicelog # ServiceLog support [IBM PPC specific]
%bcond_without ipmi # IPMI ServiceLog support [IBM PPC specific]
+%bcond_without doc # documentation
#
%ifnarch ppc ppc64
%undefine with_servicelog
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.15
-Release: 2
+Version: 1.1.24
+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: 47e0853494978bb7366a657e1fdfb12f
+# Source0-md5: 4e0b76f7ba00535514a97dcf9cd47813
Source1: %{name}.tmpfiles
Source2: %{name}.init
Source3: %{name}.service
Patch0: %{name}-automake.patch
Patch1: %{name}-manpage_xslt.patch
Patch2: %{name}-update.patch
-Patch3: %{name}-man.patch
+Patch3: %{name}-libesmtp.patch
Patch4: %{name}-libs.patch
+Patch5: %{name}-heartbeat-libexecdir.patch
+Patch6: %{name}-no-common.patch
+Patch7: %{name}-inkscape.patch
URL: http://clusterlabs.org/wiki/Main_Page
%{?with_ipmi:BuildRequires: OpenIPMI-devel}
BuildRequires: asciidoc
BuildRequires: rpmbuild(macros) >= 1.644
BuildRequires: systemd-units
BuildRequires: swig
+%if %{with doc}
+BuildRequires: inkscape >= 1.0
+BuildRequires: publican
+%endif
Requires: %{name}-libs = %{version}-%{release}
Requires: cluster-glue
Requires: resource-agents
Summary: Pacemaker libraries
Summary(pl.UTF-8): Biblioteki Pacemakera
Group: Libraries
+Requires: libqb >= 0.13
%description libs
Shared libraries for Pacemaker.
%description static -l pl.UTF-8
Statyczne biblioteki Pacemakera.
+%package remote
+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: %{name} = %{version}-%{release}
+
+%description remote
+This package allows running Pacemaker-managed services on 'virtual'
+nodes without actual cluster stack. This is useful to manage services
+in virtual machines or containers running on a Pacemaker cluster.
+
+%description remote -l pl.UTF-8
+Ten pakiet pozwala na uruchamianie usług zarządzanych przez Pacemakera
+na węzłach "wirtualnych" bez zainstalowanego całego stosu klastrowego.
+Jest to przydatne przy zarządzaniu usługami na maszynach wirtualncych
+lub w kontenerach uruchomionych na klastrze opartym o Pacemaker.
+
%package heartbeat
Summary: Pacemaker for Heartbeat cluster
Summary(pl.UTF-8): Pacemaker dla klastra Heartbeat
%description corosync -l pl.UTF-8
Ten pakiet pozwala na używanie Pacemakera na klastrze Corosync.
-%package remote
-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: %{name} = %{version}-%{release}
+%package doc
+Summary: Pacemaker documentation
+Summary(pl.UTF-8): Dokumentacja do Pacemakera
+Group: Documentation
-%description remote
-This package allows running Pacemaker-managed services on 'virtual'
-nodes without actual cluster stack. This is useful to manage services
-in virtual machines or containers running on a Pacemaker cluster.
+%description doc
+Pacemaker documentation.
-%description remote -l pl.UTF-8
-Ten pakiet pozwala na uruchamianie usług zarządzanych przez Pacemakera
-na węzłach "wirtualnych" bez zainstalowanego całego stosu klastrowego.
-Jest to przydatne przy zarządzaniu usługami na maszynach wirtualncych
-lub w kontenerach uruchomionych na klastrze opartym o Pacemaker.
+%description doc -l pl.UTF-8
+Dokumentacja do Pacemakera.
%prep
%setup -qn pacemaker-Pacemaker-%{version}
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -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}
touch $RPM_BUILD_ROOT/var/log/pacemaker.log
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pacemaker
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/pacemaker/tests
+# package as %doc
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/pacemaker/{COPYING,README.markdown,acls.*,crm_fencing.*,licenses}
-install -D %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
+install -D %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
%if %{with corosync}
install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
install -D %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README.markdown TODO.markdown doc/*.html doc/{executioner,msg-schema,security}.txt doc/{openstack,pcs-crmsh-quick-ref}.md
+%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_internal_ctl
-%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}/mibs/PCMK-MIB.txt
%{py_sitedir}/cts
%{_mandir}/man8/iso8601.8*
%{_mandir}/man8/stonith_admin.8*
%if %{with servicelog}
+%if %{with ipmi}
+%{_mandir}/man8/ipmiservicelogd.8*
+%endif
%{_mandir}/man8/notifyServicelogEvent.8*
%endif
%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
%dir %attr(750,hacluster,haclient) /var/lib/%{name}/cib
%dir %attr(750,hacluster,haclient) /var/lib/%{name}/pengine
%dir %attr(750,hacluster,haclient) %{_var}/run/crm
-/usr/lib/tmpfiles.d/%{name}.conf
+%{systemdtmpfilesdir}/%{name}.conf
%files libs
%defattr(644,root,root,755)
%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.10
+%attr(755,root,root) %ghost %{_libdir}/libpe_status.so.16
%attr(755,root,root) %{_libdir}/libpengine.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpengine.so.10
+%attr(755,root,root) %ghost %{_libdir}/libpengine.so.16
%attr(755,root,root) %{_libdir}/libstonithd.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libstonithd.so.2
%attr(755,root,root) %{_libdir}/libtransitioner.so.*.*.*
%{systemdunitdir}/%{name}.service
%{_mandir}/man8/pacemakerd.8*
%endif
+
+%if %{with doc}
+%files doc
+%defattr(644,root,root,755)
+%dir %{_docdir}/pacemaker
+%{_docdir}/pacemaker/Clusters_from_Scratch
+%{_docdir}/pacemaker/Pacemaker_Development
+%{_docdir}/pacemaker/Pacemaker_Explained
+%{_docdir}/pacemaker/Pacemaker_Remote
+%endif