diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 06:40:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 06:40:13 +0000 |
commit | e9be59e1502a41bab9891d96d753102a7dafef0b (patch) | |
tree | c3b2da87c414881f4b53d0964f407c83492d813e /cluster-glue-suse.spec | |
parent | Initial commit. (diff) | |
download | cluster-glue-e9be59e1502a41bab9891d96d753102a7dafef0b.tar.xz cluster-glue-e9be59e1502a41bab9891d96d753102a7dafef0b.zip |
Adding upstream version 1.0.12.upstream/1.0.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'cluster-glue-suse.spec')
-rw-r--r-- | cluster-glue-suse.spec | 307 |
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 |