02c748
# Globals and defines to control package behavior (configure these as desired)
02c748
02c748
## User and group to use for nonprivileged services
02c748
%global uname hacluster
02c748
%global gname haclient
02c748
02c748
## Where to install Pacemaker documentation
ed4e54
%if 0%{?suse_version} > 0
ed4e54
%global pcmk_docdir %{_docdir}/%{name}-%{version}
ed4e54
%else
ed4e54
%if 0%{?rhel} > 7
02c748
%global pcmk_docdir %{_docdir}/%{name}-doc
ed4e54
%else
ed4e54
%global pcmk_docdir %{_docdir}/%{name}
ed4e54
%endif
ed4e54
%endif
02c748
02c748
## GitHub entity that distributes source (for ease of using a fork)
02c748
%global github_owner ClusterLabs
02c748
02c748
## Upstream pacemaker version, and its package version (specversion
02c748
## can be incremented to build packages reliably considered "newer"
02c748
## than previously built packages with the same pcmkversion)
ed4e54
%global pcmkversion 2.0.3
ed4e54
%global specversion 5
02c748
02c748
## Upstream commit (or git tag, such as "Pacemaker-" plus the
02c748
## {pcmkversion} macro for an official release) to use for this package
ed4e54
%global commit 4b1f869f0f64ef0d248b6aa4781d38ecccf83318
02c748
## Since git v2.11, the extent of abbreviation is autoscaled by default
02c748
## (used to be constant of 7), so we need to convey it for non-tags, too.
02c748
%global commit_abbrev 7
02c748
02c748
## Python major version to use (2, 3, or 0 for auto-detect)
02c748
%global python_major 0
02c748
02c748
## Nagios source control identifiers
02c748
%global nagios_name nagios-agents-metadata
02c748
%global nagios_hash 105ab8a
02c748
02c748
02c748
# Define globals for convenient use later
02c748
02c748
## Workaround to use parentheses in other globals
02c748
%global lparen (
02c748
%global rparen )
02c748
02c748
## Short version of git commit
02c748
%define shortcommit %(c=%{commit}; case ${c} in
02c748
                      Pacemaker-*%{rparen} echo ${c:10};;
02c748
                      *%{rparen} echo ${c:0:%{commit_abbrev}};; esac)
02c748
02c748
## Whether this is a tagged release
02c748
%define tag_release %([ %{commit} != Pacemaker-%{shortcommit} ]; echo $?)
02c748
02c748
## Whether this is a release candidate (in case of a tagged release)
02c748
%define pre_release %([ "%{tag_release}" -eq 0 ] || {
02c748
                      case "%{shortcommit}" in *-rc[[:digit:]]*%{rparen} false;;
02c748
                      esac; }; echo $?)
02c748
02c748
## Heuristic used to infer bleeding-edge deployments that are
02c748
## less likely to have working versions of the documentation tools
02c748
%define bleeding %(test ! -e /etc/yum.repos.d/fedora-rawhide.repo; echo $?)
02c748
02c748
## Whether this platform defaults to using systemd as an init system
02c748
## (needs to be evaluated prior to BuildRequires being enumerated and
02c748
## installed as it's intended to conditionally select some of these, and
02c748
## for that there are only few indicators with varying reliability:
02c748
## - presence of systemd-defined macros (when building in a full-fledged
02c748
##   environment, which is not the case with ordinary mock-based builds)
02c748
## - systemd-aware rpm as manifested with the presence of particular
02c748
##   macro (rpm itself will trivially always be present when building)
02c748
## - existence of /usr/lib/os-release file, which is something heavily
02c748
##   propagated by systemd project
02c748
## - when not good enough, there's always a possibility to check
02c748
##   particular distro-specific macros (incl. version comparison)
02c748
%define systemd_native (%{?_unitdir:1}%{!?_unitdir:0}%{nil \
02c748
  } || %{?__transaction_systemd_inhibit:1}%{!?__transaction_systemd_inhibit:0}%{nil \
02c748
  } || %(test -f /usr/lib/os-release; test $? -ne 0; echo $?))
