summaryrefslogtreecommitdiffstats
path: root/cluster-glue-suse.spec
diff options
context:
space:
mode:
Diffstat (limited to 'cluster-glue-suse.spec')
-rw-r--r--cluster-glue-suse.spec307
1 files changed, 307 insertions, 0 deletions
diff --git a/cluster-glue-suse.spec b/cluster-glue-suse.spec
new file mode 100644
index 0000000..e2ca7c7
--- /dev/null
+++ b/cluster-glue-suse.spec
@@ -0,0 +1,307 @@
+#
+# Copyright (c) 2009 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
+
+#
+# Since this spec file supports multiple distributions, ensure we
+# use the correct group for each.
+#
+
+%define uid 90
+%define gname haclient
+%define uname hacluster
+
+# Directory where we install documentation
+%global glue_docdir %{_defaultdocdir}/%{name}
+
+Name: cluster-glue
+Summary: Reusable cluster components
+Version: 1.0.12
+Release: 1%{?dist}
+License: GPL v2 or later; LGPL v2.1 or later
+Url: http://www.linux-ha.org/wiki/Cluster_Glue
+Group: Productivity/Clustering/HA
+Source: cluster-glue.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+AutoReqProv: on
+BuildRequires: automake autoconf libtool e2fsprogs-devel glib2-devel pkgconfig python-devel libxml2-devel
+BuildRequires: libnet net-snmp-devel OpenIPMI-devel openhpi-devel
+BuildRequires: libxslt docbook_4 docbook-xsl-stylesheets
+BuildRequires: help2man
+BuildRequires: asciidoc
+BuildRequires: libbz2-devel libaio-devel
+
+Obsoletes: heartbeat-common
+Provides: heartbeat-common
+Requires(pre): /usr/sbin/groupadd /usr/bin/getent /usr/sbin/useradd
+
+# SLES10 needs tcpd-devel but doesn't have libcurl
+# in SLES10 docbook has no dependency on sgml-skel
+%if 0%{?suse_version} < 1020
+BuildRequires: tcpd-devel
+BuildRequires: sgml-skel
+%else
+BuildRequires: libcurl-devel
+%endif
+
+%if %{defined systemd_requires}
+BuildRequires: systemd
+%{?systemd_requires}
+%endif
+
+%description
+A collection of common tools derived from the Heartbeat project 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.
+
+%package -n libglue2
+License: GPL v2 only; GPL v2 or later; LGPL v2.1 or later
+Summary: The Pacemaker scalable High-Availability cluster resource manager
+Group: Productivity/Clustering/HA
+Obsoletes: libheartbeat2
+Provides: libheartbeat2
+Requires: %{name} = %{version}-%{release}
+
+%description -n libglue2
+A collection of libraries that are useful for writing cluster managers
+such as Pacemaker.
+
+%package -n libglue-devel
+License: GPL v2 only; GPL v2 or later; LGPL v2.1 or later
+Summary: The Pacemaker scalable High-Availability cluster resource manager
+Group: Development/Libraries/C and C++
+Requires: %{name} = %{version}-%{release}
+Requires: libglue2 = %{version}-%{release}
+Obsoletes: libheartbeat-devel
+Provides: libheartbeat-devel
+
+%description -n libglue-devel
+Headers and shared libraries for a useful for writing cluster managers
+such as Pacemaker.
+
+%prep
+###########################################################
+%setup -n cluster-glue -q
+###########################################################
+
+%build
+CFLAGS="${CFLAGS} ${RPM_OPT_FLAGS}"
+export CFLAGS
+
+./autogen.sh
+# SLES <= 10 does not support ./configure --docdir=,
+# hence, use this ugly hack
+%if 0%{?suse_version} < 1020
+export docdir=%{glue_docdir}
+%configure \
+ --enable-fatal-warnings=yes \
+ --with-package-name=%{name} \
+ --with-daemon-group=%{gname} \
+ --with-daemon-user=%{uname}
+%else
+%configure \
+ --enable-fatal-warnings=yes \
+ --with-package-name=%{name} \
+ --with-daemon-group=%{gname} \
+ --with-daemon-user=%{uname} \
+ --with-rundir=%{_rundir} \
+%if %{defined _unitdir}
+ --with-systemdsystemunitdir=%{_unitdir} \
+%endif
+ --docdir=%{glue_docdir}
+%endif
+
+make %{?_smp_mflags} docdir=%{glue_docdir}
+###########################################################
+
+%install
+###########################################################
+make DESTDIR=$RPM_BUILD_ROOT docdir=%{glue_docdir} install
+# Dont package static libs or compiled python
+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
+find $RPM_BUILD_ROOT -name '*.pyc' -type f -print0 | xargs -0 rm -f
+find $RPM_BUILD_ROOT -name '*.pyo' -type f -print0 | xargs -0 rm -f
+
+%if %{defined _unitdir}
+ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rclogd
+%else
+test -d $RPM_BUILD_ROOT/sbin || mkdir $RPM_BUILD_ROOT/sbin
+(
+ cd $RPM_BUILD_ROOT/sbin
+ ln -s /etc/init.d/logd rclogd
+)
+%endif
+
+###########################################################
+
+%clean
+###########################################################
+if
+ [ -n "${RPM_BUILD_ROOT}" -a "${RPM_BUILD_ROOT}" != "/" ]
+then
+ rm -rf $RPM_BUILD_ROOT
+fi
+rm -rf $RPM_BUILD_DIR/cluster-glue
+###########################################################
+
+%pre
+if
+ getent group %{gname} >/dev/null
+then
+ : OK group haclient already present
+else
+ /usr/sbin/groupadd -o -r -g %{uid} %{gname} 2>/dev/null || :
+fi
+if
+ getent passwd %{uname} >/dev/null
+then
+ : OK hacluster user already present
+else
+ /usr/sbin/useradd -r -g %{gname} -c "heartbeat processes" \
+ -d %{_var}/lib/heartbeat/cores/%{uname} -o -u %{uid} \
+ %{uname} 2>/dev/null || :
+fi
+%if %{defined _unitdir}
+ %service_add_pre logd.service
+%endif
+
+%if %{defined _unitdir}
+%post
+%service_add_post logd.service
+
+%preun
+%service_del_preun logd.service
+
+%postun
+%service_del_postun logd.service
+%else
+%preun
+%stop_on_removal logd
+
+%post
+%{insserv_force_if_yast logd}
+
+%postun
+%insserv_cleanup
+%endif
+
+%post -n libglue2
+/sbin/ldconfig
+
+%postun -n libglue2
+/sbin/ldconfig
+
+%files
+###########################################################
+%defattr(-,root,root)
+
+%dir %{_libdir}/heartbeat
+%dir %{_var}/lib/heartbeat
+%dir %{_var}/lib/heartbeat/cores
+%dir %attr (0700, root, root) %{_var}/lib/heartbeat/cores/root
+%dir %attr (0700, nobody, nobody) %{_var}/lib/heartbeat/cores/nobody
+%dir %attr (0700, %{uname}, %{gname}) %{_var}/lib/heartbeat/cores/%{uname}
+
+%dir %{_libdir}/heartbeat/plugins
+%dir %{_libdir}/heartbeat/plugins/RAExec
+%dir %{_libdir}/heartbeat/plugins/InterfaceMgr
+%dir %{_libdir}/heartbeat/plugins/compress
+
+%dir %{_libdir}/stonith
+%dir %{_libdir}/stonith/plugins
+%dir %{_libdir}/stonith/plugins/stonith2
+
+%dir %{_datadir}/%{name}
+%{_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
+
+%if %{defined _unitdir}
+%{_unitdir}/logd.service
+%{_sbindir}/rclogd
+%else
+%{_sysconfdir}/init.d/logd
+/sbin/rclogd
+%endif
+
+%doc %{_mandir}/man1/*
+%doc %{_mandir}/man8/*
+%doc AUTHORS
+%doc COPYING
+%doc ChangeLog
+%doc logd/logd.cf
+%doc doc/stonith/README*
+
+%{_libdir}/heartbeat/lrmd
+%{_libdir}/heartbeat/ha_logd
+
+%{_libdir}/heartbeat/plugins/RAExec/*.so
+%{_libdir}/heartbeat/plugins/InterfaceMgr/*.so
+%{_libdir}/heartbeat/plugins/compress/*.so
+
+%{_libdir}/stonith/plugins/external
+%{_libdir}/stonith/plugins/stonith2/*.so
+%{_libdir}/stonith/plugins/stonith2/*.py
+%{_libdir}/stonith/plugins/xen0-ha-dom0-stonith-helper
+%exclude %{_libdir}/stonith/plugins/external/ssh
+%exclude %{_libdir}/stonith/plugins/stonith2/null.so
+%exclude %{_libdir}/stonith/plugins/stonith2/ssh.so
+
+%files -n libglue2
+%defattr(-,root,root)
+%{_libdir}/lib*.so.*
+%doc AUTHORS
+%doc COPYING.LIB
+
+%files -n libglue-devel
+%defattr(-,root,root)
+
+%dir %{_libdir}/heartbeat
+%dir %{_libdir}/heartbeat/plugins
+%dir %{_libdir}/heartbeat/plugins/test
+%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