04a57c
#
04a57c
# spec file for package sbd
04a57c
#
04a57c
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
04a57c
# Copyright (c) 2013 Lars Marowsky-Bree
04a57c
#
04a57c
# All modifications and additions to the file contributed by third parties
04a57c
# remain the property of their copyright owners, unless otherwise agreed
04a57c
# upon. The license for this file, and modifications and additions to the
04a57c
# file, is the same license as for the pristine package itself (unless the
04a57c
# license for the pristine package is not an Open Source License, in which
04a57c
# case the license is the MIT License). An "Open Source License" is a
04a57c
# license that conforms to the Open Source Definition (Version 1.9)
04a57c
# published by the Open Source Initiative.
04a57c
04a57c
# Please submit bugfixes or comments via http://bugs.opensuse.org/
04a57c
#
04a57c
%global commit 7f33d1a409d0a4e2cd69946688c48eaa8f3c5d26
04a57c
%global shortcommit %(c=%{commit}; echo ${c:0:7})
04a57c
%global github_owner Clusterlabs
04a57c
%global buildnum 15
04a57c
04a57c
Name:           sbd
04a57c
Summary:        Storage-based death
04a57c
License:        GPLv2+
04a57c
Group:          System Environment/Daemons
04a57c
Version:        1.4.0
04a57c
Release:        %{buildnum}%{?dist}
04a57c
Url:            https://github.com/%{github_owner}/%{name}
04a57c
Source0:        https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
04a57c
Patch0:         0001-Fix-sbd-cluster-finalize-cmap-connection-if-disconne.patch
04a57c
Patch1:         0002-Fix-sbd-pacemaker-make-handling-of-cib-connection-lo.patch
04a57c
Patch2:         0003-Fix-sbd-pacemaker-bail-out-of-status-earlier.patch
04a57c
Patch3:         0004-Doc-sbd.8.pod-use-the-generic-term-cluster-services-.patch
04a57c
Patch4:         0005-Doc-sbd.sysconfig-watchdog-timeout-set-in-the-on-dis.patch
04a57c
Patch5:         0006-Refactor-fail-earlier-on-invalid-servants.patch
04a57c
Patch6:         0007-Fix-sbd-inquisitor-overhaul-device-list-parser.patch
04a57c
Patch7:         0008-Refactor-sbd-common-no-reason-for-stack-hogger-havin.patch
04a57c
Patch8:         0009-Sanity-sbd-inquisitor-free-timeout-action-on-bail-ou.patch
04a57c
Patch9:         0010-Sanity-sbd-md-prevent-unrealistic-overflow-on-sector.patch
04a57c
Patch10:        0011-Sanity-sbd-md-remove-some-left-over-code.patch
04a57c
Patch11:        0012-Fix-sbd-common-query-rt-budget-0-otherwise-try-movin.patch
04a57c
Patch12:        0013-Fix-sbd-pacemaker-assume-graceful-exit-if-leftovers-.patch
04a57c
Patch13:        0014-Fix-sbd-cluster-periodically-check-corosync-daemon-l.patch
04a57c
Patch14:        0015-build-say-library-when-missing-cmap-not-package-to-a.patch
04a57c
Patch15:        0016-Fix-sbd-pacemaker-check-for-shutdown-attribute-on-ev.patch
04a57c
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
04a57c
BuildRequires:  autoconf
04a57c
BuildRequires:  automake
04a57c
BuildRequires:  libuuid-devel
04a57c
BuildRequires:  glib2-devel
04a57c
BuildRequires:  libaio-devel
04a57c
BuildRequires:  corosync-devel
04a57c
BuildRequires:  pacemaker-libs-devel > 1.1.12
04a57c
BuildRequires:  libtool
04a57c
BuildRequires:  libuuid-devel
04a57c
BuildRequires:  libxml2-devel
04a57c
BuildRequires:  pkgconfig
04a57c
BuildRequires:  python-devel
04a57c
04a57c
%if 0%{?rhel} > 0
04a57c
ExclusiveArch: i686 x86_64 s390x ppc64le aarch64
04a57c
%endif
04a57c
04a57c
%if %{defined systemd_requires}
04a57c
%systemd_requires
04a57c
%endif
04a57c
04a57c
%description
04a57c
04a57c
This package contains the storage-based death functionality.
04a57c
04a57c
###########################################################
04a57c
04a57c
%prep
04a57c
%autosetup -n %{name}-%{commit} -p1
04a57c
04a57c
###########################################################
04a57c
04a57c
%build
04a57c
autoreconf -i
04a57c
export CFLAGS="$RPM_OPT_FLAGS -Wall -Werror"
04a57c
%configure
04a57c
make %{?_smp_mflags}
04a57c
04a57c
###########################################################
04a57c
04a57c
%install
04a57c
04a57c
make DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir} install
04a57c
rm -rf ${RPM_BUILD_ROOT}%{_libdir}/stonith
04a57c
04a57c
%if %{defined _unitdir}
04a57c
install -D -m 0644 src/sbd.service $RPM_BUILD_ROOT/%{_unitdir}/sbd.service
04a57c
install -D -m 0644 src/sbd_remote.service $RPM_BUILD_ROOT/%{_unitdir}/sbd_remote.service
04a57c
%endif
04a57c
04a57c
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
04a57c
install -m 644 src/sbd.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/sbd
04a57c
04a57c
###########################################################
04a57c
04a57c
%clean
04a57c
rm -rf %{buildroot}
04a57c
04a57c
%if %{defined _unitdir}
04a57c
%post
04a57c
%systemd_post sbd.service
04a57c
%systemd_post sbd_remote.service
04a57c
if [ $1 -ne 1 ] ; then
04a57c
	if systemctl --quiet is-enabled sbd.service 2>/dev/null