02c748
02c748
# Even though we pass @SYSTEM here, Pacemaker is still an exception to the
02c748
# crypto policies because it adds "+ANON-DH" for CIB remote commands and
02c748
# "+DHE-PSK:+PSK" for Pacemaker Remote connections. This is currently
02c748
# required for the respective functionality.
02c748
%if 0%{?fedora} > 20 || 0%{?rhel} > 7
02c748
## Base GnuTLS cipher priorities (presumably only the initial, required keyword)
02c748
## overridable with "rpmbuild --define 'pcmk_gnutls_priorities PRIORITY-SPEC'"
02c748
%define gnutls_priorities %{?pcmk_gnutls_priorities}%{!?pcmk_gnutls_priorities:@SYSTEM}
02c748
%endif
02c748
ed4e54
%if !%{defined _rundir}
ed4e54
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1200
ed4e54
%define _rundir /run
ed4e54
%else
ed4e54
%define _rundir /var/run
ed4e54
%endif
ed4e54
%endif
ed4e54
ed4e54
%if 0%{?fedora} > 22 || 0%{?rhel} > 7
ed4e54
%global supports_recommends 1
ed4e54
%endif
ed4e54
ed4e54
## Different distros name certain packages differently
ed4e54
## (note: corosync libraries also differ, but all provide corosync-devel)
ed4e54
%if 0%{?suse_version} > 0
ed4e54
%global pkgname_bzip2_devel libbz2-devel
ed4e54
%global pkgname_docbook_xsl docbook-xsl-stylesheets
ed4e54
%global pkgname_gnutls_devel libgnutls-devel
ed4e54
%global pkgname_shadow_utils shadow
ed4e54
%global pkgname_procps procps
ed4e54
%global pkgname_glue_libs libglue
ed4e54
%global pkgname_pcmk_libs lib%{name}3
ed4e54
%global hacluster_id 90
ed4e54
%else
ed4e54
%global pkgname_libtool_devel libtool-ltdl-devel
ed4e54
%global pkgname_libtool_devel_arch libtool-ltdl-devel%{?_isa}
ed4e54
%global pkgname_bzip2_devel bzip2-devel
ed4e54
%global pkgname_docbook_xsl docbook-style-xsl
ed4e54
%global pkgname_gnutls_devel gnutls-devel
ed4e54
%global pkgname_shadow_utils shadow-utils
ed4e54
%global pkgname_procps procps-ng
ed4e54
%global pkgname_publican publican
ed4e54
%global pkgname_glue_libs cluster-glue-libs
ed4e54
%global pkgname_pcmk_libs %{name}-libs
ed4e54
%global hacluster_id 189
ed4e54
%endif
ed4e54
02c748
# Python-related definitions
02c748
02c748
## Use Python 3 on certain platforms if major version not specified
02c748
%if %{?python_major} == 0
02c748
%if 0%{?fedora} > 26 || 0%{?rhel} > 7
02c748
%global python_major 3
02c748
%endif
02c748
%endif
02c748
02c748
## Turn off auto-compilation of Python files outside Python specific paths,
02c748
## so there's no risk that unexpected "__python" macro gets picked to do the
02c748
## RPM-native byte-compiling there (only "{_datadir}/pacemaker/tests" affected)
02c748
## -- distro-dependent tricks or automake's fallback to be applied there
02c748
%if %{defined _python_bytecompile_extra}
02c748
%global _python_bytecompile_extra 0
02c748
%else
02c748
### the statement effectively means no RPM-native byte-compiling will occur at
02c748
### all, so distro-dependent tricks for Python-specific packages to be applied
02c748
%global __os_install_post %(echo '%{__os_install_post}' | {
02c748
                            sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g'; })
02c748
%endif
02c748
02c748
## Values that differ by Python major version
02c748
%if 0%{?python_major} > 2
02c748
%global python_name python3
02c748
%global python_path %{?__python3}%{!?__python3:/usr/bin/python%{?python3_pkgversion}%{!?python3_pkgversion:3}}
02c748
%define python_site %{?python3_sitelib}%{!?python3_sitelib:%(
02c748
  %{python_path} -c 'from distutils.sysconfig import get_python_lib as gpl; print(gpl(1))' 2>/dev/null)}
02c748
%else
02c748
%if 0%{?python_major} > 1
02c748
%global python_name python2
02c748
%global python_path %{?__python2}%{!?__python2:/usr/bin/python%{?python2_pkgversion}%{!?python2_pkgversion:2}}
02c748
%define python_site %{?python2_sitelib}%{!?python2_sitelib:%(
02c748
  %{python_path} -c 'from distutils.sysconfig import get_python_lib as gpl; print(gpl(1))' 2>/dev/null)}
02c748
%else
02c748
%global python_name python
02c748
%global python_path %{?__python}%{!?__python:/usr/bin/python%{?python_pkgversion}}
02c748
%define python_site %{?python_sitelib}%{!?python_sitelib:%(
02c748
  python -c 'from distutils.sysconfig import get_python_lib as gpl; print(gpl(1))' 2>/dev/null)}
02c748
%endif
02c748
%endif
02c748
02c748
02c748
# Definitions for backward compatibility with older RPM versions
02c748
02c748
## Ensure the license macro behaves consistently (older RPM will otherwise
02c748
## overwrite it once it encounters "License:"). Courtesy Jason Tibbitts:
02c748
## https://pkgs.fedoraproject.org/cgit/rpms/epel-rpm-macros.git/tree/macros.zzz-epel?h=el6&id=e1adcb77
02c748
%if !%{defined _licensedir}
02c748
%define description %{lua:
02c748
    rpm.define("license %doc")
02c748
    print("%description")
02c748
}
02c748
%endif
02c748
02c748
02c748
# Define conditionals so that "rpmbuild --with <feature>" and
02c748
# "rpmbuild --without <feature>" can enable and disable specific features
02c748
02c748
## Add option to enable support for stonith/external fencing agents
02c748
%bcond_with stonithd
02c748
02c748
## Add option to create binaries suitable for use with profiling tools
02c748
%bcond_with profiling
02c748
02c748
## Add option to create binaries with coverage analysis
02c748
%bcond_with coverage
02c748
02c748
## Add option to generate documentation (requires Publican, Asciidoc and Inkscape)
02c748
%bcond_with doc
02c748
02c748
## Add option to prefix package version with "0."
02c748
## (so later "official" packages will be considered updates)
02c748
%bcond_with pre_release
02c748
02c748
## Add option to ship Upstart job files
02c748
%bcond_with upstart_job
02c748
02c748
## Add option to turn off hardening of libraries and daemon executables
02c748
%bcond_without hardening
02c748
02c748
## Add option to disable links for legacy daemon names
02c748
%bcond_without legacy_links
02c748
02c748
02c748
# Keep sane profiling data if requested
02c748
%if %{with profiling}
02c748
02c748
## Disable -debuginfo package and stripping binaries/libraries
02c748
%define debug_package %{nil}
02c748
02c748
%endif
02c748
02c748
02c748
# Define the release version
02c748
# (do not look at externally enforced pre-release flag for tagged releases
02c748
# as only -rc tags, captured with the second condition, implies that then)
02c748
%if (!%{tag_release} && %{with pre_release}) || 0%{pre_release}
02c748
%if 0%{pre_release}
02c748
%define pcmk_release 0.%{specversion}.%(s=%{shortcommit}; echo ${s: -3})
02c748
%else
02c748
%define pcmk_release 0.%{specversion}.%{shortcommit}.git
02c748
%endif
02c748
%else
02c748
%if 0%{tag_release}
02c748
%define pcmk_release %{specversion}
02c748
%else
02c748
# Never use the short commit in a RHEL release number
02c748
%define pcmk_release %{specversion}
02c748
%endif
02c748
%endif
02c748
02c748
Name:          pacemaker
02c748
Summary:       Scalable High-Availability cluster resource manager
02c748
Version:       %{pcmkversion}
6a8542
Release:       %{pcmk_release}%{?dist}.1
02c748
%if %{defined _unitdir}
02c748
License:       GPLv2+ and LGPLv2+
02c748
%else
02c748
# initscript is Revised BSD
02c748
License:       GPLv2+ and LGPLv2+ and BSD
02c748
%endif
02c748
Url:           http://www.clusterlabs.org
02c748
Group:         System Environment/Daemons
02c748
02c748
# Hint: use "spectool -s 0 pacemaker.spec" (rpmdevtools) to check the final URL:
02c748
# https://github.com/ClusterLabs/pacemaker/archive/e91769e5a39f5cb2f7b097d3c612368f0530535e/pacemaker-e91769e.tar.gz
02c748
Source0:       https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
02c748
Source1:       nagios-agents-metadata-%{nagios_hash}.tar.gz
02c748
02c748
# upstream commits
ed4e54
Patch1:         001-status-deletion.patch
ed4e54
Patch2:         002-status-deletion.patch
ed4e54
Patch3:         003-return-codes.patch
ed4e54
Patch4:         004-unused.patch
ed4e54
Patch5:         005-shutdown-lock.patch
ed4e54
Patch6:         006-shutdown-lock.patch
ed4e54
Patch7:         007-shutdown-lock.patch
ed4e54
Patch8:         008-shutdown-lock.patch
ed4e54
Patch9:         009-shutdown-lock.patch
ed4e54
Patch10:        010-shutdown-lock.patch
ed4e54
Patch11:        011-shutdown-lock.patch
ed4e54
Patch12:        012-shutdown-lock.patch
ed4e54
Patch13:        013-shutdown-lock.patch
ed4e54
Patch14:        014-shutdown-lock.patch
ed4e54
Patch15:        015-shutdown-lock.patch
ed4e54
Patch16:        016-shutdown-lock.patch
ed4e54
Patch17:        017-shutdown-lock.patch
ed4e54
Patch18:        018-shutdown-lock.patch
ed4e54
Patch19:        019-shutdown-lock.patch
ed4e54
Patch20:        020-shutdown-lock.patch
ed4e54
Patch21:        021-shutdown-lock.patch
ed4e54
Patch22:        022-shutdown-lock.patch
ed4e54
Patch23:        023-curses.patch
ed4e54
Patch24:        024-crm_mon-cgi.patch
ed4e54
Patch25:        025-clear-attrs.patch
6a8542
Patch26:        026-initialize-var.patch
ed4e54
ed4e54
# downstream-only commits
ed4e54
#Patch100:      xxx.patch
02c748
02c748
Requires:      resource-agents
ed4e54
Requires:      %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release}
02c748
Requires:      %{name}-cluster-libs%{?_isa} = %{version}-%{release}
02c748
Requires:      %{name}-cli = %{version}-%{release}
02c748
%if !%{defined _unitdir}
ed4e54
Requires:      %{pkgname_procps}
02c748
Requires:      psmisc
02c748
%endif
02c748
%{?systemd_requires}
02c748
6a8542
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
02c748
02c748
Requires:      %{python_path}
02c748
BuildRequires: %{python_name}-devel
02c748
02c748
# Pacemaker requires a minimum libqb functionality
02c748
Requires:      libqb >= 0.17.0
02c748
BuildRequires: libqb-devel >= 0.17.0
02c748
02c748
# Basics required for the build (even if usually satisfied through other BRs)
02c748
BuildRequires: coreutils findutils grep sed
02c748
02c748
# Required for core functionality
ed4e54
BuildRequires: automake autoconf gcc libtool pkgconfig %{?pkgname_libtool_devel}
02c748
BuildRequires: pkgconfig(glib-2.0) >= 2.16
02c748
BuildRequires: libxml2-devel libxslt-devel libuuid-devel
ed4e54
BuildRequires: %{pkgname_bzip2_devel}
02c748
02c748
# Enables optional functionality
ed4e54
BuildRequires: ncurses-devel %{pkgname_docbook_xsl}
ed4e54
BuildRequires: help2man %{pkgname_gnutls_devel} pam-devel pkgconfig(dbus-1)
02c748
02c748
%if %{systemd_native}
02c748
BuildRequires: pkgconfig(systemd)
02c748
%endif
02c748
02c748
# RH patches are created by git, so we need git to apply them
02c748
BuildRequires: git
02c748
02c748
Requires:      corosync >= 2.0.0
ed4e54
BuildRequires: corosync-devel >= 2.0.0
02c748
02c748
%if %{with stonithd}
ed4e54
BuildRequires: %{pkgname_glue_libs}-devel
02c748
%endif
02c748
02c748
## (note no avoiding effect when building through non-customized mock)
02c748
%if !%{bleeding}
02c748
%if %{with doc}
ed4e54
BuildRequires: inkscape asciidoc %{?pkgname_publican}
02c748
%endif
02c748
%endif
02c748
02c748
Provides:      pcmk-cluster-manager = %{version}-%{release}
4c8e44
Provides:      pcmk-cluster-manager%{?_isa} = %{version}-%{release}
4c8e44
4c8e44
# Bundled bits
4c8e44
## Pacemaker uses the crypto/md5-buffer module from gnulib
4c8e44
%if 0%{?fedora} || 0%{?rhel}
4c8e44
Provides:      bundled(gnulib)
4c8e44
%endif
02c748
02c748
%description
02c748
Pacemaker is an advanced, scalable High-Availability cluster resource
02c748
manager.
02c748
02c748
It supports more than 16 node clusters with significant capabilities
02c748
for managing resources and dependencies.
02c748
02c748
It will run scripts at initialization, when machines go up or down,
02c748
when related resources fail and can be configured to periodically check
02c748
resource health.
02c748
02c748
Available rpmbuild rebuild options:
02c748
  --with(out) : coverage doc stonithd hardening pre_release profiling
02c748
02c748
%package cli
02c748
License:       GPLv2+ and LGPLv2+
02c748
Summary:       Command line tools for controlling Pacemaker clusters
02c748
Group:         System Environment/Daemons
ed4e54
Requires:      %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release}
ed4e54
%if 0%{?supports_recommends}
02c748
#Recommends:    pcmk-cluster-manager = %{version}-%{release}
ed4e54
# For crm_report
4c8e44
Requires:      tar
4c8e44
Requires:      bzip2
4c8e44
%endif
02c748
Requires:      perl-TimeDate
ed4e54
Requires:      %{pkgname_procps}
02c748
Requires:      psmisc
02c748
Requires(post):coreutils
02c748
02c748
%description cli
02c748
Pacemaker is an advanced, scalable High-Availability cluster resource
02c748
manager.
02c748
02c748
The %{name}-cli package contains command line tools that can be used
02c748
to query and control the cluster from machines that may, or may not,
02c748
be part of the cluster.
02c748
ed4e54
%package -n %{pkgname_pcmk_libs}
02c748
License:       GPLv2+ and LGPLv2+
02c748
Summary:       Core Pacemaker libraries
02c748
Group:         System Environment/Daemons
ed4e54
Requires(pre): %{pkgname_shadow_utils}
02c748
Requires:      %{name}-schemas = %{version}-%{release}
4c8e44
# sbd 1.4.0+ supports the libpe_status API for pe_working_set_t
4c8e44
Conflicts:     sbd < 1.4.0
02c748
ed4e54
%description -n %{pkgname_pcmk_libs}
02c748
Pacemaker is an advanced, scalable High-Availability cluster resource
02c748
manager.
02c748
ed4e54
The %{pkgname_pcmk_libs} package contains shared libraries needed for cluster
02c748
nodes and those just running the CLI tools.
02c748
02c748
%package cluster-libs
02c748
License:       GPLv2+ and LGPLv2+
02c748
Summary:       Cluster Libraries used by Pacemaker
02c748
Group:         System Environment/Daemons
ed4e54
Requires:      %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release}
02c748
02c748
%description cluster-libs
02c748
Pacemaker is an advanced, scalable High-Availability cluster resource
02c748
manager.
02c748
02c748
The %{name}-cluster-libs package contains cluster-aware shared
02c748
libraries needed for nodes that will form part of the cluster nodes.
02c748
02c748
%package remote
02c748
%if %{defined _unitdir}
02c748
License:       GPLv2+ and LGPLv2+
02c748
%else
02c748
# initscript is Revised BSD
02c748
License:       GPLv2+ and LGPLv2+ and BSD
02c748
%endif
02c748
Summary:       Pacemaker remote daemon for non-cluster nodes
02c748
Group:         System Environment/Daemons
ed4e54
Requires:      %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release}
02c748
Requires:      %{name}-cli = %{version}-%{release}
02c748
Requires:      resource-agents
02c748
%if !%{defined _unitdir}
ed4e54
Requires:      %{pkgname_procps}
02c748
%endif
02c748
# -remote can be fully independent of systemd
02c748
%{?systemd_ordering}%{!?systemd_ordering:%{?systemd_requires}}
02c748
Provides:      pcmk-cluster-manager = %{version}-%{release}
4c8e44
Provides:      pcmk-cluster-manager%{?_isa} = %{version}-%{release}
02c748
02c748
%description remote
02c748
Pacemaker is an advanced, scalable High-Availability cluster resource
02c748
manager.
02c748
02c748
The %{name}-remote package contains the Pacemaker Remote daemon
02c748
which is capable of extending pacemaker functionality to remote
02c748
nodes not running the full corosync/cluster stack.
02c748
ed4e54
%package -n %{pkgname_pcmk_libs}-devel
02c748
License:       GPLv2+ and LGPLv2+
02c748
Summary:       Pacemaker development package
02c748
Group:         Development/Libraries
ed4e54
Requires:      %{pkgname_pcmk_libs}%{?_isa} = %{version}-%{release}
02c748
Requires:      %{name}-cluster-libs%{?_isa} = %{version}-%{release}
ed4e54
Requires:      libuuid-devel%{?_isa} %{?pkgname_libtool_devel_arch}
02c748
Requires:      libxml2-devel%{?_isa} libxslt-devel%{?_isa}
ed4e54
Requires:      %{pkgname_bzip2_devel}%{?_isa} glib2-devel%{?_isa}
02c748
Requires:      libqb-devel%{?_isa}
ed4e54
Requires:      corosync-devel >= 2.0.0
02c748
ed4e54
%description -n %{pkgname_pcmk_libs}-devel
02c748
Pacemaker is an advanced, scalable High-Availability cluster resource
02c748
manager.
02c748
ed4e54
The %{pkgname_pcmk_libs}-devel package contains headers and shared libraries
02c748
for developing tools for Pacemaker.
02c748
02c748
%package       cts
02c748
License:       GPLv2+ and LGPLv2+
02c748
Summary:       Test framework for cluster-related technologies like Pacemaker
02c748
Group:         System Environment/Daemons
02c748
Requires:      %{python_path}
ed4e54
Requires:      %{pkgname_pcmk_libs} = %{version}-%{release}
ed4e54
Requires:      %{name}-cli = %{version}-%{release}
ed4e54
Requires:      %{pkgname_procps}
02c748
Requires:      psmisc
02c748
BuildArch:     noarch
02c748
02c748
# systemd python bindings are separate package in some distros
02c748
%if %{defined systemd_requires}
02c748
02c748
%if 0%{?fedora} > 22 || 0%{?rhel} > 7
02c748
Requires:      %{python_name}-systemd
02c748
%else
02c748
%if 0%{?fedora} > 20 || 0%{?rhel} > 6
02c748
Requires:      systemd-python
02c748
%endif
02c748
%endif
02c748
02c748
%endif
02c748
02c748
%description   cts
02c748
Test framework for cluster-related technologies like Pacemaker
02c748
02c748
%package       doc
02c748
License:       CC-BY-SA-4.0
02c748
Summary:       Documentation for Pacemaker
02c748
Group:         Documentation
02c748
BuildArch:     noarch
02c748
02c748
%description   doc
02c748
Documentation for Pacemaker.
02c748
02c748
Pacemaker is an advanced, scalable High-Availability cluster resource
02c748
manager.
02c748
02c748
%package       schemas
02c748
License:       GPLv2+
02c748
Summary:       Schemas and upgrade stylesheets for Pacemaker
02c748
BuildArch:     noarch
02c748
02c748
%description   schemas
02c748
Schemas and upgrade stylesheets for Pacemaker
02c748
02c748
Pacemaker is an advanced, scalable High-Availability cluster resource
02c748
manager.
02c748
02c748
%package       nagios-plugins-metadata
02c748
License:       GPLv3
02c748
Summary:       Pacemaker Nagios Metadata
02c748
Group:         System Environment/Daemons
02c748
# NOTE below are the plugins this metadata uses.
02c748
# These packages are not requirements because RHEL does not ship these plugins.
02c748
# This metadata provides third-party support for nagios. Users may install the
02c748
# plugins via third-party rpm packages, or source. If RHEL ships the plugins in
02c748
# the future, we should consider enabling the following required fields.
02c748
#Requires:      nagios-plugins-http
02c748
#Requires:      nagios-plugins-ldap
02c748
#Requires:      nagios-plugins-mysql
02c748
#Requires:      nagios-plugins-pgsql
02c748
#Requires:      nagios-plugins-tcp
02c748
Requires:      pcmk-cluster-manager
02c748
BuildArch:     noarch
02c748
02c748
%description   nagios-plugins-metadata
02c748
The metadata files required for Pacemaker to execute the nagios plugin
02c748
monitor resources.
02c748
02c748
%prep
02c748
%autosetup -a 1 -n %{name}-%{commit} -S git_am -p 1
02c748
02c748
%build
02c748
02c748
# Early versions of autotools (e.g. RHEL <= 5) do not support --docdir
02c748
export docdir=%{pcmk_docdir}
02c748
ed4e54
export systemdsystemunitdir=%{?_unitdir}%{!?_unitdir:no}
02c748
4c8e44
# RHEL changes pacemaker's concurrent-fencing default to true
4c8e44
export CPPFLAGS="-DDEFAULT_CONCURRENT_FENCING_TRUE"
4c8e44
02c748
%if %{with hardening}
02c748
# prefer distro-provided hardening flags in case they are defined
02c748
# through _hardening_{c,ld}flags macros, configure script will
02c748
# use its own defaults otherwise; if such hardenings are completely
02c748
# undesired, rpmbuild using "--without hardening"
02c748
# (or "--define '_without_hardening 1'")
02c748
export CFLAGS_HARDENED_EXE="%{?_hardening_cflags}"
02c748
export CFLAGS_HARDENED_LIB="%{?_hardening_cflags}"
02c748
export LDFLAGS_HARDENED_EXE="%{?_hardening_ldflags}"
02c748
export LDFLAGS_HARDENED_LIB="%{?_hardening_ldflags}"
02c748
%endif
02c748
02c748
./autogen.sh
02c748
02c748
%{configure}                                                                    \
02c748
        PYTHON=%{python_path}                                                   \
