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
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="revision">389294fd1ebefddad67fff51306f585b758ca860</param>
<param name="versionformat">1.1.15+git%cd.%h</param>
<param name="revision">630d0d112092042b6f79c2a02bb442e82fee93ec</param>
</service>
<service name="recompress" mode="disabled">

View File

@ -1,23 +1,19 @@
commit f61b9889cd169ce2c715a5cc4808321977432ec0
commit c199dc320b4faa01c19df68a9f2566465f5afa2c
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
diff --git a/extra/resources/controld b/extra/resources/controld
index 7d75319..908e2ca 100644
index ddb514a..37d5c62 100644
--- a/extra/resources/controld
+++ b/extra/resources/controld
@@ -229,13 +229,9 @@ controld_monitor() {
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
@@ -232,10 +232,6 @@ controld_monitor() {
if [ -n "$smw" ] && [ $smw -eq 1 ]; then
ocf_log err "DLM status is: stateful_merge_wait"
rc=$OCF_ERR_GENERIC
- 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"
- rc=$OCF_ERR_GENERIC
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
@ -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)
- controld: improve DLM check with stateful_merge_wait (bsc#977201)
- attrd, libcrmcommon: validate attrd requests better
- crmd: clear remote node transient attributes on disconnect
- Revert "Fix: attrd: Correctly implement mass removal of a node's attributes"
- crmd: clear remote node transient attributes on disconnect (bsc#981489)
- Revert "Fix: attrd: Correctly implement mass removal of a node's attributes" (bsc#981489)
- crm_mon: Fix time formatting on x32
- resources: use OCF version tagging correctly
- 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: 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)
- 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)
- pengine: Consider resource failed if any of the configured monitor operations failed (bsc#972187)
- 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)
- liblrmd: Prevent potential use-after-free issues (bsc#964183)
- PE: Fix conditions for internal sanity check (bsc#971129)
- attrd: ensure remote nodes are in correct peer cache
- crmd: set remote flag when gracefully shutting down remote nodes
- attrd: ensure remote nodes are in correct peer cache (bsc#981489)
- crmd: set remote flag when gracefully shutting down remote nodes (bsc#981489)
- fencing: Correctly track active stonith actions (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)
@ -147,13 +265,13 @@ Thu Feb 11 13:28:13 UTC 2016 - ygao@suse.com
- spec: C++ compiler is not something currently needed
- RHBZ#1286316: Do an ordered shutdown of systemd resources
- 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
- crmd: Set the shutdown transient attribute in response to LRMD_IPC_OP_SHUTDOWN_REQ from remote nodes
- PE: Honor the shutdown transient attributes for remote nodes
- pacemaker_remote: support graceful stops
- crmd: support graceful pacemaker_remote stops
- lrmd,liblrmd: add lrmd IPC operations for requesting and acknowledging shutdown
- 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 (bsc#981489)
- pacemaker_remote: support graceful stops (bsc#981489)
- crmd: support graceful pacemaker_remote stops (bsc#981489)
- lrmd,liblrmd: add lrmd IPC operations for requesting and acknowledging shutdown (bsc#981489)
- fencing: Support concurrent fencing actions on each device (bsc#938545)
- pengine: Support concurrent fencing (bsc#938545)
- 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
- cibadmin: Prevent potential use-of-NULL in print_xml_output() (bsc#947180)
- 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
- PE: resolve memory leak
- 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
- 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
- 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
- attrd: refresh should force an immediate write-out of all attributes
- 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: Remote-node throttle jobs count towards cluster-node hosting conneciton rsc
- 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
- crmd: Fixes crash when remote connection migration fails
- 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/.*\.dtd")
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-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 uname hacluster
%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
# 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_snmp 1
%define with_esmtp 1
%define with_acl 1
%define with_cibsecrets 1
%define enable_lib_cluster_pkg 0
%define enable_fatal_warnings 1
%define enable_fatal_warnings 0
%define with_regression_tests 0
%if ! %{defined _rundir}
%define _rundir %{_localstatedir}/run
%endif
# Conditionals
# Invoke "rpmbuild --without <feature>" or "rpmbuild --with <feature>"
# to disable or enable specific features
# 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
Summary: Scalable High-Availability cluster resource manager
%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}
Version: 1.1.15+git20160701.630d0d1
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
#Source0: https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
# eg. https://github.com/ClusterLabs/pacemaker/archive/8ae45302394b039fb098e150f156df29fc0cb576/pacemaker-8ae4530.tar.gz
Source0: %{name}-%{version}.tar.bz2
Source1: crm_report.in
Source100: pacemaker.rpmlintrc
@ -155,137 +55,81 @@ Patch6: bug-812269_pacemaker-fencing-device-register-messages.patch
Patch7: pacemaker-Wno-format-signedness.patch
Patch8: bug-943295_pacemaker-lrmd-log-notice.patch
Patch9: bug-977201_pacemaker-controld-self-fencing.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: pacemaker-ticket-support = 2.0
Conflicts: heartbeat < 3.0
Conflicts: libheartbeat2 < 3.0.0
# Required for core functionality (python-devel depends on python)
BuildRequires: autoconf
BuildRequires: automake
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: corosync
Requires: libpacemaker3 = %{version}-%{release}
%if %{enable_lib_cluster_pkg}
Requires: libpacemaker3-cluster = %{version}-%{release}
%endif
Requires: libqb > 0.11.0
Requires: psmisc
Requires: python
Requires: resource-agents
Recommends: crmsh
Recommends: libdlm
Recommends: fence-agents
Recommends: libdlm
Recommends: sbd
Suggests: graphviz
%if %{defined systemd_requires}
%systemd_requires
Conflicts: heartbeat < 3.0
Conflicts: libheartbeat2 < 3.0.0
Provides: pacemaker-ticket-support = 2.0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{?systemd_requires}
%if %{enable_lib_cluster_pkg}
Requires: libpacemaker3-cluster = %{version}-%{release}
%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
BuildRequires: bison
#BuildRequires: byacc
BuildRequires: pkgconfig(dbus-1)
%if 0%{?suse_version} > 1100
BuildRequires: docbook-xsl-stylesheets
%else
BuildRequires: docbook-style-xsl
%endif
BuildRequires: flex
%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
%if %{with stonithd}
%if 0%{?suse_version}
BuildRequires: libglue-devel
%else
BuildRequires: cluster-glue-libs-devel
%endif
%if !0%{?rawhide}
# More often than not, inkscape is busted on rawhide, don't even bother
#%if %{with doc}
%if %{with_doc}
%ifarch %{ix86} x86_64
%endif
%if %{with doc}
BuildRequires: asciidoc
BuildRequires: inkscape
BuildRequires: publican
%endif
%endif
%if %with_snmp
%if %{with_snmp}
BuildRequires: net-snmp-devel
%endif
%if %with_esmtp
%if %{with_esmtp}
BuildRequires: libesmtp-devel
%endif
%if %with_regression_tests
%if %{with_regression_tests}
BuildRequires: procps
BuildRequires: python-curses
BuildRequires: python-xml
BuildRequires: vim-base
%endif
%endif
%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
resource health.
Available rpmbuild rebuild options:
--with(out) : cman stonithd doc coverage profiling pre_release upstart_job
%package cli
Summary: Command line tools for controlling Pacemaker clusters
Group: Productivity/Clustering/HA
Requires: libpacemaker3 = %{version}-%{release}
Requires: logrotate
Requires: perl-TimeDate
%description cli
@ -347,9 +189,7 @@ Group: Productivity/Clustering/HA
Requires: %{name}-cli = %{version}-%{release}
Requires: libpacemaker3 = %{version}-%{release}
Requires: resource-agents
%if %{defined systemd_requires}
%systemd_requires
%endif
%{?systemd_requires}
%description remote
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
Group: Development/Libraries/C and C++
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: 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}
Requires: libpacemaker3-cluster = %{version}-%{release}
%endif
Requires: libqb-devel
Requires: libtool-ltdl-devel
Requires: libuuid-devel
Requires: libxml2-devel
Requires: libxslt-devel
%if %with_regression_tests
%if %{with_regression_tests}
# For the regression tests, we can run them only if all pacemaker
# packages are installed, so we pull that in here for the regression
# 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.
%package cts
Summary: Test framework for cluster-related technologies like Pacemaker
Summary: Test framework for cluster-related technologies
Group: Productivity/Clustering/HA
Requires: libpacemaker3 = %{version}-%{release}
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
Test framework for cluster-related technologies like Pacemaker
%if %{with_doc}
%if %{with doc}
%package doc
Summary: Documentation for Pacemaker
Group: Productivity/Clustering/HA
@ -430,8 +252,7 @@ manager for Corosync, CMAN and/or Linux-HA.
%endif
%prep
#%setup -q -n %{name}-%{commit}
%setup -q -n %{name}-%{version}
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
@ -442,238 +263,139 @@ manager for Corosync, CMAN and/or Linux-HA.
%patch8 -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
./autogen.sh
autoreconf -fvi
# RHEL <= 5 does not support --docdir
docdir=%{pcmk_docdir} %{configure} \
%{?with_profiling: --with-profiling} \
%{?with_coverage: --with-coverage} \
%{!?with_cman: --without-cman} \
%if !%with_heartbeat_support
--without-heartbeat \
%endif
%if %with_nagios
%configure \
--docdir=%{_docdir}/%{name} \
--disable-static \
--disable-silent-rules \
--without-profiling \
--without-coverage \
--without-cman \
--without-heartbeat \
--with-acl=true \
%if %{with_nagios}
--with-nagios=true \
%endif
%if %with_snmp
%if %{with_snmp}
--with-snmp=true \
%endif
%if %with_esmtp
%if %{with_esmtp}
--with-esmtp=true \
%endif
%if %with_acl
--with-acl=true \
%endif
%if %with_cibsecrets
%if %{with_cibsecrets}
--with-cibsecrets=true \
%endif
%if !%enable_fatal_warnings
%if !%{enable_fatal_warnings}
--enable-fatal-warnings=no \
%endif
%{!?with_doc: --with-brand=} \
--with-initdir=%{_initrddir} \
--with-initdir=%{_initddir} \
--localstatedir=%{_var} \
--with-version=%{version}-%{release}
%if 0%{?suse_version} >= 1200
# 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
make %{?_smp_mflags} all
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} docdir=%{pcmk_docdir} V=1 install
%make_install
#mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
install -d -m755 $RPM_BUILD_ROOT/var/adm/fillup-templates
#install -m 644 mcp/pacemaker.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/pacemaker
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
install -d -m755 %{buildroot}%{_localstatedir}/adm/fillup-templates
install -m 644 mcp/pacemaker.sysconfig %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.pacemaker
install -m 644 tools/crm_mon.sysconfig %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.crm_mon
# Scripts that should be executable
chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/CTSlab.py
# These are not actually scripts
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} -name '*.a' -type f -print0 | xargs -0 rm -f
find %{buildroot} -name '*.la' -type f -print0 | xargs -0 rm -f
find %{buildroot} -type f -name "*.la" -delete -print
# Do not package these either
rm -f %{buildroot}/%{_libdir}/service_crm.so
# Don't ship init scripts for systemd based platforms
%if %{defined _unitdir}
rm -f %{buildroot}/%{_initrddir}/pacemaker
rm -f %{buildroot}/%{_initrddir}/pacemaker_remote
rm -f %{buildroot}/%{_initddir}/pacemaker
rm -f %{buildroot}/%{_initddir}/pacemaker_remote
# Don't ship fence_pcmk where it has no use
%if %{without cman}
rm -f %{buildroot}/%{_sbindir}/fence_pcmk
%endif
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcpacemaker
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcpacemaker_remote
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rccrm_mon
%endif
ln -s service %{buildroot}%{_sbindir}/rcpacemaker
ln -s service %{buildroot}%{_sbindir}/rcpacemaker_remote
ln -s service %{buildroot}%{_sbindir}/rccrm_mon
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}
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
%fdupes -s %{buildroot}
%if %{defined _unitdir}
%check
# Prevent false positives in rpmlint
./BasicSanity.sh -V pengine cli 2>&1
%post
#%systemd_post pacemaker.service
%service_add_post pacemaker.service
%pre
%service_add_pre pacemaker.service
%preun
#%systemd_preun pacemaker.service
%service_del_preun pacemaker.service
%postun
#%systemd_postun_with_restart pacemaker.service
%service_del_postun pacemaker.service
%post remote
#%systemd_post pacemaker_remote.service
%service_add_post pacemaker_remote.service
%pre remote
%service_add_pre pacemaker_remote.service
%preun remote
#%systemd_preun pacemaker_remote.service
%service_del_preun pacemaker_remote.service
%postun remote
#%systemd_postun_with_restart pacemaker_remote.service
%service_del_postun pacemaker_remote.service
%post cli
if [ ! -e %{_sysconfdir}/sysconfig/pacemaker ]; then
%fillup_only pacemaker
fi
#%systemd_post crm_mon.service
%fillup_only pacemaker
%service_add_post crm_mon.service
if [ ! -e %{_sysconfdir}/sysconfig/crm_mon ]; then
%fillup_only crm_mon
fi
%fillup_only crm_mon
%pre cli
%service_add_pre crm_mon.service
%preun cli
#%systemd_preun crm_mon.service
%service_del_preun crm_mon.service
%postun cli
#%systemd_postun_with_restart 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
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}
exit 0
%post -n libpacemaker3 -p /sbin/ldconfig
%postun -n libpacemaker3 -p /sbin/ldconfig
%if %{enable_lib_cluster_pkg}
%post -n libpacemaker3-cluster -p /sbin/ldconfig
%postun -n libpacemaker3-cluster -p /sbin/ldconfig
%endif
%if %with_regression_tests
%if %{with_regression_tests}
%post -n libpacemaker-devel
if [ ! -e /tmp/.pcmk_regression_tests_ran ]; then
touch /tmp/.pcmk_regression_tests_ran
# Needed so that the shell doesn't get stuck on escape
# sequences
export TERM=dumb
/usr/share/pacemaker/tests/cli/regression.sh || true
/usr/share/pacemaker/tests/pengine/regression.sh -V || true
%{_datadir}/pacemaker/tests/cli/regression.sh || true
%{_datadir}/pacemaker/tests/pengine/regression.sh -V || true
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."
cat crmtestout/regression.out
fi
@ -681,18 +403,11 @@ fi
%endif
%files
###########################################################
%defattr(-,root,root)
#%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker
%{_sbindir}/pacemakerd
%if %{defined _unitdir}
%{_unitdir}/pacemaker.service
%{_sbindir}/rcpacemaker
%else
%{_initrddir}/pacemaker
%endif
%exclude %{_libexecdir}/pacemaker/lrmd_test
%exclude %{_sbindir}/pacemaker_remoted
@ -701,40 +416,29 @@ fi
%{_sbindir}/crm_node
%{_sbindir}/fence_legacy
%if %{with cman}
%{_sbindir}/fence_pcmk
%endif
%{_sbindir}/stonith_admin
%doc %{_mandir}/man7/crmd.*
%doc %{_mandir}/man7/pengine.*
%doc %{_mandir}/man7/stonithd.*
%if %{without cman} || !%{cman_native}
%doc %{_mandir}/man7/ocf_pacemaker_controld.*
%endif
%doc %{_mandir}/man7/ocf_pacemaker_o2cb.*
%doc %{_mandir}/man7/ocf_pacemaker_remote.*
%doc %{_mandir}/man8/crm_node.*
%if %{with cman}
%doc %{_mandir}/man8/fence_pcmk.*
%endif
%doc %{_mandir}/man8/fence_legacy.*
%doc %{_mandir}/man8/pacemakerd.*
%doc %{_mandir}/man8/stonith_admin.*
%{_mandir}/man7/crmd.7%{ext_man}
%{_mandir}/man7/pengine.7%{ext_man}
%{_mandir}/man7/stonithd.7%{ext_man}
%{_mandir}/man7/ocf_pacemaker_controld.7%{ext_man}
%{_mandir}/man7/ocf_pacemaker_o2cb.7%{ext_man}
%{_mandir}/man7/ocf_pacemaker_remote.7%{ext_man}
%{_mandir}/man8/crm_node.8%{ext_man}
%{_mandir}/man8/fence_legacy.8%{ext_man}
%{_mandir}/man8/pacemakerd.8%{ext_man}
%{_mandir}/man8/stonith_admin.8%{ext_man}
#%license COPYING
%doc COPYING
%doc AUTHORS
%doc ChangeLog
%doc %{_datadir}/pacemaker/alerts
%doc COPYING AUTHORS ChangeLog
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/cib
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/pengine
%if %{without cman} || !%{cman_native}
/usr/lib/ocf/resource.d/pacemaker/controld
%endif
/usr/lib/ocf/resource.d/pacemaker/o2cb
/usr/lib/ocf/resource.d/pacemaker/remote
/usr/lib/ocf/resource.d/.isolation
%{_libexecdir}/ocf/resource.d/pacemaker/controld
%{_libexecdir}/ocf/resource.d/pacemaker/o2cb
%{_libexecdir}/ocf/resource.d/pacemaker/remote
%{_libexecdir}/ocf/resource.d/.isolation
%if "%{?cs_version}" != "UNKNOWN"
%if 0%{?cs_version} < 2
@ -742,26 +446,11 @@ fi
%endif
%endif
%if %{with upstart_job}
%config(noreplace) %{_sysconfdir}/init/pacemaker.conf
%config(noreplace) %{_sysconfdir}/init/pacemaker.combined.conf
%endif
%files cli
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/logrotate.d/pacemaker
#%config(noreplace) %{_sysconfdir}/sysconfig/crm_mon
%if %{defined _unitdir}
%{_unitdir}/crm_mon.service
%{_sbindir}/rccrm_mon
%endif
%if %{with upstart_job}
%config(noreplace) %{_sysconfdir}/init/crm_mon.conf
%endif
%{_sbindir}/attrd_updater
%{_sbindir}/cibadmin
%{_sbindir}/crm_attribute
@ -780,28 +469,29 @@ fi
%{_sbindir}/crm_report
%{_sbindir}/crm_report.pacemaker
%{_sbindir}/crm_ticket
%exclude %{_datadir}/pacemaker/alerts
%exclude %{_datadir}/pacemaker/tests
%{_datadir}/pacemaker
%{_datadir}/snmp/mibs/PCMK-MIB.txt
%exclude /usr/lib/ocf/resource.d/pacemaker/controld
%exclude /usr/lib/ocf/resource.d/pacemaker/o2cb
%exclude /usr/lib/ocf/resource.d/pacemaker/remote
%exclude %{_libexecdir}/ocf/resource.d/pacemaker/controld
%exclude %{_libexecdir}/ocf/resource.d/pacemaker/o2cb
%exclude %{_libexecdir}/ocf/resource.d/pacemaker/remote
%dir /usr/lib/ocf
%dir /usr/lib/ocf/resource.d
/usr/lib/ocf/resource.d/pacemaker
%dir %{_libexecdir}/ocf
%dir %{_libexecdir}/ocf/resource.d
%{_libexecdir}/ocf/resource.d/pacemaker
%config(noreplace) /var/adm/fillup-templates/sysconfig.pacemaker
%config(noreplace) /var/adm/fillup-templates/sysconfig.crm_mon
%doc %{_mandir}/man7/*
%config(noreplace) %{_localstatedir}/adm/fillup-templates/sysconfig.pacemaker
%config(noreplace) %{_localstatedir}/adm/fillup-templates/sysconfig.crm_mon
%{_mandir}/man7/*
%exclude %{_mandir}/man7/crmd.*
%exclude %{_mandir}/man7/pengine.*
%exclude %{_mandir}/man7/stonithd.*
%exclude %{_mandir}/man7/ocf_pacemaker_controld.*
%exclude %{_mandir}/man7/ocf_pacemaker_o2cb.*
%exclude %{_mandir}/man7/ocf_pacemaker_remote.*
%doc %{_mandir}/man8/*
%{_mandir}/man8/*
%exclude %{_mandir}/man8/crm_node.*
%exclude %{_mandir}/man8/fence_pcmk.*
%exclude %{_mandir}/man8/fence_legacy.*
@ -809,10 +499,7 @@ fi
%exclude %{_mandir}/man8/pacemaker_remoted.*
%exclude %{_mandir}/man8/stonith_admin.*
#%license COPYING
%doc COPYING
%doc AUTHORS
%doc ChangeLog
%doc COPYING AUTHORS ChangeLog
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/blackbox
@ -830,38 +517,25 @@ fi
%{_libdir}/libpengine.so.*
%{_libdir}/libstonithd.so.*
%{_libdir}/libtransitioner.so.*
#%license COPYING.LIB
%doc COPYING.LIB
%doc AUTHORS
%doc COPYING.LIB AUTHORS
%{_libdir}/libcrmcluster.so.*
%if %{enable_lib_cluster_pkg}
%files -n libpacemaker3-cluster
%defattr(-,root,root)
#%{_libdir}/libcrmcluster.so.*
#%license COPYING.LIB
%doc COPYING.LIB
%doc AUTHORS
%{_libdir}/libcrmcluster.so.*
%doc COPYING.LIB AUTHORS
%endif
%files remote
%defattr(-,root,root)
#%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker
%if %{defined _unitdir}
%{_unitdir}/pacemaker_remote.service
%{_sbindir}/rcpacemaker_remote
%else
%{_initrddir}/pacemaker_remote
%endif
%{_sbindir}/pacemaker_remoted
%{_mandir}/man8/pacemaker_remoted.*
#%license COPYING
%doc COPYING
%doc AUTHORS
%{_mandir}/man8/pacemaker_remoted.8%{ext_man}
%doc COPYING AUTHORS
%if %{with_doc}
%if %{with doc}
%files doc
%defattr(-,root,root)
%doc %{pcmk_docdir}
@ -869,13 +543,10 @@ fi
%files cts
%defattr(-,root,root)
#%{py_site}/cts
%{py_sitedir}/cts
%{_datadir}/pacemaker/tests/cts
%{_libexecdir}/pacemaker/lrmd_test
#%license COPYING
%doc COPYING
%doc AUTHORS
%doc COPYING AUTHORS
%files -n libpacemaker-devel
%defattr(-,root,root)
@ -883,12 +554,7 @@ fi
%{_datadir}/pacemaker/tests
%{_includedir}/pacemaker
%{_libdir}/*.so
%if %{with coverage}
%{_var}/lib/pacemaker/gcov
%endif
%{_libdir}/pkgconfig/*.pc
#%license COPYING.LIB
%doc COPYING.LIB
%doc AUTHORS
%doc COPYING.LIB AUTHORS
%changelog