345 lines
12 KiB
RPMSpec
345 lines
12 KiB
RPMSpec
#
|
|
# spec file for package pacemaker (Version 0.7.1)
|
|
#
|
|
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
# norootforbuild
|
|
|
|
%if 0%{?suse_version}
|
|
%define _libexecdir %{_libdir}
|
|
%endif
|
|
%define with_extra_warnings 0
|
|
%define with_debugging 0
|
|
%define without_fatal_warnings 1
|
|
%define with_ais_support 1
|
|
%define with_heartbeat_support 1
|
|
%if 0%{?fedora_version}
|
|
%define pkg_group System Environment/Daemons
|
|
%else
|
|
%define pkg_group Productivity/Clustering/HA
|
|
%endif
|
|
|
|
Name: pacemaker
|
|
Summary: The Pacemaker scalable High-Availability cluster resource manager
|
|
Version: 0.7.1
|
|
Release: 2
|
|
License: GPL v2 or later; LGPL v2.1 or later
|
|
Url: http://www.clusterlabs.org
|
|
Group: Productivity/Clustering/HA
|
|
Source: pacemaker.tar.gz
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
AutoReqProv: on
|
|
%if %with_ais_support
|
|
BuildRequires: openais-devel
|
|
%endif
|
|
%if %with_heartbeat_support
|
|
BuildRequires: heartbeat heartbeat-devel > 2.1.2
|
|
%endif
|
|
%if %{with_ais_support}
|
|
%if %{with_heartbeat_support}
|
|
Conflicts: pacemaker-ais
|
|
Conflicts: pacemaker-heartbeat
|
|
%else
|
|
Conflicts: pacemaker
|
|
Conflicts: pacemaker-heartbeat
|
|
%endif
|
|
%else
|
|
Conflicts: pacemaker
|
|
Conflicts: pacemaker-ais
|
|
%endif
|
|
BuildRequires: e2fsprogs-devel glib2-devel gnutls-devel heartbeat-common heartbeat-common-devel libxml2-devel libxslt-devel ncurses-devel pam-devel python-devel swig
|
|
%if 0%{?suse_version}
|
|
%if 0%{?suse_version} > 1000
|
|
%if %with_ais_support
|
|
Supplements: openais
|
|
%endif
|
|
%if %with_heartbeat_support
|
|
Supplements: heartbeat
|
|
%endif
|
|
%endif
|
|
%if 0%{?suse_version} == 930
|
|
BuildRequires: rpm-devel
|
|
%endif
|
|
%if 0%{?suse_version} == 1000
|
|
BuildRequires: lzo lzo-devel
|
|
%endif
|
|
%if 0%{?suse_version} < 1020
|
|
BuildRequires: tcpd-devel
|
|
%endif
|
|
%if 0%{?sles_version} == 9
|
|
BuildRequires: openssl-devel pkgconfig
|
|
%endif
|
|
%endif
|
|
%if 0%{?rhel_version} == 406
|
|
BuildRequires: gcc-c++ kernel
|
|
%endif
|
|
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version}
|
|
BuildRequires: openssl-devel which
|
|
%endif
|
|
%if 0%{?mandriva_version}
|
|
BuildRequires: libbzip2-devel openssl-devel
|
|
%endif
|
|
|
|
%description
|
|
Pacemaker is an advanced, scalable High-Availability cluster resource
|
|
manager for Linux-HA (Heartbeat) and/or OpenAIS.
|
|
|
|
It supports "n-node" clusters with significant capabilities for
|
|
managing resources and dependencies.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Andrew Beekhof <abeekhof@suse.de>
|
|
|
|
%package devel
|
|
License: GPL v2 or later; LGPL v2.1 or later
|
|
Summary: The Pacemaker scalable High-Availability cluster resource manager
|
|
Group: Productivity/Clustering/HA
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description devel
|
|
Pacemaker is an advanced, scalable High-Availability cluster resource
|
|
manager for Linux-HA (Heartbeat) and/or OpenAIS.
|
|
|
|
It supports "n-node" clusters with significant capabilities for
|
|
managing resources and dependencies.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Andrew Beekhof <abeekhof@suse.de>
|
|
|
|
%prep
|
|
###########################################################
|
|
%setup -n pacemaker
|
|
###########################################################
|
|
|
|
%build
|
|
# TODO: revisit -all
|
|
CFLAGS="${CFLAGS} ${RPM_OPT_FLAGS}"
|
|
# Feature-dependent CFLAGS:
|
|
%if %with_extra_warnings
|
|
# CFLAGS="${CFLAGS} -Wshadow -Wfloat-equal -Waggregate-return -Wnested-externs -Wunreachable-code -Wendif-labels -Winline"
|
|
CFLAGS="${CFLAGS} -Wfloat-equal -Wendif-labels -Winline"
|
|
%endif
|
|
%if %with_debugging
|
|
CFLAGS="${CFLAGS} -O0"
|
|
%endif
|
|
# Distribution specific settings:
|
|
%if 0%{?suse_version} > 1001
|
|
CFLAGS="${CFLAGS} -fstack-protector-all"
|
|
%endif
|
|
%if 0%{?suse_version} < 1001
|
|
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/opt/gnome/%{_lib}/pkgconfig:/opt/gnome/share/pkgconfig"
|
|
%endif
|
|
%if 0%{?suse_version} > 1020
|
|
CFLAGS="$CFLAGS -fgnu89-inline"
|
|
%endif
|
|
%if 0%{?fedora_version} > 6
|
|
CFLAGS="$CFLAGS -fgnu89-inline"
|
|
%endif
|
|
export CFLAGS
|
|
./ConfigureMe configure --prefix=%{_prefix} --sysconfdir=%{_sysconfdir} \
|
|
--localstatedir=%{_var} --infodir=%{_infodir} \
|
|
--mandir=%{_mandir} --libdir=%{_libdir} \
|
|
--libexecdir=%{_libexecdir} \
|
|
--with-hapkgversion=%{version} \
|
|
--enable-glib-malloc \
|
|
--with-ais-prefix=%{_prefix} \
|
|
%if %with_ais_support == 0
|
|
--without-ais-support \
|
|
%endif
|
|
%if %with_heartbeat_support == 0
|
|
--without-heartbeat-support \
|
|
%endif
|
|
%if %without_fatal_warnings
|
|
--enable-fatal-warnings=no \
|
|
%endif
|
|
--enable-pretty
|
|
export MAKE="make %{?jobs:-j%jobs}"
|
|
make %{?jobs:-j%jobs}
|
|
###########################################################
|
|
|
|
%install
|
|
###########################################################
|
|
#make DESTDIR=$RPM_BUILD_ROOT install-strip
|
|
rm -rf $RPM_BUILD_ROOT
|
|
mkdir -p $RPM_BUILD_ROOT
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
#%if %with_ais_support
|
|
# mkdir -p $RPM_BUILD_ROOT/%{_libexecdir}/lcrso
|
|
# cp $RPM_BUILD_ROOT/%{_libdir}/service_crm.so $RPM_BUILD_ROOT/%{_libexecdir}/lcrso/pacemaker.lcrso
|
|
#%endif
|
|
# Cleanup
|
|
[ -d $RPM_BUILD_ROOT/usr/man ] && rm -rf $RPM_BUILD_ROOT/usr/man
|
|
[ -d $RPM_BUILD_ROOT/usr/share/libtool ] && rm -rf $RPM_BUILD_ROOT/usr/share/libtool
|
|
find $RPM_BUILD_ROOT -name '*.a' -type f -print0 | xargs -0 rm -f
|
|
find $RPM_BUILD_ROOT -name '*.la' -type f -print0 | xargs -0 rm -f
|
|
###########################################################
|
|
|
|
%clean
|
|
###########################################################
|
|
if
|
|
[ -n "${RPM_BUILD_ROOT}" -a "${RPM_BUILD_ROOT}" != "/" ]
|
|
then
|
|
rm -rf $RPM_BUILD_ROOT
|
|
fi
|
|
rm -rf $RPM_BUILD_DIR/pacemaker
|
|
###########################################################
|
|
|
|
%pre
|
|
|
|
%preun
|
|
# Use the following if more commands need to be executed
|
|
# %post
|
|
# /sbin/ldconfig
|
|
# [...]
|
|
# http://en.opensuse.org/SUSE_Package_Conventions/RPM_Macros
|
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
%postun -p /sbin/ldconfig
|
|
|
|
%files
|
|
###########################################################
|
|
%defattr(-,root,root)
|
|
%dir %{_libdir}/heartbeat
|
|
%{_prefix}/share/pacemaker
|
|
%{_prefix}/share/heartbeat
|
|
%{_libdir}/heartbeat/*
|
|
%dir %{_var}/lib/heartbeat
|
|
%{_libdir}/libcib.so.*
|
|
%{_libdir}/libcrmcommon.so.*
|
|
%{_libdir}/libcrmcluster.so.*
|
|
#%{_libdir}/heartbeat/crm_primitive.py
|
|
%{_libdir}/libpe_status.so.*
|
|
%{_libdir}/libpe_rules.so.*
|
|
%{_libdir}/libpengine.so.*
|
|
%{_libdir}/libtransitioner.so.*
|
|
%{_libdir}/libstonithd.so.*
|
|
%{_sbindir}/cibadmin
|
|
%{_sbindir}/crm_attribute
|
|
%{_sbindir}/crm_diff
|
|
%{_sbindir}/crm_failcount
|
|
%{_sbindir}/crm_master
|
|
%{_sbindir}/crm_mon
|
|
%exclude %{_sbindir}/crm_sh
|
|
%{_sbindir}/crm_resource
|
|
%{_sbindir}/crm_standby
|
|
%{_sbindir}/crm_uuid
|
|
%{_sbindir}/crm_verify
|
|
%{_sbindir}/crmadmin
|
|
%{_sbindir}/iso8601
|
|
%{_sbindir}/ccm_tool
|
|
%{_sbindir}/attrd_updater
|
|
%{_sbindir}/ptest
|
|
%{_sbindir}/crm_shadow
|
|
%{_sbindir}/cibpipe
|
|
%doc %{_mandir}/man8/cibadmin.8*
|
|
%doc %{_mandir}/man8/crm_resource.8*
|
|
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/heartbeat/crm
|
|
%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/heartbeat/pengine
|
|
%dir %attr (750, %{uname}, %{gname}) %{_var}/run/heartbeat/crm
|
|
%dir /usr/lib/ocf/resource.d/pacemaker
|
|
/usr/lib/ocf/resource.d/pacemaker
|
|
%if %with_ais_support
|
|
%{_libexecdir}/lcrso/pacemaker.lcrso
|
|
%endif
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
#%doc %{_datadir}/doc/%{name}-%{version}
|
|
%{_includedir}/pacemaker
|
|
%{_includedir}/heartbeat/fencing
|
|
%{_libdir}/*.so
|
|
|
|
%changelog
|
|
* Sat Aug 30 2008 abeekhof@suse.de
|
|
- Update source tarball to revision: 902885c90d96
|
|
- Fixes build ordering ssue that prevented compilation of lib/common
|
|
* Wed Aug 20 2008 abeekhof@suse.de
|
|
- Update source tarball to revision: f567855328b7 (0.7.1)
|
|
+ Added features needed to support libdlm and ocfs2-tools
|
|
+ High: admin: Fix use-after-free in crm_mon
|
|
+ High: cib: Use single quotes so that the xpath queries for nvpairs will succeed
|
|
+ High: crmd: Always connect to stonithd when the TE starts and ensure we notice if it dies
|
|
+ High: crmd: Make sure async-failures cause the failcount to be incrimented
|
|
+ High: PE: Bug LF:1941 - Handle failed clone instance probes when clone-max < #nodes
|
|
+ High: PE: Prevent use-of-NULL - order->rsc_rh will not always be non-NULL
|
|
+ High: PE: Unpack colocation sets correctly
|
|
+ High: Tools: crm_mon - Prevent use-of-NULL for orphaned resources
|
|
+ Medium: Core: Get more details regarding parser errors
|
|
+ Medium: Core: Switch to the libxml2 parser - its significantly faster
|
|
+ Medium: PE: Allow groups to be involved in optional ordering constraints
|
|
+ Medium: PE: Allow sets of operations to be reused by multiple resources
|
|
+ Medium: PE: Bug LF:1941 - Mark extra clone instances as orphans and don't show inactive ones
|
|
+ Medium: PE: Determin the correct migration-threshold during resource expansion
|
|
+ Medium: PE: Implement no-quorum-policy=suicide (FATE #303619)
|
|
+ Lots of bug fixes
|
|
* Mon Jul 21 2008 abeekhof@suse.de
|
|
- Update source tarball to revision: 7a31d0c33e22 (0.7.0)
|
|
+ High: Performance enhancements
|
|
+ High: Fix memory leaks and use-after-free
|
|
+ High: Admin: All tools now use --node (-N) for specifying node unames
|
|
+ High: Admin: All tools now use --xml-file (-x) and --xml-text (-X) for specifying where to find XML blobs
|
|
+ High: cib: Implement CIB_shadow - a facility for making and testing changes before uploading them to the cluster
|
|
+ High: cib: Make registering per-op callbacks an API call and renamed (for clarity) the API call for requesting notifications
|
|
+ High: Core: Add a facility for automatically upgrading old configurations
|
|
+ High: Core: Adopt libxml2 as the XML processing library - all external clients need to be recompiled
|
|
+ High: PE: Bug LF:1459 - Allow failures to expire
|
|
+ High: PE: Replace failure-stickiness with a simple 'migration-threshold'
|
|
+ High: PE: Bug LF:1941 - Handle failed clone instance probes when clone-max < #nodes
|
|
+ High: PE: Make OCF_ERR_ARGS a node-level error rather than a cluster-level one
|
|
+ High: PE: Properly handle clones that are not installed on all nodes
|
|
+ Medium: Admin: Bug LF:1438 - Allow the list of all/active resource operations to be queried by crm_resource
|
|
+ Medium: Admin: Bug LF:1708 - crm_resource should print a warning if an attribute is already set as a meta attribute
|
|
+ Medium: Admin: Bug LF:1883 - crm_mon should display fail-count and operation history
|
|
+ Medium: Admin: Bug N:371785 - crm_resource -C doesn't also clean up fail-count attributes
|
|
+ Medium: Admin: crm_mon - include timing data for failed actions
|
|
+ Medium: cib: Bug LF:1348 - Allow rules and attribute sets to be referenced for use in other objects
|
|
+ Medium: cib: BUG LF:1918 - By default, all cib calls now timeout after 30s
|
|
+ Medium: cib: Remove some useless parts of the API
|
|
+ Medium: cib: Implement the ability for clients to connect to remote servers
|
|
+ Medium: Core: Add support for validating xml against RelaxNG schemas
|
|
+ Medium: PE: Bug LF:1328 - Don't fencing nodes in clusters without managed resources
|
|
+ Medium: PE: Bug LF:1461 - Give transient node attributes (in <status/>) preference over persistent ones (in <nodes/>)
|
|
+ Medium: PE: Bug LF:1884, Bug LF:1885 - Implement N:M ordering and colocation constraints
|
|
+ Medium: PE: Bug LF:1886 - Create a resource and operation 'defaults' config section
|
|
+ Medium: PE: Bug LF:1892 - Allow recurring actions to be triggered at known times
|
|
+ Medium: PE: Bug LF:1926 - Probes should complete before stop actions are invoked
|
|
+ Medium: PE: Prefer the current location if it is one of a group of nodes with the same (highest) score
|
|
* Sat May 03 2008 abeekhof@suse.de
|
|
- Use a libexecdir consistent with openais
|
|
* Tue Apr 29 2008 abeekhof@suse.de
|
|
- Updated to upstream version 0.6.3-1
|
|
- Update source tarball to revision: fd8904c9bc67
|
|
- SNMP has been moved to the management/pygui project
|
|
- Many bugfixes, primarily related to master/slave resources and failcount handling
|
|
- Fix libtool version check and supply a better default for the LCRSO directory
|
|
* Sat Apr 12 2008 abeekhof@suse.de
|
|
- version 0.6.2-1
|
|
- Initial package check-in
|