02c748
        %{!?with_hardening:    --disable-hardening}                             \
02c748
        %{!?with_legacy_links: --disable-legacy-links}                          \
02c748
        %{?with_profiling:     --with-profiling}                                \
02c748
        %{?with_coverage:      --with-coverage}                                 \
02c748
        %{!?with_doc:          --with-brand=}                                   \
02c748
        %{?gnutls_priorities:  --with-gnutls-priorities="%{gnutls_priorities}"} \
02c748
        --with-initdir=%{_initrddir}                                            \
ed4e54
        --with-runstatedir=%{_rundir}                                           \
02c748
        --localstatedir=%{_var}                                                 \
ed4e54
        --with-bug-url=https://bugzilla.redhat.com/                               \
02c748
        --with-nagios                                                             \
02c748
        --with-nagios-metadata-dir=%{_datadir}/pacemaker/nagios/plugins-metadata/ \
02c748
        --with-nagios-plugin-dir=%{_libdir}/nagios/plugins/                       \
02c748
        --with-version=%{version}-%{release}
02c748
02c748
%if 0%{?suse_version} >= 1200
02c748
# Fedora handles rpath removal automagically
02c748
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
02c748
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
02c748
%endif
02c748
ed4e54
make %{_smp_mflags} V=1
02c748
02c748
%check
4c8e44
{ cts/cts-scheduler --run load-stopped-loop \
02c748
  && cts/cts-cli \
02c748
  && touch .CHECKED
02c748
} 2>&1 | sed 's/[fF]ail/faiil/g'  # prevent false positives in rpmlint
02c748
[ -f .CHECKED ] && rm -f -- .CHECKED
02c748
exit $?  # TODO remove when rpm<4.14 compatibility irrelevant
02c748
02c748
%install
02c748
# skip automake-native Python byte-compilation, since RPM-native one (possibly
02c748
# distro-confined to Python-specific directories, which is currently the only
02c748
# relevant place, anyway) assures proper intrinsic alignment with wider system
02c748
# (such as with py_byte_compile macro, which is concurrent Fedora/EL specific)
02c748
make install \
02c748
  DESTDIR=%{buildroot} V=1 docdir=%{pcmk_docdir} \
