diff options
Diffstat (limited to '')
-rw-r--r-- | cluster-glue-fedora.spec | 249 |
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 |