04a57c
	then
04a57c
		systemctl --quiet reenable sbd.service 2>/dev/null || :
04a57c
	fi
04a57c
	if systemctl --quiet is-enabled sbd_remote.service 2>/dev/null
04a57c
	then
04a57c
		systemctl --quiet reenable sbd_remote.service 2>/dev/null || :
04a57c
	fi
04a57c
fi
04a57c
04a57c
%preun
04a57c
%systemd_preun sbd.service
04a57c
%systemd_preun sbd_remote.service
04a57c
04a57c
%postun
04a57c
%systemd_postun sbd.service
04a57c
%systemd_postun sbd_remote.service
04a57c
%endif
04a57c
04a57c
%files
04a57c
###########################################################
04a57c
%defattr(-,root,root)
04a57c
%config(noreplace) %{_sysconfdir}/sysconfig/sbd
04a57c
%{_sbindir}/sbd
04a57c
#%{_datadir}/sbd
04a57c
%doc %{_mandir}/man8/sbd*
04a57c
%if %{defined _unitdir}
04a57c
%{_unitdir}/sbd.service
04a57c
%{_unitdir}/sbd_remote.service
04a57c
%endif
04a57c
%doc COPYING
04a57c
04a57c
%changelog
04a57c
* Fri Aug 16 2019 Klaus Wenninger <kwenning@redhat.com> - 1.4.0-15
04a57c
- check for shutdown attribute on every cib-diff
04a57c
04a57c
  Resolves: rhbz#1713023
04a57c
04a57c
* Tue Aug 13 2019 Klaus Wenninger <kwenning@redhat.com> - 1.4.0-14
04a57c
- rebuild with updated brew-root
04a57c
04a57c
  Resolves: rhbz#1718297
04a57c
  Resolves: rhbz#1713023
04a57c
  Resolves: rhbz#1732368