02c748
  %{?_python_bytecompile_extra:%{?py_byte_compile:am__py_compile=true}}
02c748
02c748
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
02c748
install -m 644 daemons/pacemakerd/pacemaker.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/pacemaker
02c748
install -m 644 tools/crm_mon.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/crm_mon
02c748
02c748
%if %{with upstart_job}
02c748
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/init
02c748
install -m 644 pacemakerd/pacemaker.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.conf
02c748
install -m 644 pacemakerd/pacemaker.combined.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.combined.conf
02c748
install -m 644 tools/crm_mon.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/crm_mon.conf
02c748
%endif
02c748
02c748
mkdir -p %{buildroot}%{_datadir}/pacemaker/nagios/plugins-metadata
02c748
for file in $(find %{nagios_name}-%{nagios_hash}/metadata -type f); do
02c748
    install -m 644 $file %{buildroot}%{_datadir}/pacemaker/nagios/plugins-metadata
02c748
done
02c748
02c748
%if %{defined _unitdir}
02c748
mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/lib/rpm-state/%{name}
02c748
%endif
02c748
02c748
# Don't package static libs
02c748
find %{buildroot} -name '*.a' -type f -print0 | xargs -0 rm -f
02c748
find %{buildroot} -name '*.la' -type f -print0 | xargs -0 rm -f
02c748
02c748
# Do not package these either
02c748
rm -f %{buildroot}/%{_sbindir}/fence_legacy
02c748
rm -f %{buildroot}/%{_mandir}/man8/fence_legacy.*
02c748
find %{buildroot} -name '*o2cb*' -type f -print0 | xargs -0 rm -f
02c748
02c748
# For now, don't package the servicelog-related binaries built only for
02c748
# ppc64le when certain dependencies are installed. If they get more exercise by
02c748
# advanced users, we can reconsider.
02c748
rm -f %{buildroot}/%{_sbindir}/notifyServicelogEvent
02c748
rm -f %{buildroot}/%{_sbindir}/ipmiservicelogd
02c748
02c748
# Don't ship init scripts for systemd based platforms
02c748
%if %{defined _unitdir}
02c748
rm -f %{buildroot}/%{_initrddir}/pacemaker
02c748
rm -f %{buildroot}/%{_initrddir}/pacemaker_remote
02c748
%endif
02c748
02c748
# Byte-compile Python sources where suitable and the distro procedures known
02c748
%if %{defined py_byte_compile}
02c748
%{py_byte_compile %{python_path} %{buildroot}%{_datadir}/pacemaker/tests}
02c748
%if !%{defined _python_bytecompile_extra}
02c748
%{py_byte_compile %{python_path} %{buildroot}%{python_site}/cts}
02c748
%endif
02c748
%endif
02c748
02c748
%if %{with coverage}
02c748
GCOV_BASE=%{buildroot}/%{_var}/lib/pacemaker/gcov
02c748
mkdir -p $GCOV_BASE
02c748
find . -name '*.gcno' -type f | while read F ; do
02c748
        D=`dirname $F`
