[Pacemaker] minimizing cluster-glue dependencies
Pádraig Brady
P at draigBrady.com
Wed Sep 7 12:23:18 UTC 2011
On 09/07/2011 12:25 PM, Andrew Beekhof wrote:
> If you want the patch in fedora you still need to talk to me about it.
> How about posting the changes instead of the end result (the SRPM) ?
Attached is the diff to the spec file and
the 2 new files from SOURCES/
cheers,
Pádraig.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pacemaker-clplumbing.diff
URL: <https://lists.clusterlabs.org/pipermail/pacemaker/attachments/20110907/17cea555/attachment-0004.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pacemaker-clplumbing.tar.gz
Type: application/x-gzip
Size: 106286 bytes
Desc: not available
URL: <https://lists.clusterlabs.org/pipermail/pacemaker/attachments/20110907/17cea555/attachment-0002.bin>
-------------- next part --------------
--- pacemaker.spec 2011-04-27 10:46:27.000000000 +0000
+++ SPECS/pacemaker.spec 2011-09-07 12:18:01.302603993 +0000
@@ -20,7 +20,7 @@
# We generate some docs using Publican, but its not available everywhere
%bcond_with publican
-%global specversion 1
+%global specversion 2
%global upstream_version Pacemaker-1.1.5
%global upstream_prefix Pacemaker-1-1-
@@ -45,12 +45,14 @@
Url: http://www.clusterlabs.org
Group: System Environment/Daemons
Source0: http://hg.clusterlabs.org/pacemaker/1.1/archive/%{upstream_version}.tar.bz2
+Source1: pacemaker-clplumbing.tar.gz
Patch3: cman-fencing-ack.patch
Patch4: cman-dispatch-all.patch
Patch5: cman-disconnect.patch
Patch6: cman-fencing-override.patch
Patch7: pacemaker-multilib-header.patch
Patch8: stonith-manpage.patch
+Patch9: pacemaker-clplumbing.diff
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
AutoReqProv: on
@@ -60,8 +62,8 @@
# Required for core functionality
BuildRequires: automake autoconf libtool pkgconfig libtool-ltdl-devel python-devel
-BuildRequires: glib2-devel cluster-glue-libs-devel libxml2-devel libxslt-devel
-BuildRequires: pkgconfig python-devel gcc-c++ bzip2-devel gnutls-devel pam-devel
+BuildRequires: glib2-devel cluster-glue-libs-devel libxml2-devel libxslt-devel
+BuildRequires: pkgconfig python-devel gcc-c++ bzip2-devel gnutls-devel pam-devel libuuid-devel
# Enables optional functionality
BuildRequires: help2man ncurses-devel openssl-devel libselinux-devel docbook-style-xsl resource-agents
@@ -109,6 +111,7 @@
Summary: Libraries used by the Pacemaker cluster resource manager and its clients
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-pengine-libs = %{version}-%{release}
%description -n pacemaker-libs
Pacemaker is an advanced, scalable High-Availability cluster resource
@@ -126,6 +129,7 @@
Summary: Pacemaker development package
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
+Requires: %{name}-pengine-libs-devel = %{version}-%{release}
Requires: cluster-glue-libs-devel
%if %{with ais}
Requires: corosynclib-devel
@@ -147,6 +151,48 @@
when related resources fail and can be configured to periodically check
resource health.
+%package -n pacemaker-pengine-libs
+License: GPLv2+ and LGPLv2+
+Summary: Policy Engine Libraries used by the Pacemaker cluster resource manager and its clients
+Group: System Environment/Daemons
+
+%description -n pacemaker-pengine-libs
+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.
+
+%package -n pacemaker-pengine-libs-devel
+License: GPLv2+ and LGPLv2+
+Summary: Pacemaker development package
+Group: Development/Libraries
+Requires: %{name}-pengine-libs = %{version}-%{release}
+%if %{with ais}
+Requires: corosynclib-devel
+%endif
+%if %{with heartbeat}
+Requires: heartbeat-devel
+%endif
+
+%description -n pacemaker-pengine-libs-devel
+Headers and shared libraries for developing tools
+for the Policy Engine component of Pacemaker.
+
+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.
+
%package cts
License: GPLv2+ and LGPLv2+
Summary: Test framework for cluster-related technologies like Pacemaker
@@ -176,12 +222,14 @@
%prep
%setup -q -n %{upstream_prefix}%{upstream_version}
+%setup -D -T -a 1 -n %{upstream_prefix}%{upstream_version}
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
+%patch9 -p1
%build
./autogen.sh
@@ -247,6 +295,10 @@
%postun -n pacemaker-libs -p /sbin/ldconfig
+%post -n pacemaker-pengine-libs -p /sbin/ldconfig
+
+%postun -n pacemaker-pengine-libs -p /sbin/ldconfig
+
%files
###########################################################
%defattr(-,root,root)
@@ -310,13 +362,18 @@
%files -n pacemaker-libs
%defattr(-,root,root)
%{_libdir}/libcib.so.*
-%{_libdir}/libcrmcommon.so.*
%{_libdir}/libcrmcluster.so.*
-%{_libdir}/libpe_status.so.*
+%{_libdir}/libstonithd.so.*
+%doc COPYING.LIB
+%doc AUTHORS
+
+%files -n pacemaker-pengine-libs
+%defattr(-,root,root)
+%{_libdir}/libcrmcommon.so.*
%{_libdir}/libpe_rules.so.*
+%{_libdir}/libpe_status.so.*
%{_libdir}/libpengine.so.*
%{_libdir}/libtransitioner.so.*
-%{_libdir}/libstonithd.so.*
%doc COPYING.LIB
%doc AUTHORS
@@ -335,12 +392,34 @@
%defattr(-,root,root)
%exclude %{_datadir}/pacemaker/tests/cts
%{_datadir}/pacemaker/tests
-%{_includedir}/pacemaker
-%{_libdir}/*.so
+%exclude %{_includedir}/pacemaker/crm/transition.h
+%{_includedir}/pacemaker/crm/*.h
+%{_includedir}/pacemaker/crm_config.h
+%{_libdir}/libcib.so
+%{_libdir}/libcrmcluster.so
+%{_libdir}/libstonithd.so
+%doc COPYING.LIB
+%doc AUTHORS
+
+%files -n pacemaker-pengine-libs-devel
+%defattr(-,root,root)
+%exclude %{_datadir}/pacemaker/tests/cts
+%{_includedir}/pacemaker/crm/common
+%{_includedir}/pacemaker/crm/pengine
+%{_includedir}/pacemaker/crm/transition.h
+%{_libdir}/libcrmcommon.so
+%{_libdir}/libpe_rules.so
+%{_libdir}/libpe_status.so
+%{_libdir}/libpengine.so
+%{_libdir}/libtransitioner.so
%doc COPYING.LIB
%doc AUTHORS
%changelog
+* Tue Sep 06 2011 Pádraig Brady <P at draigBrady.com> 1.1.5-2
+- Split out pacemaker-pengine-libs from pacemaker-libs
+- Removed dependency on cluster-glue-libs by copying needed components
+
* Wed Apr 27 2011 Andrew Beekhof <andrew at beekhof.net> 1.1.5-1
- New upstream release plus patches for CMAN integration
More information about the Pacemaker
mailing list