Name: heartbeat
Summary: Heartbeat subsystem for High-Availability Linux
Version: 1.0.2
Release: 0.2
License: GPL
Group: Applications/Internet
URL: http://linux-ha.org/
Description: heartbeat is a basic high-availability subsystem for Linux-HA.
It will run scripts at initialization, and when machines go up or down.
This version will also perform IP address takeover using gratuitous ARPs.
It works correctly for a 2-node configuration, and is extensible to larger
configurations.
It implements the following kinds of heartbeats: - Bidirectional Serial Rings ("raw" serial ports) - UDP/IP broadcast (ethernet, etc) - Unicast heartbeats - "ping" heartbeats (for routers, switches, etc.) (to be used for breaking ties in 2-node systems)
The build could not start because of the following missing build requirements:
The build could not start because of the following missing build requirements:
The spec file used by the build system currently has the following contents:
# $Id$ # Authority: dag Summary: Heartbeat subsystem for High-Availability Linux Name: heartbeat Version: 1.0.2 Release: 0.2%{?dist} License: GPL Group: Applications/Internet URL: http://linux-ha.org/ Source: http://linux-ha.org/download/%{name}-%{version}.tar.gz Patch0: ldirectord.passwd.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: glib-devel, lynx, perl, iputils, /usr/bin/ssh, openssl-devel, libnet Requires: sysklogd %package ldirectord Summary: Monitor daemon for maintaining high availability resources Group: Applications/Internet Requires: perl, perl-libwww-perl perl-Net-SSLeay, ipvsadm, perl-HTML-Parser, perl-LDAP, perl-Mail-IMAPClient %package stonith Summary: Provides an interface to Shoot The Other Node In The Head Group: Applications/Internet Requires: telnet %package pils Summary: Provides a general plugin and interface loading library Group: Applications/Internet %description heartbeat is a basic high-availability subsystem for Linux-HA. It will run scripts at initialization, and when machines go up or down. This version will also perform IP address takeover using gratuitous ARPs. It works correctly for a 2-node configuration, and is extensible to larger configurations. It implements the following kinds of heartbeats: - Bidirectional Serial Rings ("raw" serial ports) - UDP/IP broadcast (ethernet, etc) - Unicast heartbeats - "ping" heartbeats (for routers, switches, etc.) (to be used for breaking ties in 2-node systems) %description ldirectord ldirectord is a stand-alone daemon to monitor services of real for virtual services provided by The Linux Virtual Server (http://www.linuxvirtualserver.org/). It is simple to install and works with the heartbeat code (http://www.linux-ha.org/). %description stonith The STONITH module (a.k.a. STOMITH) provides an extensible interface for remotely powering down a node in the cluster. The idea is quite simple: When the software running on one machine wants to make sure another machine in the cluster is not using a resource, pull the plug on the other machine. It's simple and reliable, albeit admittedly brutal. %description pils PILS is an generalized and portable open source Plugin and Interface Loading System. PILS was developed as part of the Open Cluster Framework reference implementation, and is designed to be directly usable by a wide variety of other applications. PILS manages both plugins (loadable objects), and the interfaces these plugins implement. PILS is designed to support any number of plugins implementing any number of interfaces. %prep %setup %patch0 -p0 %build %configure \ --enable-ltdl-convenience %{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} %makeinstall %{__install} -Dp -m0644 rc.config.heartbeat %{buildroot}%{_localstatedir}/adm/fillup-templates/rc.config.heartbeat %{__ln_s} -f %{_sbindir}/ldirectord %{buildroot}%{_sysconfdir}/ha.d/resource.d/ldirectord ### Clean up docdir %{__rm} -f doc/Makefile* %clean %{__rm} -rf %{buildroot} %files %defattr(-, root, root, 0755) %doc doc/* %doc %{_mandir}/man8/heartbeat.* %doc %{_mandir}/man8/apphbd.* %doc %{_mandir}/man8/stonith.* %dir /etc/ha.d /etc/ha.d/harc /etc/ha.d/shellfuncs /etc/ha.d/rc.d /etc/ha.d/README.config /etc/ha.d/cts/CM_fs.py /etc/ha.d/cts/CM_hb.py /etc/ha.d/cts/CTS.py /etc/ha.d/cts/CTSaudits.py /etc/ha.d/cts/CTSlab.py /etc/ha.d/cts/CTStests.py /etc/ha.d/resource.d/ /etc/init.d/heartbeat /etc/logrotate.d/heartbeat /usr/lib/heartbeat /usr/lib/libhbclient.* /usr/lib/libccmclient.* /usr/lib/libplumb.* /usr/lib/libapphb.* /usr/include/heartbeat /usr/include/clplumbing /usr/include/ocf /usr/include/ccm.h /usr/include/ccmlib.h /var/adm/fillup-templates/rc.config.heartbeat %dir /var/lib/heartbeat %attr (600, root, root) /var/lib/heartbeat/fifo %dir %attr (750, root, haclient) /var/lib/heartbeat/api %attr (620, root, haclient) /var/lib/heartbeat/register %attr (755, hacluster, haclient) /var/lib/heartbeat/ccm %attr (1770, root, haclient) /var/lib/heartbeat/casual %attr (200, hacluster, haclient) /var/lib/heartbeat/api/ccm.req %attr (600, hacluster, haclient) /var/lib/heartbeat/api/ccm.rsp %attr (200, hacluster, haclient) /var/lib/heartbeat/api/ipfail.req %attr (600, hacluster, haclient) /var/lib/heartbeat/api/ipfail.rsp # # if ENABLE_SNMP_SUBAGENT=1; then # install mib files and other subagent related stuff; # fi # %define ENABLE_SNMP_SUBAGENT 0 %if %{ENABLE_SNMP_SUBAGENT} /LINUX-HA-MIB.mib %endif %files ldirectord %defattr(-, root, root, 0755) /etc/ha.d/conf /usr/sbin/ldirectord /usr/sbin/supervise-ldirectord-config /etc/logrotate.d/ldirectord /etc/init.d/ldirectord /etc/ha.d/resource.d/ldirectord /usr/man/man8/ldirectord.8* %doc ldirectord/ldirectord.cf %files stonith %defattr(-, root, root, 0755) /usr/include/stonith /usr/lib/libstonith.* /usr/lib/stonith /usr/sbin/stonith /usr/sbin/meatclient %files pils %defattr(-, root, root, 0755) /usr/include/pils /usr/lib/libpils.* /usr/lib/pils/plugins %pre ########################################################### # # This isn't perfect. But getting every distribution # to agree on group id's seems hard to me :-( # if getent group haclient >/dev/null then : OK group haclient already present else GROUPOPT="-g 65" if usr/sbin/groupadd $GROUPOPT haclient 2>/dev/null then : OK we were able to add group haclient else usr/sbin/groupadd haclient fi fi if getent passwd hacluster >/dev/null then : OK user hacluster already present else USEROPT="-g haclient" if usr/sbin/useradd $USEROPT hacluster 2>/dev/null then : OK we were able to add user hacluster else usr/sbin/useradd hacluster fi fi %post if [ -f etc/SuSE-release ] then start=75 stop=05 for d in etc/init.d/rc[235].d do rm -f $d/[SK]*[0-9]heartbeat ln -s ../heartbeat $d/S${start}heartbeat ln -s ../heartbeat $d/K${stop}heartbeat done FILLUP=/bin/fillup if $FILLUP -q -d = etc/rc.config var/adm/fillup-templates/rc.config.heartbeat then : $FILLUP returned OK else echo "ERROR: $FILLUP failed. This should not happen. Please compare" echo "/etc/rc.config and /var/adm/fillup-templates/rc.config.heartbeat" echo "and update by hand." fi elif [ -x sbin/chkconfig ] then sbin/chkconfig --add heartbeat fi true %preun Uninstall_PPP_hack() { file2hack=etc/ppp/ip-up.local echo "NOTE: Restoring /$file2hack" MARKER="Heartbeat" ed -s $file2hack <<-!EOF 2>/dev/null H g/ $MARKER\$/d w !EOF } if [ $1 = 0 ] then [ -x sbin/chkconfig ] && sbin/chkconfig --del heartbeat if [ ! -x etc/ppp/ip-up.heart ] then Uninstall_PPP_hack fi fi if [ -r etc/SuSE-release ] then rm -f etc/init.d/rc[235].d/[SK]*[0-9]heartbeat fi true %changelog * Sat Apr 08 2006 Dries Verachtert <dries@ulyssis.org> - 1.0.2-0.2 - Rebuild for Fedora Core 5. * Sun Jan 19 2003 Dag Wieers <dag@wieers.com> - Initial package. (using DAR)