02c748
        mkdir -p ${GCOV_BASE}/$D
02c748
        cp $F ${GCOV_BASE}/$D
02c748
done
02c748
%endif
02c748
02c748
%post
02c748
%if %{defined _unitdir}
02c748
%systemd_post pacemaker.service
02c748
%else
02c748
/sbin/chkconfig --add pacemaker || :
02c748
%endif
02c748
02c748
%preun
02c748
%if %{defined _unitdir}
02c748
%systemd_preun pacemaker.service
02c748
%else
02c748
/sbin/service pacemaker stop >/dev/null 2>&1 || :
02c748
if [ "$1" -eq 0 ]; then
02c748
    # Package removal, not upgrade
02c748
    /sbin/chkconfig --del pacemaker || :
02c748
fi
02c748
%endif
02c748
02c748
%postun
02c748
%if %{defined _unitdir}
02c748
%systemd_postun_with_restart pacemaker.service
02c748
%endif
02c748
02c748
%pre remote
02c748
%if %{defined _unitdir}
02c748
# Stop the service before anything is touched, and remember to restart
02c748
# it as one of the last actions (compared to using systemd_postun_with_restart,
02c748
# this avoids suicide when sbd is in use)
02c748
systemctl --quiet is-active pacemaker_remote
02c748
if [ $? -eq 0 ] ; then
02c748
    mkdir -p %{_localstatedir}/lib/rpm-state/%{name}
02c748
    touch %{_localstatedir}/lib/rpm-state/%{name}/restart_pacemaker_remote
02c748
    systemctl stop pacemaker_remote >/dev/null 2>&1
02c748
else
02c748
    rm -f %{_localstatedir}/lib/rpm-state/%{name}/restart_pacemaker_remote
02c748
fi
02c748
%endif
02c748
02c748
%post remote
02c748
%if %{defined _unitdir}
02c748
%systemd_post pacemaker_remote.service
02c748
%else
02c748
/sbin/chkconfig --add pacemaker_remote || :
02c748
%endif
02c748
02c748
%preun remote
02c748
%if %{defined _unitdir}
02c748
%systemd_preun pacemaker_remote.service
02c748
%else
02c748
/sbin/service pacemaker_remote stop >/dev/null 2>&1 || :
02c748
if [ "$1" -eq 0 ]; then
02c748
    # Package removal, not upgrade
02c748
    /sbin/chkconfig --del pacemaker_remote || :
02c748
fi
02c748
%endif
02c748
02c748
%postun remote
02c748
%if %{defined _unitdir}
02c748
# This next line is a no-op, because we stopped the service earlier, but
02c748
# we leave it here because it allows us to revert to the standard behavior
02c748
# in the future if desired
02c748
%systemd_postun_with_restart pacemaker_remote.service
02c748
# Explicitly take care of removing the flag-file(s) upon final removal
02c748
if [ "$1" -eq 0 ] ; then
02c748
    rm -f %{_localstatedir}/lib/rpm-state/%{name}/restart_pacemaker_remote
02c748
fi
02c748
%endif
02c748
02c748
%posttrans remote
02c748
%if %{defined _unitdir}
02c748
if [ -e %{_localstatedir}/lib/rpm-state/%{name}/restart_pacemaker_remote ] ; then
02c748
    systemctl start pacemaker_remote >/dev/null 2>&1
02c748
    rm -f %{_localstatedir}/lib/rpm-state/%{name}/restart_pacemaker_remote
02c748
fi
02c748
%endif
02c748
02c748
%post cli
02c748
%if %{defined _unitdir}
02c748
%systemd_post crm_mon.service
02c748
%endif
02c748
if [ "$1" -eq 2 ]; then
02c748
    # Package upgrade, not initial install:
02c748
    # Move any pre-2.0 logs to new location to ensure they get rotated
02c748
    { mv -fbS.rpmsave %{_var}/log/pacemaker.log* %{_var}/log/pacemaker \
02c748
      || mv -f %{_var}/log/pacemaker.log* %{_var}/log/pacemaker
02c748
    } >/dev/null 2>/dev/null || :
