SHA256
1
0
forked from pool/pacemaker

Accepting request 406455 from network:ha-clustering:Factory

- ping: Log sensible error when /tmp is full (bsc#987348)
- crm_mon: Do not log errors for the known CIB changes that should be ignored (bsc#986931)
- logging: Enable synchronous logging when blackboxes are enabled
- libpengine: print target role and blocked status in XML output
- tools: add maintenance mode and disabled/blocked resources to crm_mon XML/HTML output
- tools: break up long lines in crm_mon console output
- libservices: include socket units when listing all systemd agents
- fencing: fence_legacy - Search capable devices by querying them through "list" action for cluster-glue stonith agents (bsc#986265)
- extra: correct quoting of timestamp-format in alert-snmp-example
- pengine,tools: Display pending resource state by default when it's available (bsc#986201)
- rng: Allow rsc-pattern in locations for version 2.6
- pengine: Expand regexp references in location constraints
- pengine: Allow to set base score for progressive node health strategy
- systemd: Allow unit names ending in .socket.
- watchdog: Correction to do to change action of the system reboot by fail_fast
- Upstream version cs: 630d0d112092042b6f79c2a02bb442e82fee93ec

- Remove conditionals that are not really needed as they always kept
  the values
- Remove the cman conditional as we do not even have the dependencies
  to build with it in OBS
- Convert deps to pkgconfig style ones and remove deps that are
  not mentioned by the testsuite or the configure.ac

- Update to version 1.1.15
- crmd: mention that graceful remote shutdowns may cause connection failures (bsc#981489)
- alerts - drop 5min timeout to 30s since it is configurable now
- Bug bz#5292 - crmd: wait for alerts to finish
- libais,libcluster,libcrmcommon,liblrmd: don't use %z specifier
- alerts: ensure sample alert agents handle undefined recipient

OBS-URL: https://build.opensuse.org/request/show/406455
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pacemaker?expand=0&rev=101
This commit is contained in:
Dominique Leuenberger 2016-07-12 21:44:47 +00:00 committed by Git OBS Bridge
commit 8fe752f878
7 changed files with 294 additions and 526 deletions

View File

@ -8,10 +8,10 @@
To update to a new release, change "revision" to the desired To update to a new release, change "revision" to the desired
git commit hash and bump "version" if necessary git commit hash and bump "version" if necessary
<param name="version">1.1.14</param> <param name="version">1.1.15</param>
--> -->
<param name="versionformat">1.1.14+git%cd.%h</param> <param name="versionformat">1.1.15+git%cd.%h</param>
<param name="revision">389294fd1ebefddad67fff51306f585b758ca860</param> <param name="revision">630d0d112092042b6f79c2a02bb442e82fee93ec</param>
</service> </service>
<service name="recompress" mode="disabled"> <service name="recompress" mode="disabled">

View File

@ -1,23 +1,19 @@
commit f61b9889cd169ce2c715a5cc4808321977432ec0 commit c199dc320b4faa01c19df68a9f2566465f5afa2c
Author: Gao,Yan <ygao@suse.com> Author: Gao,Yan <ygao@suse.com>
Date: Sun May 29 20:31:25 2016 +0200 Date: Mon Jun 13 17:26:27 2016 +0200
Fix: controld: Prevent unwanted self-fencing if "stateful_merge_wait" state of dlm is not available Fix: controld: Prevent unwanted self-fencing if "stateful_merge_wait" state of dlm is not available
diff --git a/extra/resources/controld b/extra/resources/controld diff --git a/extra/resources/controld b/extra/resources/controld
index 7d75319..908e2ca 100644 index ddb514a..37d5c62 100644
--- a/extra/resources/controld --- a/extra/resources/controld
+++ b/extra/resources/controld +++ b/extra/resources/controld
@@ -229,13 +229,9 @@ controld_monitor() { @@ -232,10 +232,6 @@ controld_monitor() {
if [ -n "$smw" ] && [ $smw -eq 1 ]; then
case $rc in
0) smw=$(dlm_tool status -v | grep "stateful_merge_wait=" | cut -d= -f2)
- if [ $smw -eq 1 ]; then
+ if [ "$smw" = "1" ]; then
ocf_log err "DLM status is: stateful_merge_wait" ocf_log err "DLM status is: stateful_merge_wait"
rc=$OCF_ERR_GENERIC rc=$OCF_ERR_GENERIC
- elif [ -z "$smw" ] && dlm_tool ls | grep -q "wait fencing" && \ - elif [ -z "$smw" ] && dlm_tool ls | grep -q "wait fencing" && \
- ! stonith_admin -H -V | grep -q "wishes to"; then - ! stonith_admin -H '*' -V | grep -q "wishes to"; then
- ocf_log err "DLM status is: wait fencing" - ocf_log err "DLM status is: wait fencing"
- rc=$OCF_ERR_GENERIC - rc=$OCF_ERR_GENERIC
else else

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4d0c26d5c57607cf4368187f4b68e0e3549085305baa4c1c69ccb452ff06701e
size 3820078

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9587853126135f54777779084e9ea2946536d02a6e06b93695ee215d4c535179
size 3844245

View File

@ -1,3 +1,121 @@
-------------------------------------------------------------------
Fri Jul 1 23:10:54 UTC 2016 - ygao@suse.com
- ping: Log sensible error when /tmp is full (bsc#987348)
- crm_mon: Do not log errors for the known CIB changes that should be ignored (bsc#986931)
- logging: Enable synchronous logging when blackboxes are enabled
- libpengine: print target role and blocked status in XML output
- tools: add maintenance mode and disabled/blocked resources to crm_mon XML/HTML output
- tools: break up long lines in crm_mon console output
- libservices: include socket units when listing all systemd agents
- fencing: fence_legacy - Search capable devices by querying them through "list" action for cluster-glue stonith agents (bsc#986265)
- extra: correct quoting of timestamp-format in alert-snmp-example
- pengine,tools: Display pending resource state by default when it's available (bsc#986201)
- rng: Allow rsc-pattern in locations for version 2.6
- pengine: Expand regexp references in location constraints
- pengine: Allow to set base score for progressive node health strategy
- systemd: Allow unit names ending in .socket.
- watchdog: Correction to do to change action of the system reboot by fail_fast
- Upstream version cs: 630d0d112092042b6f79c2a02bb442e82fee93ec
-------------------------------------------------------------------
Thu Jun 30 13:16:25 UTC 2016 - tchvatal@suse.com
- Remove conditionals that are not really needed as they always kept
the values
- Remove the cman conditional as we do not even have the dependencies
to build with it in OBS
- Convert deps to pkgconfig style ones and remove deps that are
not mentioned by the testsuite or the configure.ac
-------------------------------------------------------------------
Wed Jun 22 12:25:47 UTC 2016 - ygao@suse.com
- Update to version 1.1.15
- crmd: mention that graceful remote shutdowns may cause connection failures (bsc#981489)
- alerts - drop 5min timeout to 30s since it is configurable now
- Bug bz#5292 - crmd: wait for alerts to finish
- libais,libcluster,libcrmcommon,liblrmd: don't use %z specifier
- alerts: ensure sample alert agents handle undefined recipient
- tools: crm_resource -T option should not be hidden anymore
- PE: Correctly update the dependant actions of un-runnable clones
- alerts: make timestamp-format-string work properly if strftime-escape is the last character
- extra: make alert-file-example cope with spaces in timeformat-string
- attrd,ipc: Prevent possible segfault on exit (bsc#986056)
- alerts: fix SMTP recipient defaulting
- tools: properly handle crm_resource --restart with a resource in a group
- tools: don't assume all resources restart on same node with crm_resource --restart
- tools: avoid memory leaks in crm_resource --restart
- tools: remember any existing target-role when doing crm_resource --restart
- tools: correctly count starting resources when doing crm_resource --restart
- Upstream version cs: e174ec84857e087210b9dacee3318f8203176129 (Pacemaker-1.1.15)
-------------------------------------------------------------------
Tue Jun 14 11:35:04 UTC 2016 - tchvatal@suse.com
- Clean-up with spec-cleaner
- Drop heartbeat conditions, no heartbeat around
- Sort CMAN conditionals to be actually logical
- Run fdupes to not waste so much space
- Add logrotate to reqs of pacemaker-cli
- Cleanup rpmlintrc to contain only bare needed minimum
- Run basic sanity check in %check phase
-------------------------------------------------------------------
Tue Jun 14 11:09:45 UTC 2016 - tchvatal@suse.com
- Drop sysvinit support we now run on sle12+ only
- Cleanup the define conditionals that are never used
- Drop profiling and coverage options it is not enabled by default
and better to run separately
-------------------------------------------------------------------
Mon Jun 13 10:31:52 UTC 2016 - ygao@suse.com
- libcrmcommon: really ensure crm_time_t structure is fully initialized by API calls
- extra: correct syntax error in sample alert script
- crmd: avoid timeout on older peers when cancelling a resource operation
- crmd: use proper resource agent name when caching metadata
- crmd: avoid memory leak when sending fencing alert
- liblrmd: avoid memory leak when closing or deleting lrmd connections
- extra: improve determination of successful monitors in SNMP alert script
- tools: avoid memory leak when crm_mon unpacks constraints
- pengine: avoid use-after-free with location constraint + sets + templates
- pengine: better error handling when unpacking sets in location constraints
- pengine: avoid memory leak when invalid constraint involves set
- Build: rename sample alert scripts and install them in datadir
- pengine : Correction of the record judgment of the failed information.
- Upstream version cs: dd46368eead0d756735216a4bc765466b99274fc
-------------------------------------------------------------------
Tue Jun 7 08:40:25 UTC 2016 - ygao@suse.com
- alert-helpers: some fixes in pcmk_smtp_helper.sh
- libpengine: log message when stonith disabled, not enabled
- pengine: only set unfencing constraints once
- tools: don't require node to be known to crm_resource when deleting attribute
- libcrmcommon: ensure crm_time_t structure is fully initialized by API calls
- attrd: don't leak memory when returning due to malformed update request
- crmd: always free result of crm_itoa()
- xml: adapt crm_mon.rng per recent reorder of the summary elements
- Upstream version cs: 1a05449500f015414b6df68b6d4feb64b713f533
-------------------------------------------------------------------
Fri Jun 3 12:07:19 UTC 2016 - ygao@suse.com
- Rebase:
* bug-977201_pacemaker-controld-self-fencing.patch
- pengine: properly order stop actions relative to stonith
- crm_resource: don't pretend that target-role:started would prevent promotion
- crm_mon: consistently print ms resource state
- controld: use "stonith_admin -H '*' -V" (bsc#977201)
- stonith_admin: allow -H '*' to show history for all nodes (bsc#977201)
- controld: fix "[: -eq: unary operator expected" issue from PR 1022 (bsc#977201)
- extra: Support of the task designation of a resource and the fencing.
- extra: Change pcmk_snmp_helper.sh (2).
- Upstream version cs: 6a8c1e9d35c65cbfd4019cfe797cb7bb9dfd4322
------------------------------------------------------------------- -------------------------------------------------------------------
Sun May 29 20:06:12 UTC 2016 - ygao@suse.com Sun May 29 20:06:12 UTC 2016 - ygao@suse.com
@ -12,8 +130,8 @@ Sun May 29 14:44:18 UTC 2016 - ygao@suse.com
- crmd: Acknowledge cancellation operations for remote connection resources (bsc#976865) - crmd: Acknowledge cancellation operations for remote connection resources (bsc#976865)
- controld: improve DLM check with stateful_merge_wait (bsc#977201) - controld: improve DLM check with stateful_merge_wait (bsc#977201)
- attrd, libcrmcommon: validate attrd requests better - attrd, libcrmcommon: validate attrd requests better
- crmd: clear remote node transient attributes on disconnect - crmd: clear remote node transient attributes on disconnect (bsc#981489)
- Revert "Fix: attrd: Correctly implement mass removal of a node's attributes" - Revert "Fix: attrd: Correctly implement mass removal of a node's attributes" (bsc#981489)
- crm_mon: Fix time formatting on x32 - crm_mon: Fix time formatting on x32
- resources: use OCF version tagging correctly - resources: use OCF version tagging correctly
- libcommon: crm_procfs_pid_of() would always return last /proc entry checked - libcommon: crm_procfs_pid_of() would always return last /proc entry checked
@ -44,7 +162,7 @@ Wed May 4 10:38:16 UTC 2016 - ygao@suse.com
- pengine: Organize order of actions for master resources in anti-colocations (bsc#977800) - pengine: Organize order of actions for master resources in anti-colocations (bsc#977800)
- pengine: Respect asymmetrical ordering when trying to move resources (bsc#977675) - pengine: Respect asymmetrical ordering when trying to move resources (bsc#977675)
- fencing: Record the last known names of nodes to make sure fencing requested with nodeid works (bsc#974108) - fencing: Record the last known names of nodes to make sure fencing requested with nodeid works (bsc#974108)
- crmd: first implementation of integrated multi-agent, multi-target alerting mechanism - crmd: first implementation of integrated multi-agent, multi-target alerting mechanism (fate#320855)
- ping resource: Use fping6 for IPv6 hosts (bsc#976271) - ping resource: Use fping6 for IPv6 hosts (bsc#976271)
- pengine: Consider resource failed if any of the configured monitor operations failed (bsc#972187) - pengine: Consider resource failed if any of the configured monitor operations failed (bsc#972187)
- ping resource: avoid undefined func w/ OCF_FUNCTIONS=/dev/null - ping resource: avoid undefined func w/ OCF_FUNCTIONS=/dev/null
@ -134,8 +252,8 @@ Thu Feb 11 13:28:13 UTC 2016 - ygao@suse.com
- crmd: Prevent potential use-after-free (bsc#964183) - crmd: Prevent potential use-after-free (bsc#964183)
- liblrmd: Prevent potential use-after-free issues (bsc#964183) - liblrmd: Prevent potential use-after-free issues (bsc#964183)
- PE: Fix conditions for internal sanity check (bsc#971129) - PE: Fix conditions for internal sanity check (bsc#971129)
- attrd: ensure remote nodes are in correct peer cache - attrd: ensure remote nodes are in correct peer cache (bsc#981489)
- crmd: set remote flag when gracefully shutting down remote nodes - crmd: set remote flag when gracefully shutting down remote nodes (bsc#981489)
- fencing: Correctly track active stonith actions (bsc#938545) - fencing: Correctly track active stonith actions (bsc#938545)
- fencing: Functionize adding and removing active pids of device (bsc#938545) - fencing: Functionize adding and removing active pids of device (bsc#938545)
- crm_shadow: Do not invoke shells with --noprofile option other than bash (bsc#961392) - crm_shadow: Do not invoke shells with --noprofile option other than bash (bsc#961392)
@ -147,13 +265,13 @@ Thu Feb 11 13:28:13 UTC 2016 - ygao@suse.com
- spec: C++ compiler is not something currently needed - spec: C++ compiler is not something currently needed
- RHBZ#1286316: Do an ordered shutdown of systemd resources - RHBZ#1286316: Do an ordered shutdown of systemd resources
- header == NULL when parsing compressed message - header == NULL when parsing compressed message
- attrd: Correctly implement mass removal of a node's attributes - attrd: Correctly implement mass removal of a node's attributes (bsc#981489)
- attrd: Hook up the client name so we can track requests - attrd: Hook up the client name so we can track requests
- crmd: Set the shutdown transient attribute in response to LRMD_IPC_OP_SHUTDOWN_REQ from remote nodes - crmd: Set the shutdown transient attribute in response to LRMD_IPC_OP_SHUTDOWN_REQ from remote nodes (bsc#981489)
- PE: Honor the shutdown transient attributes for remote nodes - PE: Honor the shutdown transient attributes for remote nodes (bsc#981489)
- pacemaker_remote: support graceful stops - pacemaker_remote: support graceful stops (bsc#981489)
- crmd: support graceful pacemaker_remote stops - crmd: support graceful pacemaker_remote stops (bsc#981489)
- lrmd,liblrmd: add lrmd IPC operations for requesting and acknowledging shutdown - lrmd,liblrmd: add lrmd IPC operations for requesting and acknowledging shutdown (bsc#981489)
- fencing: Support concurrent fencing actions on each device (bsc#938545) - fencing: Support concurrent fencing actions on each device (bsc#938545)
- pengine: Support concurrent fencing (bsc#938545) - pengine: Support concurrent fencing (bsc#938545)
- Upstream version cs: c54f10440a7bba5a1491ea8506925c7d6d9ca2a3 - Upstream version cs: c54f10440a7bba5a1491ea8506925c7d6d9ca2a3
@ -272,7 +390,7 @@ Thu Oct 8 10:29:54 UTC 2015 - ygao@suse.com
- crmd: properly detect CIB update failures for remote nodes - crmd: properly detect CIB update failures for remote nodes
- cibadmin: Prevent potential use-of-NULL in print_xml_output() (bsc#947180) - cibadmin: Prevent potential use-of-NULL in print_xml_output() (bsc#947180)
- Fencing: The device list is expected to be comma separated - Fencing: The device list is expected to be comma separated
- Tools: Do not send command lines to syslog - Tools: Do not send command lines to syslog (bsc#986676)
- Tools: Repair the logging of 'interesting' command-lines - Tools: Repair the logging of 'interesting' command-lines
- PE: resolve memory leak - PE: resolve memory leak
- libfencing: make topology level removal compatible with latest stonithd API - libfencing: make topology level removal compatible with latest stonithd API
@ -676,7 +794,7 @@ Fri Feb 27 09:44:50 UTC 2015 - ygao@suse.com
- properly record stop args after reload - properly record stop args after reload
- pengine: Do not reschedule monitors that are no longer needed while resource definitions have changed (bsc#914761) - pengine: Do not reschedule monitors that are no longer needed while resource definitions have changed (bsc#914761)
- Build: Fix building when heartbeat support is disabled - Build: Fix building when heartbeat support is disabled
- fencing: cl#5134 - Support random fencing delay to avoid double fencing (FATE#317136, FATE#318381) - fencing: cl#5134 - Support random fencing delay to avoid double fencing (FATE#317136, FATE#318381, bsc#970733)
- extra: Use crm_simulate for the showscores script - extra: Use crm_simulate for the showscores script
- attrd: refresh should force an immediate write-out of all attributes - attrd: refresh should force an immediate write-out of all attributes
- service: Leave synchronous calls to be free'd by the caller - service: Leave synchronous calls to be free'd by the caller
@ -861,7 +979,7 @@ Fri Oct 17 12:55:03 UTC 2014 - ygao@suse.com
- crmd: properly update job limit for baremetal remote-nodes - crmd: properly update job limit for baremetal remote-nodes
- crmd: Remote-node throttle jobs count towards cluster-node hosting conneciton rsc - crmd: Remote-node throttle jobs count towards cluster-node hosting conneciton rsc
- crmd: Ensure throttle_mode() does something on Linux - crmd: Ensure throttle_mode() does something on Linux
- systemd: Perform actions asynchronously - systemd: Perform actions asynchronously (bsc#956500)
- crm_attribute: Correctly update config options when -o crm_config is specified - crm_attribute: Correctly update config options when -o crm_config is specified
- crmd: Fixes crash when remote connection migration fails - crmd: Fixes crash when remote connection migration fails
- pengine: fixes segfault caused by malformed log warning - pengine: fixes segfault caused by malformed log warning

View File

@ -1,16 +1,4 @@
#addFilter(".*")
addFilter("script-without-shebang /usr/share/pacemaker/.*\.rng") addFilter("script-without-shebang /usr/share/pacemaker/.*\.rng")
addFilter("script-without-shebang /usr/share/pacemaker/.*\.dtd") addFilter("script-without-shebang /usr/share/pacemaker/.*\.dtd")
addFilter("script-without-shebang /usr/share/pacemaker/.*\.xsl") addFilter("script-without-shebang /usr/share/pacemaker/.*\.xsl")
#addFilter("script-without-shebang /usr/share/pacemaker/cts/")
addFilter("non-executable-script /usr/share/pacemaker/cts/") addFilter("non-executable-script /usr/share/pacemaker/cts/")
#addFilter("non-utf8-spec-file heartbeat.spec")
addFilter("no-version-in-last-changelog")
addFilter("shlib-policy-missing-suffix")
addFilter("source-or-patch-not-bzipped")
#addFilter("missing-dependency-to-cron")
#addFilter("no-prereq-on pwdutils")
#addFilter("no-packager-tag")
# Debug packages take care of this
addFilter("unstripped-binary-or-object")

View File

@ -19,130 +19,30 @@
%global gname haclient %global gname haclient
%global uname hacluster %global uname hacluster
%global pcmk_docdir %{_docdir}/%{name} %global pcmk_docdir %{_docdir}/%{name}
%global specversion 1
%global pcmkversion 1.1.14+git20160527.389294f
# set following to the actual commit or, for final release, concatenate
# "pcmkversion" macro to "Pacemaker-" (will yield a tag per the convention)
%global commit HEAD
%global lparen (
%global rparen )
%global shortcommit %(c=%{commit}; case ${c} in
Pacemaker-*%{rparen} echo ${c:10};;
*%{rparen} echo ${c:0:7};; esac)
%global pre_release %(s=%{shortcommit}; [ ${s: -4:3} != -rc ]; echo $?)
%global post_release %([ %{commit} = Pacemaker-%{shortcommit} ]; echo $?)
%global github_owner ClusterLabs
# Turn off the auto compilation of python files not in the site-packages directory
# Needed so that the -devel package is multilib compliant
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
#%global rawhide %(test ! -e /etc/yum.repos.d/fedora-rawhide.repo; echo $?)
%global rawhide 0
#%%global cs_version %%(pkg-config corosync --modversion | awk -F . '{print $1}')
%global cs_version 2 %global cs_version 2
# It has to be eventually decided whether to use Python2 or Python3
%global py_site %{?python_sitearch}%{!?python_sitearch:%(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%global cman_native 0%{?el6} || (0%{?fedora} > 0 && 0%{?fedora} < 17)
# It's desired to apply "license" macro uniformly in "files" sections below,
# but RPM versions not aware of this new classification normally (re)define it
# to the value of "License:", so following is to ensure the macro definition
# is per expectation only after that tag; solution courtesy of Jason Tibbitts:
# https://pkgs.fedoraproject.org/cgit/rpms/epel-rpm-macros.git/tree/macros.zzz-epel?h=el6&id=e1adcb77b0c05a6c29bc0eb0c4e82113180a0a99#n12
%if !%{defined _licensedir}
%define description %{lua:
rpm.define("license %doc")
print("%description")
}
%endif
# Conditionals
# Invoke "rpmbuild --without <feature>" or "rpmbuild --with <feature>"
# to disable or enable specific features
# Legacy stonithd fencing agents
%bcond_with stonithd
%define with_stonithd 1
# Build with/without support for profiling tools
%bcond_with profiling
# Include Build with/without support for performing coverage analysis
%bcond_with coverage
# We generate docs using Publican, Asciidoc and Inkscape, but they're not available everywhere
%bcond_without doc
%define with_doc 0
# Use a different versioning scheme
%bcond_with pre_release
# Ship an Upstart job file
%bcond_with upstart_job
# Turn off cman support on platforms that normally ship with it
%bcond_without cman
%if %{with profiling}
# This disables -debuginfo package creation and also the stripping binaries/libraries
# Useful if you want sane profiling data
%global debug_package %{nil}
%endif
%if %{with pre_release} || 0%{pre_release}
%if 0%{pre_release}
%global pcmk_release 0.%{specversion}.%(s=%{shortcommit}; echo ${s: -3})
%else
%global pcmk_release 0.%{specversion}.%{shortcommit}.git
%endif
%else
%if 0%{post_release}
%global pcmk_release %{specversion}.%{shortcommit}.git
%else
%global pcmk_release %{specversion}
%endif
%endif
#%if 0%{?suse_version}
#%define _libexecdir %{_libdir}
#%endif
%define with_corosync_support 1
%define with_heartbeat_support 0
%define with_nagios 1 %define with_nagios 1
%define with_snmp 1 %define with_snmp 1
%define with_esmtp 1 %define with_esmtp 1
%define with_acl 1
%define with_cibsecrets 1 %define with_cibsecrets 1
%define enable_lib_cluster_pkg 0 %define enable_lib_cluster_pkg 0
%define enable_fatal_warnings 1 %define enable_fatal_warnings 0
%define with_regression_tests 0 %define with_regression_tests 0
# Conditionals
%if ! %{defined _rundir} # Invoke "rpmbuild --without <feature>" or "rpmbuild --with <feature>"
%define _rundir %{_localstatedir}/run # to disable or enable specific features
%endif # Legacy stonithd fencing agents
%bcond_without stonithd
# We generate docs using Publican, Asciidoc and Inkscape, but they're not available everywhere
%bcond_with doc
Name: pacemaker Name: pacemaker
Summary: Scalable High-Availability cluster resource manager Version: 1.1.15+git20160701.630d0d1
%if %{defined _unitdir}
License: GPL-2.0 and GPL-2.0+ and LGPL-2.1+
%else
# initscript is Revised BSD
License: GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and BSD-3-Clause
%endif
# AGPL-3.0 licensed extra/clustermon.sh is not present in the binary
Group: Productivity/Clustering/HA
Version: %{pcmkversion}
Release: 0 Release: 0
#Release: %{pcmk_release}%{?dist} Summary: Scalable High-Availability cluster resource manager
License: GPL-2.0 and GPL-2.0+ and LGPL-2.1+
Group: Productivity/Clustering/HA
# AGPL-3.0 licensed extra/clustermon.sh is not present in the binary
Url: http://www.clusterlabs.org Url: http://www.clusterlabs.org
# eg. https://github.com/ClusterLabs/pacemaker/archive/8ae45302394b039fb098e150f156df29fc0cb576/pacemaker-8ae4530.tar.gz
#Source0: https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
Source0: %{name}-%{version}.tar.bz2 Source0: %{name}-%{version}.tar.bz2
Source1: crm_report.in Source1: crm_report.in
Source100: pacemaker.rpmlintrc Source100: pacemaker.rpmlintrc
@ -155,137 +55,81 @@ Patch6: bug-812269_pacemaker-fencing-device-register-messages.patch
Patch7: pacemaker-Wno-format-signedness.patch Patch7: pacemaker-Wno-format-signedness.patch
Patch8: bug-943295_pacemaker-lrmd-log-notice.patch Patch8: bug-943295_pacemaker-lrmd-log-notice.patch
Patch9: bug-977201_pacemaker-controld-self-fencing.patch Patch9: bug-977201_pacemaker-controld-self-fencing.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build # Required for core functionality (python-devel depends on python)
Provides: pacemaker-ticket-support = 2.0 BuildRequires: autoconf
Conflicts: heartbeat < 3.0 BuildRequires: automake
Conflicts: libheartbeat2 < 3.0.0 BuildRequires: bison
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: help2man
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: python
# Required for agent_config.h which specifies the correct scratch directory
BuildRequires: resource-agents
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(corosync)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(libexslt)
# We need reasonably recent versions of libqb
BuildRequires: pkgconfig(libqb) > 0.11.0
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(python)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(uuid)
Requires: %{name}-cli = %{version}-%{release} Requires: %{name}-cli = %{version}-%{release}
Requires: corosync
Requires: libpacemaker3 = %{version}-%{release} Requires: libpacemaker3 = %{version}-%{release}
%if %{enable_lib_cluster_pkg} Requires: libqb > 0.11.0
Requires: libpacemaker3-cluster = %{version}-%{release}
%endif
Requires: psmisc Requires: psmisc
Requires: python Requires: python
Requires: resource-agents Requires: resource-agents
Recommends: crmsh Recommends: crmsh
Recommends: libdlm
Recommends: fence-agents Recommends: fence-agents
Recommends: libdlm
Recommends: sbd Recommends: sbd
Suggests: graphviz Suggests: graphviz
Conflicts: heartbeat < 3.0
%if %{defined systemd_requires} Conflicts: libheartbeat2 < 3.0.0
%systemd_requires Provides: pacemaker-ticket-support = 2.0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{?systemd_requires}
%if %{enable_lib_cluster_pkg}
Requires: libpacemaker3-cluster = %{version}-%{release}
%endif %endif
%if 0%{?rhel} > 0
ExclusiveArch: i386 i686 x86_64
%endif
# Required for core functionality (python-devel depends on python)
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: pkgconfig(glib-2.0)
%if 0%{?suse_version}
BuildRequires: libbz2-devel
%else
BuildRequires: bzip2-devel
%endif
BuildRequires: libtool
BuildRequires: libtool-ltdl-devel
BuildRequires: libuuid-devel
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: python
BuildRequires: python-devel
# Required for agent_config.h which specifies the correct scratch directory
BuildRequires: resource-agents
# We need reasonably recent versions of libqb
BuildRequires: libqb-devel > 0.11.0
Requires: libqb > 0.11.0
# Enables optional functionality # Enables optional functionality
BuildRequires: bison
#BuildRequires: byacc
BuildRequires: pkgconfig(dbus-1)
%if 0%{?suse_version} > 1100 %if 0%{?suse_version} > 1100
BuildRequires: docbook-xsl-stylesheets BuildRequires: docbook-xsl-stylesheets
%else %else
BuildRequires: docbook-style-xsl BuildRequires: docbook-style-xsl
%endif %endif
%if %{with stonithd}
BuildRequires: flex %if 0%{?suse_version}
%if 0%{?suse_version} > 1210
BuildRequires: libgnutls-devel
%else
BuildRequires: gnutls-devel
%endif
BuildRequires: help2man
BuildRequires: libselinux-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: pkgconfig(systemd)
%if %{with cman} && %{cman_native}
BuildRequires: clusterlib-devel
# pacemaker initscript: cman initscript, fence_tool (+ some soft-dependencies)
# "post" scriptlet: ccs_update_schema
Requires: cman
%endif
%if %with_corosync_support
Requires: corosync
#BuildRequires: corosynclib-devel
BuildRequires: libcorosync-devel
%endif
%if %with_heartbeat_support
BuildRequires: heartbeat-devel
Requires: heartbeat
%endif
#%if %{with stonithd}
%if %{with_stonithd}
#BuildRequires: cluster-glue-libs-devel
BuildRequires: libglue-devel BuildRequires: libglue-devel
%else
BuildRequires: cluster-glue-libs-devel
%endif %endif
%endif
%if !0%{?rawhide} %if %{with doc}
# More often than not, inkscape is busted on rawhide, don't even bother
#%if %{with doc}
%if %{with_doc}
%ifarch %{ix86} x86_64
BuildRequires: asciidoc BuildRequires: asciidoc
BuildRequires: inkscape BuildRequires: inkscape
BuildRequires: publican BuildRequires: publican
%endif %endif
%endif %if %{with_snmp}
%if %with_snmp
BuildRequires: net-snmp-devel BuildRequires: net-snmp-devel
%endif %endif
%if %{with_esmtp}
%if %with_esmtp
BuildRequires: libesmtp-devel BuildRequires: libesmtp-devel
%endif %endif
%if %{with_regression_tests}
%if %with_regression_tests
BuildRequires: procps BuildRequires: procps
BuildRequires: python-curses BuildRequires: python-curses
BuildRequires: python-xml BuildRequires: python-xml
BuildRequires: vim-base
%endif
%endif %endif
%description %description
@ -299,13 +143,11 @@ It will run scripts at initialization, when machines go up or down,
when related resources fail and can be configured to periodically check when related resources fail and can be configured to periodically check
resource health. resource health.
Available rpmbuild rebuild options:
--with(out) : cman stonithd doc coverage profiling pre_release upstart_job
%package cli %package cli
Summary: Command line tools for controlling Pacemaker clusters Summary: Command line tools for controlling Pacemaker clusters
Group: Productivity/Clustering/HA Group: Productivity/Clustering/HA
Requires: libpacemaker3 = %{version}-%{release} Requires: libpacemaker3 = %{version}-%{release}
Requires: logrotate
Requires: perl-TimeDate Requires: perl-TimeDate
%description cli %description cli
@ -347,9 +189,7 @@ Group: Productivity/Clustering/HA
Requires: %{name}-cli = %{version}-%{release} Requires: %{name}-cli = %{version}-%{release}
Requires: libpacemaker3 = %{version}-%{release} Requires: libpacemaker3 = %{version}-%{release}
Requires: resource-agents Requires: resource-agents
%if %{defined systemd_requires} %{?systemd_requires}
%systemd_requires
%endif
%description remote %description remote
Pacemaker is an advanced, scalable High-Availability cluster resource Pacemaker is an advanced, scalable High-Availability cluster resource
@ -363,25 +203,20 @@ nodes not running the full corosync/cluster stack.
Summary: Pacemaker development package Summary: Pacemaker development package
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{name}-cts = %{version}-%{release} Requires: %{name}-cts = %{version}-%{release}
Requires: glib2-devel
%if 0%{?suse_version}
Requires: libbz2-devel
%else
Requires: bzip2-devel
%endif
Requires: libcorosync-devel
Requires: libpacemaker3 = %{version}-%{release} Requires: libpacemaker3 = %{version}-%{release}
Requires: libtool-ltdl-devel
Requires: pkgconfig
Requires: pkgconfig(bzip2)
Requires: pkgconfig(corosync)
Requires: pkgconfig(glib-2.0)
Requires: pkgconfig(libqb)
Requires: pkgconfig(libxml-2.0)
Requires: pkgconfig(libxslt)
Requires: pkgconfig(uuid)
%if %{enable_lib_cluster_pkg} %if %{enable_lib_cluster_pkg}
Requires: libpacemaker3-cluster = %{version}-%{release} Requires: libpacemaker3-cluster = %{version}-%{release}
%endif %endif
Requires: libqb-devel %if %{with_regression_tests}
Requires: libtool-ltdl-devel
Requires: libuuid-devel
Requires: libxml2-devel
Requires: libxslt-devel
%if %with_regression_tests
# For the regression tests, we can run them only if all pacemaker # For the regression tests, we can run them only if all pacemaker
# packages are installed, so we pull that in here for the regression # packages are installed, so we pull that in here for the regression
# builds; this is supposed to be disabled for shipping code. # builds; this is supposed to be disabled for shipping code.
@ -396,28 +231,15 @@ The libpacemaker-devel package contains headers and shared libraries
for developing tools for Pacemaker. for developing tools for Pacemaker.
%package cts %package cts
Summary: Test framework for cluster-related technologies like Pacemaker Summary: Test framework for cluster-related technologies
Group: Productivity/Clustering/HA Group: Productivity/Clustering/HA
Requires: libpacemaker3 = %{version}-%{release} Requires: libpacemaker3 = %{version}-%{release}
Requires: python Requires: python
# systemd python bindings are separate package in some distros
%if %{defined systemd_requires}
%if 0%{?fedora} > 20
Requires: systemd-python
%endif
%if 0%{?rhel} > 6
Requires: systemd-python
%endif
%endif
%description cts %description cts
Test framework for cluster-related technologies like Pacemaker Test framework for cluster-related technologies like Pacemaker
%if %{with_doc} %if %{with doc}
%package doc %package doc
Summary: Documentation for Pacemaker Summary: Documentation for Pacemaker
Group: Productivity/Clustering/HA Group: Productivity/Clustering/HA
@ -430,8 +252,7 @@ manager for Corosync, CMAN and/or Linux-HA.
%endif %endif
%prep %prep
#%setup -q -n %{name}-%{commit} %setup -q
%setup -q -n %{name}-%{version}
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
@ -442,238 +263,139 @@ manager for Corosync, CMAN and/or Linux-HA.
%patch8 -p1 %patch8 -p1
%patch9 -p1 %patch9 -p1
# Force the local time
#
# 'git' sets the file date to the date of the last commit.
# This can result in files having been created in the future
# when building on machines in timezones 'behind' the one the
# commit occurred in - which seriously confuses 'make'
find . -exec touch \{\} \;
%build %build
./autogen.sh autoreconf -fvi
# RHEL <= 5 does not support --docdir %configure \
docdir=%{pcmk_docdir} %{configure} \ --docdir=%{_docdir}/%{name} \
%{?with_profiling: --with-profiling} \ --disable-static \
%{?with_coverage: --with-coverage} \ --disable-silent-rules \
%{!?with_cman: --without-cman} \ --without-profiling \
%if !%with_heartbeat_support --without-coverage \
--without-heartbeat \ --without-cman \
%endif --without-heartbeat \
%if %with_nagios --with-acl=true \
%if %{with_nagios}
--with-nagios=true \ --with-nagios=true \
%endif %endif
%if %with_snmp %if %{with_snmp}
--with-snmp=true \ --with-snmp=true \
%endif %endif
%if %with_esmtp %if %{with_esmtp}
--with-esmtp=true \ --with-esmtp=true \
%endif %endif
%if %with_acl %if %{with_cibsecrets}
--with-acl=true \
%endif
%if %with_cibsecrets
--with-cibsecrets=true \ --with-cibsecrets=true \
%endif %endif
%if !%enable_fatal_warnings %if !%{enable_fatal_warnings}
--enable-fatal-warnings=no \ --enable-fatal-warnings=no \
%endif %endif
%{!?with_doc: --with-brand=} \ %{!?with_doc: --with-brand=} \
--with-initdir=%{_initrddir} \ --with-initdir=%{_initddir} \
--localstatedir=%{_var} \ --localstatedir=%{_var} \
--with-version=%{version}-%{release} --with-version=%{version}-%{release}
%if 0%{?suse_version} >= 1200 make %{?_smp_mflags} all
# Fedora handles rpath removal automagically
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%endif
make %{_smp_mflags} V=1 docdir=%{pcmk_docdir} all
%install %install
rm -rf %{buildroot} %make_install
make DESTDIR=%{buildroot} docdir=%{pcmk_docdir} V=1 install
#mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig install -d -m755 %{buildroot}%{_localstatedir}/adm/fillup-templates
install -d -m755 $RPM_BUILD_ROOT/var/adm/fillup-templates install -m 644 mcp/pacemaker.sysconfig %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.pacemaker
#install -m 644 mcp/pacemaker.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/pacemaker install -m 644 tools/crm_mon.sysconfig %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.crm_mon
install -m 644 mcp/pacemaker.sysconfig $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.pacemaker
#install -m 644 tools/crm_mon.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/crm_mon
install -m 644 tools/crm_mon.sysconfig $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.crm_mon
%if %{with upstart_job}
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/init
install -m 644 mcp/pacemaker.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.conf
install -m 644 mcp/pacemaker.combined.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.combined.conf
install -m 644 tools/crm_mon.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/crm_mon.conf
%endif
# Scripts that should be executable # Scripts that should be executable
chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/CTSlab.py chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/CTSlab.py
# These are not actually scripts # These are not actually scripts
find %{buildroot} -name '*.xml' -type f -print0 | xargs -0 chmod a-x find %{buildroot} -name '*.xml' -type f -print0 | xargs -0 chmod a-x
find %{buildroot} -name '*.xsl' -type f -print0 | xargs -0 chmod a-x
find %{buildroot} -name '*.rng' -type f -print0 | xargs -0 chmod a-x
find %{buildroot} -name '*.dtd' -type f -print0 | xargs -0 chmod a-x
# Don't package static libs find %{buildroot} -type f -name "*.la" -delete -print
find %{buildroot} -name '*.a' -type f -print0 | xargs -0 rm -f
find %{buildroot} -name '*.la' -type f -print0 | xargs -0 rm -f
# Do not package these either
rm -f %{buildroot}/%{_libdir}/service_crm.so rm -f %{buildroot}/%{_libdir}/service_crm.so
# Don't ship init scripts for systemd based platforms # Don't ship init scripts for systemd based platforms
%if %{defined _unitdir} rm -f %{buildroot}/%{_initddir}/pacemaker
rm -f %{buildroot}/%{_initrddir}/pacemaker rm -f %{buildroot}/%{_initddir}/pacemaker_remote
rm -f %{buildroot}/%{_initrddir}/pacemaker_remote
# Don't ship fence_pcmk where it has no use # Don't ship fence_pcmk where it has no use
%if %{without cman}
rm -f %{buildroot}/%{_sbindir}/fence_pcmk rm -f %{buildroot}/%{_sbindir}/fence_pcmk
%endif
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcpacemaker ln -s service %{buildroot}%{_sbindir}/rcpacemaker
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcpacemaker_remote ln -s service %{buildroot}%{_sbindir}/rcpacemaker_remote
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccrm_mon ln -s service %{buildroot}%{_sbindir}/rccrm_mon
%endif
mv %{buildroot}%{_sbindir}/crm_report %{buildroot}%{_sbindir}/crm_report.pacemaker mv %{buildroot}%{_sbindir}/crm_report %{buildroot}%{_sbindir}/crm_report.pacemaker
install -m 755 %{S:1} %{buildroot}%{_sbindir}/crm_report install -m 755 %{SOURCE1} %{buildroot}%{_sbindir}/crm_report
%if %{with coverage} %fdupes -s %{buildroot}
GCOV_BASE=%{buildroot}/%{_var}/lib/pacemaker/gcov
mkdir -p $GCOV_BASE
find . -name '*.gcno' -type f | while read F ; do
D=`dirname $F`
mkdir -p ${GCOV_BASE}/$D
cp $F ${GCOV_BASE}/$D
done
%endif
%if %{defined _unitdir} %check
# Prevent false positives in rpmlint
./BasicSanity.sh -V pengine cli 2>&1
%post %post
#%systemd_post pacemaker.service
%service_add_post pacemaker.service %service_add_post pacemaker.service
%pre %pre
%service_add_pre pacemaker.service %service_add_pre pacemaker.service
%preun %preun
#%systemd_preun pacemaker.service
%service_del_preun pacemaker.service %service_del_preun pacemaker.service
%postun %postun
#%systemd_postun_with_restart pacemaker.service
%service_del_postun pacemaker.service %service_del_postun pacemaker.service
%post remote %post remote
#%systemd_post pacemaker_remote.service
%service_add_post pacemaker_remote.service %service_add_post pacemaker_remote.service
%pre remote %pre remote
%service_add_pre pacemaker_remote.service %service_add_pre pacemaker_remote.service
%preun remote %preun remote
#%systemd_preun pacemaker_remote.service
%service_del_preun pacemaker_remote.service %service_del_preun pacemaker_remote.service
%postun remote %postun remote
#%systemd_postun_with_restart pacemaker_remote.service
%service_del_postun pacemaker_remote.service %service_del_postun pacemaker_remote.service
%post cli %post cli
%fillup_only pacemaker
if [ ! -e %{_sysconfdir}/sysconfig/pacemaker ]; then
%fillup_only pacemaker
fi
#%systemd_post crm_mon.service
%service_add_post crm_mon.service %service_add_post crm_mon.service
%fillup_only crm_mon
if [ ! -e %{_sysconfdir}/sysconfig/crm_mon ]; then
%fillup_only crm_mon
fi
%pre cli %pre cli
%service_add_pre crm_mon.service %service_add_pre crm_mon.service
%preun cli %preun cli
#%systemd_preun crm_mon.service
%service_del_preun crm_mon.service %service_del_preun crm_mon.service
%postun cli %postun cli
#%systemd_postun_with_restart crm_mon.service
%service_del_postun crm_mon.service %service_del_postun crm_mon.service
%else
%post
/sbin/chkconfig --add pacemaker || :
%if %{with cman} && %{cman_native}
# make fence_pcmk in cluster.conf valid instantly otherwise tools like ccs may
# choke (until schema gets auto-regenerated on the next start of cluster),
# per the protocol shared with other packages contributing to cluster.rng
/usr/sbin/ccs_update_schema >/dev/null 2>&1 || :
%endif
%preun
/sbin/service pacemaker stop || :
if [ $1 -eq 0 ]; then
# Package removal, not upgrade
/sbin/chkconfig --del pacemaker || :
fi
%post remote
/sbin/chkconfig --add pacemaker_remote || :
%preun remote
/sbin/service pacemaker_remote stop &>/dev/null || :
if [ $1 -eq 0 ]; then
# Package removal, not upgrade
/sbin/chkconfig --del pacemaker_remote || :
fi
%post cli
if [ ! -e %{_sysconfdir}/sysconfig/pacemaker ]; then
%fillup_only pacemaker
fi
%endif
%pre -n libpacemaker3 %pre -n libpacemaker3
getent group %{gname} >/dev/null || groupadd -r %{gname} -g 189 getent group %{gname} >/dev/null || groupadd -r %{gname} -g 189
getent passwd %{uname} >/dev/null || useradd -r -g %{gname} -u 189 -s /sbin/nologin -c "cluster user" %{uname} getent passwd %{uname} >/dev/null || useradd -r -g %{gname} -u 189 -s /sbin/nologin -c "cluster user" %{uname}
exit 0 exit 0
%post -n libpacemaker3 -p /sbin/ldconfig %post -n libpacemaker3 -p /sbin/ldconfig
%postun -n libpacemaker3 -p /sbin/ldconfig %postun -n libpacemaker3 -p /sbin/ldconfig
%if %{enable_lib_cluster_pkg} %if %{enable_lib_cluster_pkg}
%post -n libpacemaker3-cluster -p /sbin/ldconfig %post -n libpacemaker3-cluster -p /sbin/ldconfig
%postun -n libpacemaker3-cluster -p /sbin/ldconfig %postun -n libpacemaker3-cluster -p /sbin/ldconfig
%endif %endif
%if %with_regression_tests %if %{with_regression_tests}
%post -n libpacemaker-devel %post -n libpacemaker-devel
if [ ! -e /tmp/.pcmk_regression_tests_ran ]; then if [ ! -e /tmp/.pcmk_regression_tests_ran ]; then
touch /tmp/.pcmk_regression_tests_ran touch /tmp/.pcmk_regression_tests_ran
# Needed so that the shell doesn't get stuck on escape # Needed so that the shell doesn't get stuck on escape
# sequences # sequences
export TERM=dumb export TERM=dumb
/usr/share/pacemaker/tests/cli/regression.sh || true %{_datadir}/pacemaker/tests/cli/regression.sh || true
/usr/share/pacemaker/tests/pengine/regression.sh -V || true %{_datadir}/pacemaker/tests/pengine/regression.sh -V || true
echo Now running shell regression tests ; date echo Now running shell regression tests ; date
if ! /usr/share/pacemaker/tests/shell/regression.sh ; then if ! %{_datadir}/pacemaker/tests/shell/regression.sh ; then
echo "Shell tests failed." echo "Shell tests failed."
cat crmtestout/regression.out cat crmtestout/regression.out
fi fi
@ -681,18 +403,11 @@ fi
%endif %endif
%files %files
###########################################################
%defattr(-,root,root) %defattr(-,root,root)
#%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker
%{_sbindir}/pacemakerd %{_sbindir}/pacemakerd
%if %{defined _unitdir}
%{_unitdir}/pacemaker.service %{_unitdir}/pacemaker.service
%{_sbindir}/rcpacemaker %{_sbindir}/rcpacemaker
%else
%{_initrddir}/pacemaker
%endif
%exclude %{_libexecdir}/pacemaker/lrmd_test %exclude %{_libexecdir}/pacemaker/lrmd_test
%exclude %{_sbindir}/pacemaker_remoted %exclude %{_sbindir}/pacemaker_remoted
@ -701,40 +416,29 @@ fi
%{_sbindir}/crm_node %{_sbindir}/crm_node
%{_sbindir}/fence_legacy %{_sbindir}/fence_legacy
%if %{with cman}
%{_sbindir}/fence_pcmk
%endif
%{_sbindir}/stonith_admin %{_sbindir}/stonith_admin
%doc %{_mandir}/man7/crmd.* %{_mandir}/man7/crmd.7%{ext_man}
%doc %{_mandir}/man7/pengine.* %{_mandir}/man7/pengine.7%{ext_man}
%doc %{_mandir}/man7/stonithd.* %{_mandir}/man7/stonithd.7%{ext_man}
%if %{without cman} || !%{cman_native} %{_mandir}/man7/ocf_pacemaker_controld.7%{ext_man}
%doc %{_mandir}/man7/ocf_pacemaker_controld.* %{_mandir}/man7/ocf_pacemaker_o2cb.7%{ext_man}
%endif %{_mandir}/man7/ocf_pacemaker_remote.7%{ext_man}
%doc %{_mandir}/man7/ocf_pacemaker_o2cb.* %{_mandir}/man8/crm_node.8%{ext_man}
%doc %{_mandir}/man7/ocf_pacemaker_remote.* %{_mandir}/man8/fence_legacy.8%{ext_man}
%doc %{_mandir}/man8/crm_node.* %{_mandir}/man8/pacemakerd.8%{ext_man}
%if %{with cman} %{_mandir}/man8/stonith_admin.8%{ext_man}
%doc %{_mandir}/man8/fence_pcmk.*
%endif
%doc %{_mandir}/man8/fence_legacy.*
%doc %{_mandir}/man8/pacemakerd.*
%doc %{_mandir}/man8/stonith_admin.*
#%license COPYING %doc %{_datadir}/pacemaker/alerts
%doc COPYING
%doc AUTHORS %doc COPYING AUTHORS ChangeLog
%doc ChangeLog
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/cib %dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/cib
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/pengine %dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/pengine
%if %{without cman} || !%{cman_native} %{_libexecdir}/ocf/resource.d/pacemaker/controld
/usr/lib/ocf/resource.d/pacemaker/controld %{_libexecdir}/ocf/resource.d/pacemaker/o2cb
%endif %{_libexecdir}/ocf/resource.d/pacemaker/remote
/usr/lib/ocf/resource.d/pacemaker/o2cb %{_libexecdir}/ocf/resource.d/.isolation
/usr/lib/ocf/resource.d/pacemaker/remote
/usr/lib/ocf/resource.d/.isolation
%if "%{?cs_version}" != "UNKNOWN" %if "%{?cs_version}" != "UNKNOWN"
%if 0%{?cs_version} < 2 %if 0%{?cs_version} < 2
@ -742,26 +446,11 @@ fi
%endif %endif
%endif %endif
%if %{with upstart_job}
%config(noreplace) %{_sysconfdir}/init/pacemaker.conf
%config(noreplace) %{_sysconfdir}/init/pacemaker.combined.conf
%endif
%files cli %files cli
%defattr(-,root,root) %defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/logrotate.d/pacemaker %config(noreplace) %{_sysconfdir}/logrotate.d/pacemaker
#%config(noreplace) %{_sysconfdir}/sysconfig/crm_mon
%if %{defined _unitdir}
%{_unitdir}/crm_mon.service %{_unitdir}/crm_mon.service
%{_sbindir}/rccrm_mon %{_sbindir}/rccrm_mon
%endif
%if %{with upstart_job}
%config(noreplace) %{_sysconfdir}/init/crm_mon.conf
%endif
%{_sbindir}/attrd_updater %{_sbindir}/attrd_updater
%{_sbindir}/cibadmin %{_sbindir}/cibadmin
%{_sbindir}/crm_attribute %{_sbindir}/crm_attribute
@ -780,28 +469,29 @@ fi
%{_sbindir}/crm_report %{_sbindir}/crm_report
%{_sbindir}/crm_report.pacemaker %{_sbindir}/crm_report.pacemaker
%{_sbindir}/crm_ticket %{_sbindir}/crm_ticket
%exclude %{_datadir}/pacemaker/alerts
%exclude %{_datadir}/pacemaker/tests %exclude %{_datadir}/pacemaker/tests
%{_datadir}/pacemaker %{_datadir}/pacemaker
%{_datadir}/snmp/mibs/PCMK-MIB.txt %{_datadir}/snmp/mibs/PCMK-MIB.txt
%exclude /usr/lib/ocf/resource.d/pacemaker/controld %exclude %{_libexecdir}/ocf/resource.d/pacemaker/controld
%exclude /usr/lib/ocf/resource.d/pacemaker/o2cb %exclude %{_libexecdir}/ocf/resource.d/pacemaker/o2cb
%exclude /usr/lib/ocf/resource.d/pacemaker/remote %exclude %{_libexecdir}/ocf/resource.d/pacemaker/remote
%dir /usr/lib/ocf %dir %{_libexecdir}/ocf
%dir /usr/lib/ocf/resource.d %dir %{_libexecdir}/ocf/resource.d
/usr/lib/ocf/resource.d/pacemaker %{_libexecdir}/ocf/resource.d/pacemaker
%config(noreplace) /var/adm/fillup-templates/sysconfig.pacemaker %config(noreplace) %{_localstatedir}/adm/fillup-templates/sysconfig.pacemaker
%config(noreplace) /var/adm/fillup-templates/sysconfig.crm_mon %config(noreplace) %{_localstatedir}/adm/fillup-templates/sysconfig.crm_mon
%doc %{_mandir}/man7/* %{_mandir}/man7/*
%exclude %{_mandir}/man7/crmd.* %exclude %{_mandir}/man7/crmd.*
%exclude %{_mandir}/man7/pengine.* %exclude %{_mandir}/man7/pengine.*
%exclude %{_mandir}/man7/stonithd.* %exclude %{_mandir}/man7/stonithd.*
%exclude %{_mandir}/man7/ocf_pacemaker_controld.* %exclude %{_mandir}/man7/ocf_pacemaker_controld.*
%exclude %{_mandir}/man7/ocf_pacemaker_o2cb.* %exclude %{_mandir}/man7/ocf_pacemaker_o2cb.*
%exclude %{_mandir}/man7/ocf_pacemaker_remote.* %exclude %{_mandir}/man7/ocf_pacemaker_remote.*
%doc %{_mandir}/man8/* %{_mandir}/man8/*
%exclude %{_mandir}/man8/crm_node.* %exclude %{_mandir}/man8/crm_node.*
%exclude %{_mandir}/man8/fence_pcmk.* %exclude %{_mandir}/man8/fence_pcmk.*
%exclude %{_mandir}/man8/fence_legacy.* %exclude %{_mandir}/man8/fence_legacy.*
@ -809,10 +499,7 @@ fi
%exclude %{_mandir}/man8/pacemaker_remoted.* %exclude %{_mandir}/man8/pacemaker_remoted.*
%exclude %{_mandir}/man8/stonith_admin.* %exclude %{_mandir}/man8/stonith_admin.*
#%license COPYING %doc COPYING AUTHORS ChangeLog
%doc COPYING
%doc AUTHORS
%doc ChangeLog
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker %dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/blackbox %dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/blackbox
@ -830,38 +517,25 @@ fi
%{_libdir}/libpengine.so.* %{_libdir}/libpengine.so.*
%{_libdir}/libstonithd.so.* %{_libdir}/libstonithd.so.*
%{_libdir}/libtransitioner.so.* %{_libdir}/libtransitioner.so.*
#%license COPYING.LIB %doc COPYING.LIB AUTHORS
%doc COPYING.LIB
%doc AUTHORS
%{_libdir}/libcrmcluster.so.* %{_libdir}/libcrmcluster.so.*
%if %{enable_lib_cluster_pkg} %if %{enable_lib_cluster_pkg}
%files -n libpacemaker3-cluster %files -n libpacemaker3-cluster
%defattr(-,root,root) %defattr(-,root,root)
#%{_libdir}/libcrmcluster.so.* %{_libdir}/libcrmcluster.so.*
#%license COPYING.LIB %doc COPYING.LIB AUTHORS
%doc COPYING.LIB
%doc AUTHORS
%endif %endif
%files remote %files remote
%defattr(-,root,root) %defattr(-,root,root)
#%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker
%if %{defined _unitdir}
%{_unitdir}/pacemaker_remote.service %{_unitdir}/pacemaker_remote.service
%{_sbindir}/rcpacemaker_remote %{_sbindir}/rcpacemaker_remote
%else
%{_initrddir}/pacemaker_remote
%endif
%{_sbindir}/pacemaker_remoted %{_sbindir}/pacemaker_remoted
%{_mandir}/man8/pacemaker_remoted.* %{_mandir}/man8/pacemaker_remoted.8%{ext_man}
#%license COPYING %doc COPYING AUTHORS
%doc COPYING
%doc AUTHORS
%if %{with_doc} %if %{with doc}
%files doc %files doc
%defattr(-,root,root) %defattr(-,root,root)
%doc %{pcmk_docdir} %doc %{pcmk_docdir}
@ -869,13 +543,10 @@ fi
%files cts %files cts
%defattr(-,root,root) %defattr(-,root,root)
#%{py_site}/cts
%{py_sitedir}/cts %{py_sitedir}/cts
%{_datadir}/pacemaker/tests/cts %{_datadir}/pacemaker/tests/cts
%{_libexecdir}/pacemaker/lrmd_test %{_libexecdir}/pacemaker/lrmd_test
#%license COPYING %doc COPYING AUTHORS
%doc COPYING
%doc AUTHORS
%files -n libpacemaker-devel %files -n libpacemaker-devel
%defattr(-,root,root) %defattr(-,root,root)
@ -883,12 +554,7 @@ fi
%{_datadir}/pacemaker/tests %{_datadir}/pacemaker/tests
%{_includedir}/pacemaker %{_includedir}/pacemaker
%{_libdir}/*.so %{_libdir}/*.so
%if %{with coverage}
%{_var}/lib/pacemaker/gcov
%endif
%{_libdir}/pkgconfig/*.pc %{_libdir}/pkgconfig/*.pc
#%license COPYING.LIB %doc COPYING.LIB AUTHORS
%doc COPYING.LIB
%doc AUTHORS
%changelog %changelog