04a57c
04a57c
* Fri Aug 9 2019 Klaus Wenninger <kwenning@redhat.com> - 1.4.0-13
04a57c
- properly increment release
04a57c
04a57c
  Resolves: rhbz#1718297
04a57c
  Resolves: rhbz#1713023
04a57c
  Resolves: rhbz#1732368
04a57c
04a57c
* Fri Aug 9 2019 Klaus Wenninger <kwenning@redhat.com> - 1.4.0-12
04a57c
- rebuild with updated brew-root
04a57c
04a57c
  Resolves: rhbz#1718297
04a57c
  Resolves: rhbz#1713023
04a57c
  Resolves: rhbz#1732368
04a57c
04a57c
* Tue Jul 23 2019 Klaus Wenninger <kwenning@redhat.com> - 1.4.0-11
04a57c
- synchronize with rhel-8.1.0
04a57c
04a57c
  Resolves: rhbz#1718297
04a57c
  Resolves: rhbz#1713023
04a57c
  Resolves: rhbz#1732368
04a57c
04a57c
* Tue Mar 26 2019 Klaus Wenninger <kwenning@redhat.com> - 1.4.0-4
04a57c
- fix possible null-pointer-access just introduced
04a57c
04a57c
  Resolves: rhbz#1691484
04a57c
04a57c
* Tue Mar 26 2019 Klaus Wenninger <kwenning@redhat.com> - 1.4.0-3
04a57c
- finalize cmap connection if disconnected from cluster
04a57c
- make handling of cib-connection loss more robust
04a57c
04a57c
  Resolves: rhbz#1691484
04a57c
04a57c
* Thu Feb 7 2019 Klaus Wenninger <kwenning@redhat.com> - 1.4.0-2
04a57c
- rebuild against pacemaker 1.20 to make sbd actually use
04a57c
  the new libpengine API
04a57c
04a57c
  Resolves: rhbz#1661233
04a57c
04a57c
* Mon Jan 14 2019 Klaus Wenninger <kwenning@redhat.com> - 1.4.0-1
04a57c
- rebase to upstream v1.4.0
04a57c
04a57c
  Resolves: rhbz#1660158
04a57c
04a57c
* Wed Sep 19 2018 Klaus Wenninger <kwenning@redhat.com> - 1.3.1-8.2
04a57c
- avoid statting potential symlink-targets in /dev
04a57c
04a57c
  Resolves: rhbz#1628988
04a57c
04a57c
* Fri Sep 14 2018 Klaus Wenninger <kwenning@redhat.com> - 1.3.1-8.1
04a57c
- skip symlinks pointing to dev-nodes outside of /dev
04a57c
04a57c
  Resolves: rhbz#1628988
04a57c
04a57c
* Mon Apr 16 2018 <kwenning@redhat.com> - 1.3.1-8
04a57c
- Added aarch64 target
04a57c
04a57c
  Resolves: rhbz#1568029
04a57c
04a57c
* Mon Jan 15 2018 <kwenning@redhat.com> - 1.3.1-7
04a57c
- reenable sbd on upgrade so that additional
04a57c
  links to make pacemaker properly depend on
04a57c
  sbd are created
04a57c
04a57c
  Resolves: rhbz#1525981
04a57c
04a57c
* Wed Jan 10 2018 <kwenning@redhat.com> - 1.3.1-5
04a57c
- add man sections for query- & test-watchdog
04a57c
04a57c
  Resolves: rhbz#1462002
04a57c
04a57c
* Wed Dec 20 2017 <kwenning@redhat.com> - 1.3.1-3
04a57c
- mention timeout caveat with SBD_DELAY_START
04a57c
  in configuration template
04a57c
- make systemd wait for sbd-start to finish
04a57c
  before starting pacemaker or dlm
04a57c
04a57c
  Resolves: rhbz#1525981
04a57c
04a57c
* Fri Nov 3 2017 <kwenning@redhat.com> - 1.3.1-2
04a57c
- rebase to upstream v1.3.1
04a57c
04a57c
  Resolves: rhbz#1499864
