summaryrefslogtreecommitdiffstats
path: root/cluster-glue-fedora.spec
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cluster-glue-fedora.spec249
1 files changed, 249 insertions, 0 deletions
diff --git a/cluster-glue-fedora.spec b/cluster-glue-fedora.spec
new file mode 100644
index 0000000..b480ff5
--- /dev/null
+++ b/cluster-glue-fedora.spec
@@ -0,0 +1,249 @@
+# Keep around for when/if required
+## define alphatag XXX
+
+%define gname haclient
+%define uname hacluster
+%define nogroup nobody
+
+# Directory where we install documentation
+%global glue_docdir %{_defaultdocdir}/%{name}-%{version}
+
+# When downloading directly from Mercurial, it will automatically add this prefix
+# Invoking 'hg archive' wont but you can add one with: hg archive -t tgz -p "Reusable-Cluster-Components-" -r $upstreamversion $upstreamversion.tar.gz
+%global upstreamprefix Reusable-Cluster-Components-
+%global upstreamversion d97b9dea436e
+
+Name: cluster-glue
+Summary: Reusable cluster components
+Version: 1.0.12
+Release: 1%{?dist}
+License: GPLv2+ and LGPLv2+
+Url: http://www.linux-ha.org/wiki/Cluster_Glue
+Group: System Environment/Base
+Source0: cluster-glue.tar.bz2
+Requires: perl-TimeDate
+Requires: cluster-glue-libs = %{version}-%{release}
+
+# Directives to allow upgrade from combined heartbeat packages in Fedora11
+Provides: heartbeat-stonith = 3.0.0-1
+Provides: heartbeat-pils = 3.0.0-1
+Obsoletes: heartbeat-stonith < 3.0.0-1
+Obsoletes: heartbeat-pils < 3.0.0-1
+Obsoletes: heartbeat-common
+
+## Setup/build bits
+
+BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+
+# Build dependencies
+BuildRequires: automake autoconf libtool pkgconfig which
+BuildRequires: bzip2-devel glib2-devel python-devel libxml2-devel libaio-devel
+BuildRequires: OpenIPMI-devel openssl-devel
+BuildRequires: libxslt docbook-dtds docbook-style-xsl
+BuildRequires: help2man
+BuildRequires: asciidoc
+
+%if 0%{?fedora}
+BuildRequires: libcurl-devel libnet-devel
+%endif
+
+%if 0%{?fedora} || 0%{?centos} > 4 || 0%{?rhel} > 4
+BuildRequires: libtool-ltdl-devel openhpi-devel
+BuildRequires: net-snmp-devel >= 5.4
+%else
+BuildRequires: gcc-c++
+%endif
+
+%if 0%{?fedora} > 11 || 0%{?centos} > 5 || 0%{?rhel} > 5
+BuildRequires: libuuid-devel
+%else
+BuildRequires: e2fsprogs-devel
+%endif
+
+%if %{defined systemd_requires}
+BuildRequires: systemd
+%{?systemd_requires}
+%endif
+
+%prep
+%setup -q -n cluster-glue
+
+./autogen.sh
+
+# RHEL <= 5 does not support ./configure --docdir=,
+# hence, use this ugly hack
+%if 0%{?centos} <= 5 || 0%{?rhel} <= 5
+export docdir=%{glue_docdir}
+%configure \
+ --enable-fatal-warnings=yes \
+ --with-daemon-group=%{gname} \
+ --with-daemon-user=%{uname} \
+ --localstatedir=%{_var} \
+ --libdir=%{_libdir}
+%else
+%configure \
+ --enable-fatal-warnings=yes \
+ --with-daemon-group=%{gname} \
+ --with-daemon-user=%{uname} \
+ --localstatedir=%{_var} \
+ --libdir=%{_libdir} \
+%if %{defined _unitdir}
+ --with-systemdsystemunitdir=%{_unitdir} \
+%endif
+ --docdir=%{glue_docdir}
+%endif
+
+%build
+make %{?jobs:-j%jobs} docdir=%{glue_docdir}
+
+%install
+rm -rf %{buildroot}
+make install DESTDIR=%{buildroot} docdir=%{glue_docdir}
+
+
+## tree fix up
+# Dont package static libs
+find %{buildroot} -name '*.a' -exec rm {} \;
+find %{buildroot} -name '*.la' -exec rm {} \;
+
+%clean
+rm -rf %{buildroot}
+
+# cluster-glue
+
+%description
+A collection of common tools that are useful for writing cluster managers
+such as Pacemaker.
+Provides a local resource manager that understands the OCF and LSB
+standards, and an interface to common STONITH devices.
+
+%files
+%defattr(-,root,root)
+%dir %{_datadir}/%{name}
+%if %{defined _unitdir}
+%{_unitdir}/logd.service
+%else
+%{_sysconfdir}/init.d/logd
+%endif
+%{_datadir}/%{name}/ha_cf_support.sh
+%{_datadir}/%{name}/openais_conf_support.sh
+%{_datadir}/%{name}/utillib.sh
+%{_datadir}/%{name}/ha_log.sh
+
+%{_sbindir}/ha_logger
+%{_sbindir}/hb_report
+%{_sbindir}/lrmadmin
+%{_sbindir}/cibsecret
+%{_sbindir}/meatclient
+%{_sbindir}/stonith
+%dir %{_libdir}/heartbeat
+%dir %{_libdir}/heartbeat/plugins
+%dir %{_libdir}/heartbeat/plugins/RAExec
+%dir %{_libdir}/heartbeat/plugins/InterfaceMgr
+%dir %{_libdir}/heartbeat/plugins/compress
+%{_libdir}/heartbeat/lrmd
+%{_libdir}/heartbeat/ha_logd
+%{_libdir}/heartbeat/plugins/RAExec/*.so
+%{_libdir}/heartbeat/plugins/InterfaceMgr/*.so
+%{_libdir}/heartbeat/plugins/compress/*.so
+%dir %{_libdir}/stonith
+%dir %{_libdir}/stonith/plugins
+%dir %{_libdir}/stonith/plugins/stonith2
+%{_libdir}/stonith/plugins/external
+%{_libdir}/stonith/plugins/stonith2/*.so
+%{_libdir}/stonith/plugins/stonith2/*.py*
+%exclude %{_libdir}/stonith/plugins/external/ssh
+%exclude %{_libdir}/stonith/plugins/stonith2/null.so
+%exclude %{_libdir}/stonith/plugins/stonith2/ssh.so
+%{_libdir}/stonith/plugins/xen0-ha-dom0-stonith-helper
+%dir %{_var}/lib/heartbeat
+%dir %{_var}/lib/heartbeat/cores
+%dir %attr (0700, root, root) %{_var}/lib/heartbeat/cores/root
+%dir %attr (0700, nobody, %{nogroup}) %{_var}/lib/heartbeat/cores/nobody
+%dir %attr (0700, %{uname}, %{gname}) %{_var}/lib/heartbeat/cores/%{uname}
+%{_mandir}/man1/*
+%{_mandir}/man8/*
+%doc doc/stonith/README*
+%doc logd/logd.cf
+%doc AUTHORS
+%doc COPYING
+%doc ChangeLog
+
+# cluster-glue-libs
+
+%package -n cluster-glue-libs
+Summary: Reusable cluster libraries
+Group: Development/Libraries
+Obsoletes: libheartbeat2
+
+%description -n cluster-glue-libs
+A collection of libraries that are useful for writing cluster managers
+such as Pacemaker.
+
+%pre
+getent group %{gname} >/dev/null || groupadd -r %{gname}
+getent passwd %{uname} >/dev/null || \
+useradd -r -g %{gname} -d %{_var}/lib/heartbeat/cores/hacluster -s /sbin/nologin \
+-c "cluster user" %{uname}
+exit 0
+
+%if %{defined _unitdir}
+%post
+%systemd_post logd.service
+
+%preun
+%systemd_preun logd.service
+
+%postun
+%systemd_postun_with_restart logd.service
+%endif
+
+%post -n cluster-glue-libs -p /sbin/ldconfig
+
+%postun -n cluster-glue-libs -p /sbin/ldconfig
+
+%files -n cluster-glue-libs
+%defattr(-,root,root)
+%{_libdir}/lib*.so.*
+%doc AUTHORS
+%doc COPYING.LIB
+
+# cluster-glue-libs-devel
+
+%package -n cluster-glue-libs-devel
+Summary: Headers and libraries for writing cluster managers
+Group: Development/Libraries
+Requires: cluster-glue-libs = %{version}-%{release}
+Obsoletes: libheartbeat-devel
+
+%description -n cluster-glue-libs-devel
+Headers and shared libraries for a useful for writing cluster managers
+such as Pacemaker.
+
+%files -n cluster-glue-libs-devel
+%defattr(-,root,root)
+%dir %{_libdir}/heartbeat/plugins
+%dir %{_libdir}/heartbeat/plugins/test
+%dir %{_libdir}/heartbeat
+%dir %{_datadir}/%{name}
+%{_libdir}/lib*.so
+%{_libdir}/heartbeat/ipctest
+%{_libdir}/heartbeat/ipctransientclient
+%{_libdir}/heartbeat/ipctransientserver
+%{_libdir}/heartbeat/transient-test.sh
+%{_libdir}/heartbeat/base64_md5_test
+%{_libdir}/heartbeat/logtest
+%{_includedir}/clplumbing
+%{_includedir}/heartbeat
+%{_includedir}/stonith
+%{_includedir}/pils
+%{_datadir}/%{name}/lrmtest
+%{_libdir}/heartbeat/plugins/test/test.so
+%{_libdir}/stonith/plugins/external/ssh
+%{_libdir}/stonith/plugins/stonith2/null.so
+%{_libdir}/stonith/plugins/stonith2/ssh.so
+%doc AUTHORS
+%doc COPYING
+%doc COPYING.LIB
+
+%changelog