02c748
fi
02c748
02c748
%preun cli
02c748
%if %{defined _unitdir}
02c748
%systemd_preun crm_mon.service
02c748
%endif
02c748
02c748
%postun cli
02c748
%if %{defined _unitdir}
02c748
%systemd_postun_with_restart crm_mon.service
02c748
%endif
02c748
ed4e54
%pre -n %{pkgname_pcmk_libs}
ed4e54
getent group %{gname} >/dev/null || groupadd -r %{gname} -g %{hacluster_id}
ed4e54
getent passwd %{uname} >/dev/null || useradd -r -g %{gname} -u %{hacluster_id} -s /sbin/nologin -c "cluster user" %{uname}
02c748
exit 0
02c748
02c748
%if %{defined ldconfig_scriptlets}
02c748
%ldconfig_scriptlets libs
02c748
%ldconfig_scriptlets cluster-libs
02c748
%else
ed4e54
%post -n %{pkgname_pcmk_libs} -p /sbin/ldconfig
ed4e54
%postun -n %{pkgname_pcmk_libs} -p /sbin/ldconfig
02c748
02c748
%post cluster-libs -p /sbin/ldconfig
02c748
%postun cluster-libs -p /sbin/ldconfig
02c748
%endif
02c748
02c748
%files
02c748
###########################################################
02c748
%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker
02c748
%{_sbindir}/pacemakerd
02c748
02c748
%if %{defined _unitdir}
02c748
%{_unitdir}/pacemaker.service
02c748
%else
02c748
%{_initrddir}/pacemaker
02c748
%endif
02c748
02c748
%exclude %{_libexecdir}/pacemaker/cts-log-watcher
02c748
%exclude %{_libexecdir}/pacemaker/cts-support
02c748
%exclude %{_sbindir}/pacemaker-remoted
02c748
%if %{with legacy_links}
02c748
%exclude %{_sbindir}/pacemaker_remoted
02c748
%endif
02c748
%exclude %{_datadir}/pacemaker/nagios
02c748
%{_libexecdir}/pacemaker/*
02c748
02c748
%{_sbindir}/crm_attribute
02c748
%{_sbindir}/crm_master
02c748
02c748
%doc %{_mandir}/man7/pacemaker-controld.*
02c748
%doc %{_mandir}/man7/pacemaker-schedulerd.*
02c748
%doc %{_mandir}/man7/pacemaker-fenced.*
02c748
%doc %{_mandir}/man7/ocf_pacemaker_controld.*
02c748
%doc %{_mandir}/man7/ocf_pacemaker_remote.*
02c748
%doc %{_mandir}/man8/crm_attribute.*
02c748
%doc %{_mandir}/man8/crm_master.*
02c748
%doc %{_mandir}/man8/pacemakerd.*
02c748
02c748
%doc %{_datadir}/pacemaker/alerts
02c748
02c748
%license licenses/GPLv2
02c748
%doc COPYING
02c748
%doc ChangeLog
02c748
02c748
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/cib
02c748
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/pengine
02c748
/usr/lib/ocf/resource.d/pacemaker/controld
02c748
/usr/lib/ocf/resource.d/pacemaker/remote
02c748
02c748
%if %{with upstart_job}
02c748
%config(noreplace) %{_sysconfdir}/init/pacemaker.conf
02c748
%config(noreplace) %{_sysconfdir}/init/pacemaker.combined.conf
02c748
%endif
02c748
02c748
%files cli
02c748
%dir %attr (750, root, %{gname}) %{_sysconfdir}/pacemaker
02c748
%config(noreplace) %{_sysconfdir}/logrotate.d/pacemaker
02c748
%config(noreplace) %{_sysconfdir}/sysconfig/crm_mon
02c748
02c748
%if %{defined _unitdir}
02c748
%{_unitdir}/crm_mon.service
02c748
%endif
02c748
02c748
%if %{with upstart_job}
02c748
%config(noreplace) %{_sysconfdir}/init/crm_mon.conf
02c748
%endif
02c748
02c748
%{_sbindir}/attrd_updater
02c748
%{_sbindir}/cibadmin
02c748
%{_sbindir}/crm_diff
02c748
%{_sbindir}/crm_error
02c748
%{_sbindir}/crm_failcount
02c748
%{_sbindir}/crm_mon
02c748
%{_sbindir}/crm_node
02c748
%{_sbindir}/crm_resource
4c8e44
%{_sbindir}/crm_rule
02c748
%{_sbindir}/crm_standby
02c748
%{_sbindir}/crm_verify
02c748
%{_sbindir}/crmadmin
02c748
%{_sbindir}/iso8601
02c748
%{_sbindir}/crm_shadow
02c748
%{_sbindir}/crm_simulate
02c748
%{_sbindir}/crm_report
02c748
%{_sbindir}/crm_ticket
4c8e44
%{_sbindir}/stonith_admin
4c8e44
# "dirname" is owned by -schemas, which is a prerequisite
4c8e44
%{_datadir}/pacemaker/report.collector
4c8e44
%{_datadir}/pacemaker/report.common
4c8e44
# XXX "dirname" is not owned by any prerequisite
02c748
%{_datadir}/snmp/mibs/PCMK-MIB.txt
02c748
02c748
%exclude /usr/lib/ocf/resource.d/pacemaker/controld
02c748
%exclude /usr/lib/ocf/resource.d/pacemaker/remote
02c748
02c748
%dir /usr/lib/ocf
02c748
%dir /usr/lib/ocf/resource.d
02c748
/usr/lib/ocf/resource.d/pacemaker
02c748
02c748
%doc %{_mandir}/man7/*
02c748
%exclude %{_mandir}/man7/pacemaker-controld.*
02c748
%exclude %{_mandir}/man7/pacemaker-schedulerd.*
02c748
%exclude %{_mandir}/man7/pacemaker-fenced.*
02c748
%exclude %{_mandir}/man7/ocf_pacemaker_controld.*
02c748
%exclude %{_mandir}/man7/ocf_pacemaker_remote.*
02c748
%doc %{_mandir}/man8/*
02c748
%exclude %{_mandir}/man8/crm_attribute.*
02c748
%exclude %{_mandir}/man8/crm_master.*
02c748
%exclude %{_mandir}/man8/pacemakerd.*
02c748
%exclude %{_mandir}/man8/pacemaker-remoted.*
02c748
02c748
%license licenses/GPLv2
02c748
%doc COPYING
02c748
%doc ChangeLog
02c748
02c748
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker
02c748
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/blackbox
02c748
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/cores
02c748
%dir %attr (770, %{uname}, %{gname}) %{_var}/log/pacemaker
02c748
%dir %attr (770, %{uname}, %{gname}) %{_var}/log/pacemaker/bundles
02c748
ed4e54
%files -n %{pkgname_pcmk_libs}
02c748
%{_libdir}/libcib.so.*
02c748
%{_libdir}/liblrmd.so.*
02c748
%{_libdir}/libcrmservice.so.*
02c748
%{_libdir}/libcrmcommon.so.*
02c748
%{_libdir}/libpe_status.so.*
02c748
%{_libdir}/libpe_rules.so.*
4c8e44
%{_libdir}/libpacemaker.so.*
02c748
%{_libdir}/libstonithd.so.*
02c748
%license licenses/LGPLv2.1
02c748
%doc COPYING
02c748
%doc ChangeLog
02c748
02c748
%files cluster-libs
02c748
%{_libdir}/libcrmcluster.so.*
02c748
%license licenses/LGPLv2.1
02c748
%doc COPYING
02c748
%doc ChangeLog
02c748
02c748
%files remote
02c748
%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker
02c748
%if %{defined _unitdir}
02c748
# state directory is shared between the subpackets
02c748
# let rpm take care of removing it once it isn't
02c748
# referenced anymore and empty
02c748
%ghost %dir %{_localstatedir}/lib/rpm-state/%{name}
02c748
%{_unitdir}/pacemaker_remote.service
02c748
%else
02c748
%{_initrddir}/pacemaker_remote
02c748
%endif
02c748
02c748
%{_sbindir}/pacemaker-remoted
02c748
%if %{with legacy_links}
02c748
%{_sbindir}/pacemaker_remoted
02c748
%endif
02c748
%{_mandir}/man8/pacemaker-remoted.*
02c748
%license licenses/GPLv2
02c748
%doc COPYING
02c748
%doc ChangeLog
02c748
02c748
%files doc
02c748
%doc %{pcmk_docdir}
02c748
%license licenses/CC-BY-SA-4.0
02c748
02c748
%files cts
02c748
%{python_site}/cts
02c748
%{_datadir}/pacemaker/tests
02c748
02c748
%{_libexecdir}/pacemaker/cts-log-watcher
02c748
%{_libexecdir}/pacemaker/cts-support
02c748
02c748
%license licenses/GPLv2
02c748
%doc COPYING
02c748
%doc ChangeLog
02c748
ed4e54
%files -n %{pkgname_pcmk_libs}-devel
02c748
%{_includedir}/pacemaker
02c748
%{_libdir}/*.so
02c748
%if %{with coverage}
02c748
%{_var}/lib/pacemaker/gcov
02c748
%endif
02c748
%{_libdir}/pkgconfig/*.pc
02c748
%license licenses/LGPLv2.1
02c748
%doc COPYING
02c748
%doc ChangeLog
02c748
02c748
%files schemas
02c748
%license licenses/GPLv2
4c8e44
%dir %{_datadir}/pacemaker
02c748
%{_datadir}/pacemaker/*.rng
02c748
%{_datadir}/pacemaker/*.xsl
4c8e44
%{_datadir}/pacemaker/api
ed4e54
%{_datadir}/pkgconfig/pacemaker-schemas.pc
02c748
02c748
%files nagios-plugins-metadata
02c748
%dir %{_datadir}/pacemaker/nagios/plugins-metadata
02c748
%attr(0644,root,root) %{_datadir}/pacemaker/nagios/plugins-metadata/*
02c748
%license %{nagios_name}-%{nagios_hash}/COPYING
02c748
02c748
%changelog
6a8542
* Wed May 13 2020 Ken Gaillot <kgaillot@redhat.com> - 2.0.3-5.1
6a8542
- Fix regression when running "crm_node -n" on remote nodes
6a8542
- Resolves: rhbz1833384
6a8542
ed4e54
* Mon Jan 27 2020 Ken Gaillot <kgaillot@redhat.com> - 2.0.3-5
ed4e54
- Clear leaving node's attributes if there is no DC
ed4e54
- Resolves: rhbz1791841
ed4e54
ed4e54
* Thu Jan 16 2020 Ken Gaillot <kgaillot@redhat.com> - 2.0.3-4
ed4e54
- Implement shutdown-lock feature
ed4e54
- Resolves: rhbz1712584
ed4e54
ed4e54
* Wed Nov 27 2019 Ken Gaillot <kgaillot@redhat.com> - 2.0.3-3
ed4e54
- Rebase on Pacemaker-2.0.3 final release
ed4e54
- Resolves: rhbz1752538
ed4e54
ed4e54
* Wed Nov 13 2019 Ken Gaillot <kgaillot@redhat.com> - 2.0.3-2
ed4e54
- Rebase on Pacemaker-2.0.3-rc3
ed4e54
- Resolves: rhbz1752538
ed4e54
ed4e54
* Thu Oct 31 2019 Ken Gaillot <kgaillot@redhat.com> - 2.0.3-1
ed4e54
- Rebase on Pacemaker-2.0.3-rc2
ed4e54
- Parse crm_mon --fence-history option correctly
ed4e54
- Put timeout on controller waiting for scheduler response
ed4e54
- Offer Pacemaker Remote option for bind address
ed4e54
- Calculate cluster recheck interval dynamically
ed4e54
- Clarify crm_resource help text
ed4e54
- Reduce system calls after forking a child process
ed4e54
- Resolves: rhbz1699978
ed4e54
- Resolves: rhbz1725236
ed4e54
- Resolves: rhbz1743377
ed4e54
- Resolves: rhbz1747553
ed4e54
- Resolves: rhbz1748805
ed4e54
- Resolves: rhbz1752538
ed4e54
- Resolves: rhbz1762025
0d8777
4c8e44
* Mon Aug 26 2019 Ken Gaillot <kgaillot@redhat.com> - 2.0.2-3
4c8e44
- Make pacemaker-cli require tar and bzip2
4c8e44
- Resolves: rhbz#1741580
4c8e44
4c8e44
* Fri Jun 21 2019 Klaus Wenninger <kwenning@redhat.com> - 2.0.2-2
4c8e44
- Synchronize fence-history on fenced-restart
4c8e44
- Cleanup leftover pending-fence-actions when fenced is restarted
4c8e44
- Improve fencing of remote-nodes
4c8e44
- Resolves: rhbz#1708380
4c8e44
- Resolves: rhbz#1708378
4c8e44
- Resolves: rhbz#1721198
4c8e44
- Resolves: rhbz#1695737
4c8e44
4c8e44
* Thu Jun 6 2019 Ken Gaillot <kgaillot@redhat.com> - 2.0.2-1
4c8e44
- Add stonith_admin option to display XML output
4c8e44
- Add new crm_rule tool to check date/time rules
4c8e44
- List any constraints cleared by crm_resource --clear
4c8e44
- crm_resource --validate can now get resource parameters from command line
4c8e44
- Rebase on upstream version 2.0.2
4c8e44
- Default concurrent-fencing to true
4c8e44
- Resolves: rhbz#1555939
4c8e44
- Resolves: rhbz#1572116
4c8e44
- Resolves: rhbz#1631752
4c8e44
- Resolves: rhbz#1637020
4c8e44
- Resolves: rhbz#1695737
4c8e44
- Resolves: rhbz#1715426
4c8e44
4c8e44
* Wed May 15 2019 Ken Gaillot <kgaillot@redhat.com> - 2.0.1-5
4c8e44
- Add gating tests for CI
4c8e44
- Restore correct behavior when live migration is interrupted
a125f5
- Improve clients' authentication of IPC servers (CVE-2018-16877)
a125f5
- Fix use-after-free with potential information disclosure (CVE-2019-3885)
a125f5
- Improve pacemakerd authentication of running subdaemons (CVE-2018-16878)
4c8e44
- Resolves: rhbz#1682116
4c8e44
- Resolves: rhbz#1684306
4c8e44
- Resolves: rhbz#1694558
4c8e44
- Resolves: rhbz#1694560
4c8e44
- Resolves: rhbz#1694908
Pablo Greco f3804c
02c748
* Tue Jan 29 2019 Ken Gaillot <kgaillot@redhat.com> - 2.0.1-4
02c748
- Remove duplicate fence history state listing in crm_mon XML output
02c748
- Resolves: rhbz#1667191
02c748
02c748
* Thu Jan 10 2019 Ken Gaillot <kgaillot@redhat.com> - 2.0.1-3
02c748
- Fix bundle recovery regression in 2.0.1-2
02c748
- Resolves: rhbz#1660592
02c748
02c748
* Fri Dec 14 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.1-2
02c748
- Move pacemaker-doc installed files to /usr/share/doc/pacemaker-doc
02c748
  to avoid conflict with RHEL 8 location of pacemaker subpackage docs
02c748
- Resolves: rhbz#1543494
02c748
02c748
* Thu Dec 13 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.1-1
02c748
- Rebase on upstream commit 0eb799156489376e13fb79dca47ea9160e9d4595 (Pacemaker-2.0.1-rc1)
02c748
- Follow upstream change of splitting XML schemas into separate package
02c748
- Resolves: rhbz#1543494
02c748
02c748
* Fri Nov 16 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.0-11
02c748
- Rebase on upstream commit efbf81b65931423b34c91cde7204a2d0a71e77e6
02c748
- Resolves: rhbz#1543494
02c748
02c748
* Fri Sep 28 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.0-10
02c748
- Rebase on upstream commit b67d8d0de9794e59719608d9b156b4a3c6556344
02c748
- Update spec for Python macro changes
02c748
- Resolves: rhbz#1543494
02c748
- Resolves: rhbz#1633612
02c748
02c748
* Mon Sep 17 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.0-9
02c748
- Rebase on upstream commit c4330b46bf1c3dcd3e367b436efb3bbf82ef51cd
02c748
- Support podman as bundle container launcher
02c748
- Ignore fence history in crm_mon when using CIB_file
02c748
- Resolves: rhbz#1543494
02c748
- Resolves: rhbz#1607898
02c748
- Resolves: rhbz#1625231
02c748
02c748
* Thu Aug 30 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.0-8
02c748
- Rebase on upstream commit dd6fd26f77945b9bb100d5a3134f149b27601552
02c748
- Fixes (unreleased) API regression
02c748
- Resolves: rhbz#1543494
02c748
- Resolves: rhbz#1622969
02c748
02c748
* Mon Aug 13 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.0-7
02c748
- Include upstream master branch commits through 975347d4
02c748
- Resolves: rhbz#1543494
02c748
- Resolves: rhbz#1602650
02c748
- Resolves: rhbz#1608369
02c748
02c748
* Mon Jul 30 2018 Florian Weimer <fweimer@redhat.com> - 2.0.0-6
02c748
- Rebuild with fixed binutils
02c748
02c748
* Mon Jul 9 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.0-5
02c748
- Rebase to upstream version 2.0.0 final
02c748
- Resolves: rhbz#1543494
02c748
02c748
* Wed Jun 6 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.0-4
02c748
- Rebase to upstream version 2.0.0-rc5
02c748
- Resolves: rhbz#1543494
02c748
02c748
* Mon Apr 30 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.0-2
02c748
- Rebase to upstream version 2.0.0-rc3
02c748
- Resolves: rhbz#1543494
02c748
02c748
* Tue Apr 17 2018 Ken Gaillot <kgaillot@redhat.com> - 2.0.0-1
02c748
- Rebase to upstream version 2.0.0-rc2 with later fixes
02c748
- Resolves: rhbz#1543494
02c748
02c748
* Tue Apr 17 2018 Josh Boyer <jwboyer@redhat.com> - 1.1.17-3
02c748
- Stop hard requiring nagios-plugins
02c748
02c748
* Wed Oct 18 2017 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.17-2
02c748
- Rebuilt to fix libqb vs. ld.bfd/binutils-2.29 incompatibility making
02c748
  some CLI executables unusable under some circumstances (rhbz#1503843)
02c748
02c748
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.17-1.2
02c748
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
02c748
02c748
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.17-1.1
02c748
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
02c748
02c748
* Fri Jul 07 2017 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.17-1
02c748
- Update for new upstream tarball: Pacemaker-1.1.17,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.17
02c748
02c748
* Thu Jun 22 2017 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.17-0.1.rc4
02c748
- Update for new upstream tarball for release candidate: Pacemaker-1.1.17-rc4,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.17-rc4
02c748
- Add an imposed lower bound for glib2 BuildRequires
02c748
02c748
* Thu Jun 01 2017 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.17-0.1.rc3
02c748
- Update for new upstream tarball for release candidate: Pacemaker-1.1.17-rc3,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.17-rc3
02c748
02c748
* Wed May 24 2017 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.17-0.1.rc2
02c748
- Update for new upstream tarball for release candidate: Pacemaker-1.1.17-rc2,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.17-rc2
02c748
02c748
* Tue May 09 2017 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.17-0.1.rc1
02c748
- Update for new upstream tarball for release candidate: Pacemaker-1.1.17-rc1,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.17-rc1
02c748
02c748
* Mon Feb 06 2017 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.16-2.a39ea6491.git
02c748
- Update for (slightly stabilized) snapshot beyond Pacemaker-1.1.16
02c748
  (commit a39ea6491), including:
02c748
  . prevent FTBFS with new GCC 7 (a7476dd96)
02c748
- Adapt spec file more akin to upstream version including:
02c748
  . better pre-release vs. tags logic (4581d4366)
02c748
02c748
* Fri Dec 02 2016 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.16-1
02c748
- Update for new upstream tarball: Pacemaker-1.1.16,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.16
02c748
- Adapt spec file more akin to upstream version including:
02c748
  . clarify licensing, especially for -doc (f01f734)
02c748
  . fix pacemaker-remote upgrade (779e0e3)
02c748
  . require python >= 2.6 (31ef7f0)
02c748
  . older libqb is sufficient (based on 30fe1ce)
02c748
  . remove openssl-devel and libselinux-devel as BRs (2e05c17)
02c748
  . make systemd BR pkgconfig-driven (6285924)
02c748
  . defines instead of some globals + error suppression (625d427)
02c748
- Rectify -nagios-plugins-metadata declared license and install
02c748
  also respective license text
02c748
02c748
* Thu Nov 03 2016 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.15-3
02c748
- Apply fix for CVE-2016-7035 (improper IPC guarding)
02c748
02c748
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.15-2.1
02c748
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
02c748
02c748
* Thu Jul 07 2016 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.15-2
02c748
- Stop building with -fstack-protector-all using the upstream patches
02c748
  overhauling toolchain hardening (Fedora natively uses
02c748
  -fstack-protector-strong so this effectively relaxed stack protection
02c748
  is the only effect as hardened flags are already used by default:
02c748
  https://fedoraproject.org/wiki/Changes/Harden_All_Packages)
02c748
02c748
* Wed Jun 22 2016 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.15-1
02c748
- Update for new upstream tarball: Pacemaker-1.1.15,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.15
02c748
- Adapt spec file more akin to upstream version:
02c748
  . move xml schema files + PCMK-MIB.txt (81ef956), logrotate configuration
02c748
    file (ce576cf; drop it from -remote package as well), attrd_updater
02c748
    (aff80ae), the normal resource agents (1fc7287), and common directories
02c748
    under /var/lib/pacemaker (3492794) from main package under -cli
02c748
  . simplify docdir build parameter passing and drop as of now
02c748
    redundant chmod invocations (e91769e)
02c748
02c748
* Fri May 27 2016 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.15-0.1.rc3
02c748
- Update for new upstream tarball for release candidate: Pacemaker-1.1.15-rc3,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.15-rc3
02c748
- Drop fence_pcmk (incl. man page) from the package (no use where no CMAN)
02c748
- Drop license macro emulation for cases when not supported natively
02c748
  (several recent Fedora releases do not need that)
02c748
02c748
* Mon May 16 2016 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.15-0.1.rc2
02c748
- Update for new upstream tarball for release candidate: Pacemaker-1.1.15-rc2,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.15-rc2
02c748
02c748
* Tue Apr 26 2016 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.15-0.1.rc1
02c748
- Update for new upstream tarball for release candidate: Pacemaker-1.1.15-rc1,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.15-rc1
02c748
- Adapt spec file more akin to upstream version (also to reflect recent
02c748
  changes like ability to built explicitly without Publican-based docs)
02c748
02c748
* Thu Mar 31 2016 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.14-2.5a6cdd1.git
02c748
- Update for currently stabilized snapshot beyond Pacemaker-1.1.14
02c748
  (commit 5a6cdd1), but restore old-style notifications to the state at
02c748
  Pacemaker-1.1.14 point release (disabled)
02c748
- Definitely get rid of Corosync v1 (Flatiron) hypothetical support
02c748
- Remove some of the spec file cruft, not required for years
02c748
  (BuildRoot, AutoReqProv, "clean" scriptlet, etc.) and adapt the file
02c748
  per https://github.com/ClusterLabs/pacemaker/pull/965
02c748
02c748
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.14-1.1
02c748
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
02c748
02c748
* Mon Jan 18 2016 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.14-1
02c748
- Update for new upstream tarball: Pacemaker-1.1.14,
02c748
  for full details, see included ChangeLog file or
02c748
  https://github.com/ClusterLabs/pacemaker/releases/tag/Pacemaker-1.1.14
02c748
- Disable Fedora crypto policies conformance patch for now (rhbz#1179335)
02c748
- Better align specfile with the upstream version (also fix issue with
02c748
  crm_mon sysconfig file not being installed)
02c748
- Further specfile modifications:
02c748
  - drop unused gcc-c++ and repeatedly mentioned pkgconfig packages
02c748
    from BuildRequires
02c748
  - refer to python_sitearch macro first, if defined
02c748
  - tolerate license macro not being defined (e.g., for EPEL rebuilds)
02c748
- Prevent console mode not available in crm_mon due to curses library test
02c748
  fragility of configure script in hardened build environment (rhbz#1297985)
02c748
02c748
* Tue Oct 20 2015 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.13-4
02c748
- Adapt to follow Fedora crypto policies (rhbz#1179335)
02c748
02c748
* Wed Oct 14 2015 Jan Pokorný <jpokorny+rpm-pacemaker@redhat.com> - 1.1.13-3
02c748
- Update to Pacemaker-1.1.13 post-release + patches (sync)
02c748
- Add nagios-plugins-metadata subpackage enabling support of selected
02c748
  Nagios plugins as resources recognized by Pacemaker
02c748
- Several specfile improvements: drop irrelevant stuff, rehash the
02c748
  included/excluded files + dependencies, add check scriptlet,
02c748
  reflect current packaging practice, do minor cleanups
02c748
  (mostly adopted from another spec)
02c748
02c748
* Thu Aug 20 2015 Andrew Beekhof <abeekhof@redhat.com> - 1.1.13-2
02c748
- Update for new upstream tarball: Pacemaker-1.1.13
02c748
- See included ChangeLog file or https://raw.github.com/ClusterLabs/pacemaker/master/ChangeLog for full details
02c748
02c748
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.12-2.1
02c748
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
02c748
02c748
* Wed Nov 05 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-2
02c748
- Address incorrect use of the dbus API for interacting with systemd
02c748
02c748
* Tue Oct 28 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-1
02c748
- Update for new upstream tarball: Pacemaker-1.1.12+ (a9c8177)
02c748
- See included ChangeLog file or https://raw.github.com/ClusterLabs/pacemaker/master/ChangeLog for full details
02c748
02c748
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-1.2
02c748
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
02c748
02c748
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-1.1
02c748
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
02c748
02c748
* Tue Feb 18 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.11-1
02c748
- Update for new upstream tarball: Pacemaker-1.1.11 (9d39a6b)
02c748
- See included ChangeLog file or https://raw.github.com/ClusterLabs/pacemaker/master/ChangeLog for full details
02c748
02c748
* Thu Jun 20 2013 Andrew Beekhof <abeekhof@redhat.com> - 1.1.9-3
02c748
- Update to upstream 7d8acec
02c748
- See included ChangeLog file or https://raw.github.com/ClusterLabs/pacemaker/master/ChangeLog for full details
02c748
02c748
  + Feature: Turn off auto-respawning of systemd services when the cluster starts them
02c748
  + Fix: crmd: Ensure operations for cleaned up resources don't block recovery
02c748
  + Fix: logging: If SIGTRAP is sent before tracing is turned on, turn it on instead of crashing
02c748
02c748
* Mon Jun 17 2013 Andrew Beekhof <abeekhof@redhat.com> - 1.1.9-2
02c748
- Update for new upstream tarball: 781a388
02c748
- See included ChangeLog file or https://raw.github.com/ClusterLabs/pacemaker/master/ChangeLog for full details
02c748
02c748
* Wed May 12 2010 Andrew Beekhof <andrew@beekhof.net> - 1.1.2-1
02c748
- Update the tarball from the upstream 1.1.2 release
02c748
- See included ChangeLog file or https://raw.github.com/ClusterLabs/pacemaker/master/ChangeLog for full details
02c748
02c748
* Tue Jul 14 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.4-1
02c748
- Initial checkin