04a57c
            rhbz#1468580
04a57c
            rhbz#1462002
04a57c
04a57c
* Wed Jun 7 2017 <kwenning@redhat.com> - 1.3.0-3
04a57c
- prevent creation of duplicate servants
04a57c
- check 2Node flag in corosync to support
04a57c
  2-node-clusters with shared disk fencing
04a57c
- move disk-triggered reboot/off/crashdump
04a57c
  to inquisitor to have sysrq observed by watchdog
04a57c
04a57c
  Resolves: rhbz#1413951
04a57c
04a57c
* Sun Mar 26 2017 <kwenning@redhat.com> - 1.3.0-1
04a57c
- rebase to upstream v1.3.0
04a57c
- remove watchdog-limitation from description
04a57c
  Resolves: rhbz#1413951
04a57c
04a57c
* Mon Feb 27 2017 <kwenning@redhat.com> - 1.2.1-23
04a57c
- if shared-storage enabled check for node-name <= 63 chars
04a57c
  Resolves: rhbz#1413951
04a57c
04a57c
* Tue Jan 31 2017 <kwenning@redhat.com> - 1.2.1-22
04a57c
- Rebuild with shared-storage enabled
04a57c
- Package original manpage
04a57c
- Added ppc64le target
04a57c
  Resolves: rhbz#1413951
04a57c
04a57c
* Fri Apr 15 2016 <kwenning@redhat.com> - 1.2.1-21
04a57c
- Rebuild for new pacemaker
04a57c
  Resolves: rhbz#1320400
04a57c
04a57c
* Fri Apr 15 2016 <kwenning@redhat.com> - 1.2.1-20
04a57c
- tarball updated to c511b0692784a7085df4b1ae35748fb318fa79ee
04a57c
  from https://github.com/Clusterlabs/sbd
04a57c
  Resolves: rhbz#1324240
04a57c
04a57c
* Thu Jul 23 2015 <abeekhof@redhat.com> - 1.2.1-5
04a57c
- Rebuild for pacemaker
04a57c
04a57c
* Tue Jun 02 2015 <abeekhof@redhat.com> - 1.2.1-4
04a57c
- Include the dist tag in the release string
04a57c
- Rebuild for new pacemaker
04a57c
04a57c
* Mon Jan 12 2015 <abeekhof@redhat.com> - 1.2.1-3
04a57c
- Correctly parse SBD_WATCHDOG_TIMEOUT into seconds (not milliseconds)
04a57c
04a57c
* Mon Oct 27 2014 <abeekhof@redhat.com> - 1.2.1-2
04a57c
- Correctly enable /proc/pid validation for sbd_lock_running()
04a57c
04a57c
* Fri Oct 24 2014 <abeekhof@redhat.com> - 1.2.1-1
04a57c
- Further improve integration with the el7 environment
04a57c
04a57c
* Thu Oct 16 2014 <abeekhof@redhat.com> - 1.2.1-0.5.872e82f3.git
04a57c
- Disable unsupported functionality (for now)
04a57c
04a57c
* Wed Oct 15 2014 <abeekhof@redhat.com> - 1.2.1-0.4.872e82f3.git
04a57c
- Improved integration with the el7 environment
04a57c
04a57c
* Tue Sep 30 2014 <abeekhof@redhat.com> - 1.2.1-0.3.8f912945.git
04a57c
- Only build on archs supported by the HA Add-on
04a57c
04a57c
* Fri Aug 29 2014 <abeekhof@redhat.com> - 1.2.1-0.2.8f912945.git
04a57c
- Remove some additional SUSE-isms
04a57c
04a57c
* Fri Aug 29 2014 <abeekhof@redhat.com> - 1.2.1-0.1.8f912945.git
04a57c
- Prepare for package review
04a57c
  Resolves: rhbz#1134245