Sophie

Sophie

distrib > Mandriva > 2006.0 > x86_64 > by-pkgid > c384e884922fe70b330762744552cf23 > files > 8

heartbeat-1.2.3-5mdk.src.rpm

%define version	1.2.3
%define rel	5
%define name 	heartbeat

# compatability macros
%{!?lib: %global lib lib}
%{!?mklibname: %global mklibname(ds) %lib%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel}}
%{!?mkrel:%define mkrel(c:) %{-c:0.%{-c*}.}%{!?_with_unstable:%(perl -e '$_="%{1}";m/(.\*)(\\d+)$/;$rel=${2}-1;re;print "$1$rel";').%{?subrel:%subrel}%{!?subrel:1}.%{?distversion:%distversion}%{?!distversion:%(echo $[%{mdkversion}/10])}}%{?_with_unstable:%{1}}%{?distsuffix:%distsuffix}%{?!distsuffix:mdk}}

%if %mdkversion <= 1000
%define __libtoolize /bin/true
%endif

%define heartmajor 0
%define libheart %mklibname heartbeat %heartmajor

%define stonithmajor 0
%define libstonith %mklibname heartbeat-stonith %stonithmajor

%define pilsmajor 0
%define libpils %mklibname heartbeat-pils %pilsmajor

Summary:	Heartbeat - heartbeat subsystem for High-Availability Linux
Name:		%{name}
Version:	%{version}
Release:	%mkrel %rel
License:	GPL
URL:		http://linux-ha.org/
Group:		System/Servers
Source0:	http://linux-ha.org/download/%{name}-%{version}.tar.bz2
Source1:	haresources
Source2:	ha.cf
Source3:	authkeys
Source4:	www.cf
#Patch0:	ldirectord-init.patch
#Patch1:	heartbeat-time.patch
#Patch2:	heartbeat-init.patch
Patch3:		heartbeat-1.0.4-ldirectory-usage.patch.bz2
Patch4:		heartbeat-1.2.3-misc_security_fixes.patch.bz2
Patch5:		heartbeat-1.2.3-gcc4.patch.bz2
Requires:	sysklogd
BuildRequires:	e2fsprogs-devel
BuildRequires:	glib-devel
BuildRequires:	libdb-devel
BuildRequires:	libxml-devel
BuildRequires:	libxml2-devel
BuildRequires:	lynx
BuildRequires:	net2-devel >= 1.1.2.1-1mdk
BuildRequires:	net-snmp
BuildRequires:	net-snmp-devel
BuildRequires:	openssh-clients
BuildRequires:	openssl-devel
BuildRequires:	pcre-devel
BuildRequires:	pkgconfig
Requires(pre):		rpm-helper
Buildroot:	%{_tmppath}/%{name}-%{version}-%{release}-%{release}-buildroot

%description
heartbeat is a basic heartbeat 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 gratuitious 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 braodcast (ethernet, etc)
	- Bidirectional Serial PPP/UDP Rings (using PPP)

%package -n	%{libheart}
Summary:	Development files from heartbeat
Group:		System/Libraries
Provides:	lib%{name} = %{version}-%{release}

%description -n	%{libheart}
Library need by heartbeat
heartbeat is a basic heartbeat 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 gratuitious 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 braodcast (ethernet, etc)
    - Bidirectional Serial PPP/UDP Rings (using PPP)

%package -n	%{libheart}-devel
Summary:	Development files from heartbeat
Group:		Development/Other
Provides:	lib%{name}-devel = %{version}-%{release}
Requires:	%{libheart} = %{version}

%description -n	%{libheart}-devel
Development files from heartbeat
heartbeat is a basic heartbeat 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 gratuitious 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 braodcast (ethernet, etc)
    - Bidirectional Serial PPP/UDP Rings (using PPP)

%package	ldirectord
Summary:	Monitor daemon for maintaining high availability resources
Group:		System/Servers
Requires:	perl perl-libwww-perl perl-Net_SSLeay ipvsadm
Requires(pre):		rpm-helper

%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/).

%package	stonith
Summary:	Provides an interface to Shoot The Other Node In The Head
Group:		System/Servers
Requires:	telnet

%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.

%package -n	%{libstonith}
Summary:	Library from heartbeat
Group:		System/Libraries
Provides:	libstonith = %{version}-%{release}
Provides:	libhearbeat-stonith = %{version}-%{release}

%description -n	%libstonith
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.

%package -n	%{libstonith}-devel
Summary:	Development files from heartbeat
Group:		Development/Other
Provides:	libstonith-devel = %{version}-%{release}
Provides:	libhearbeat-stonith-devel = %{version}-%{release}
Requires:	%{libstonith} = %{version}

%description -n	%{libstonith}-devel
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.

%package	pils
Summary:	Provides a general plugin and interface loading library
Group:		System/Servers

%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.

%package -n	%{libpils}
Summary:	Provides a general plugin and interface loading library
Group:		System/Libraries
Provides:	libpils = %{version}-%{release}
Provides:	libheartbeat-pils = %{version}-%{release}

%description -n %{libpils}
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.

%package -n	%{libpils}-devel
Summary:	Provides a general plugin and interface loading library
Group:		Development/Other
Requires:	%{libpils} = %{version}
Provides:	libpils-devel = %{version}-%{release}
Provides:	libheartbeat-pils-devel = %{version}-%{release}

%description -n	%{libpils}-devel
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 -q
#%patch0 -p0 -b .orig
#%patch1 -p1 -b .orig
#%patch2 -p0 -b .orig
%patch3 -p1 -b .ldirectory-usage
%patch4 -p1 -b .can-2005-2231
%patch5 -p1 -b .gcc4

%build
%configure2_5x --localstatedir=/var --with-initdir=%{_initrddir}
%serverbuild
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DUSE_VENDOR_CF_PATH=1"
%make 

%install
rm -Rf %{buildroot}
%makeinstall_std

%multiarch_includes %{buildroot}%{_includedir}/pils/plugin.h
%multiarch_includes %{buildroot}%{_includedir}/heartbeat/heartbeat.h

install -d %{buildroot}%{_sysconfdir}/ha.d/ppp.d

install -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/ha.d
install -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/ha.d
install -m600 %{SOURCE3} %{buildroot}%{_sysconfdir}/ha.d
install -m644 %{SOURCE4} %{buildroot}%{_sysconfdir}/ha.d/conf

cd %{buildroot}%{_sysconfdir}/ha.d/resource.d
    ln -s %{_sbindir}/ldirectord ldirectord
cd -

TEMPL=%{buildroot}%_localstatedir/heartbeat/fillup-templates
install -d $TEMPL
install -m0644 rc.config.heartbeat $TEMPL
install -m0644 ldirectord/ldirectord.cf  %{buildroot}%{_sysconfdir}/ha.d/conf
perl -pi -e "s,$RPM_BUILD_DIR/%{name}-%{version},,g" %{buildroot}%{_libdir}/libstonith.la
rm -f %{buildroot}%{_libdir}/*.so

%pre
if grep -q '^haclient:' etc/group >/dev/null ; then
: 
else
	GROUPOPT="-g 60"
	if
			usr/sbin/groupadd $GROUPOPT haclient 2>/dev/null
		then
		:
		else
			usr/sbin/groupadd haclient
		fi
fi

%post
#
#	Hack to allow ppp-udp to be notified about PPP processes starting
#
Install_PPP_hack() {
  file2hack=/etc/ppp/ip-up.local
  echo "NOTE: Modifying $file2hack"
  if
    [ ! -f $file2hack ]
  then
    echo '#!/bin/bash' > $file2hack
    chmod 755 $file2hack
  fi
  MARKER="Heartbeat"
  ed -s $file2hack <<-!EOF  2>/dev/null
H
g/ $MARKER\$/d
\$a
#	The following lines added for Linux-HA support		# $MARKER
DEVFILE=\`echo \$DEVICE | sed -e 's!^/dev/!!' -e 's!/!.!g'\`	# $MARKER
OUTFILE=/etc/ha.d/ppp.d/\$DEVFILE				# $MARKER
(			# $MARKER
echo "\$IPREMOTE"	# $MARKER
echo "\$IFNAME"		# $MARKER
echo "\$PPPD_PID"	# $MARKER
echo "\$IPLOCAL"		# $MARKER
) > \$OUTFILE		# $MARKER
.
w
!EOF
}

if
  [ ! -x /etc/ppp/ip-up.heart ]
then
  Install_PPP_hack
fi

# Run heartbeat on startup
%_post_service heartbeat

%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
%_preun_service heartbeat
  if [ ! -x /etc/ppp/ip-up.heart ]; then
    Uninstall_PPP_hack
  fi
fi

%post ldirectord
%_post_service ldirectord

%preun ldirectord
%_preun_service ldirectord

%post -n %{libheart} -p /sbin/ldconfig

%postun -n %{libheart} -p /sbin/ldconfig

%post -n %{libpils} -p /sbin/ldconfig

%postun -n %{libpils} -p /sbin/ldconfig

%post -n %{libstonith} -p /sbin/ldconfig

%postun -n %{libstonith} -p /sbin/ldconfig

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%doc README doc/AUTHORS doc/COPYING doc/ChangeLog
%doc doc/*.html doc/*.txt

%dir %{_sysconfdir}/ha.d
%config(noreplace) %{_sysconfdir}/ha.d/README.config
%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/ha.d/authkeys
%config(noreplace) %{_sysconfdir}/ha.d/ha.cf
%config(noreplace) %{_sysconfdir}/ha.d/harc
%config(noreplace) %{_sysconfdir}/ha.d/haresources
%config(noreplace) %{_sysconfdir}/ha.d/shellfuncs

%dir %{_sysconfdir}/ha.d/rc.d
%config(noreplace) %{_sysconfdir}/ha.d/rc.d/ask_resources
%config(noreplace) %{_sysconfdir}/ha.d/rc.d/ip-request
%config(noreplace) %{_sysconfdir}/ha.d/rc.d/ip-request-resp
%config(noreplace) %{_sysconfdir}/ha.d/rc.d/status
%config(noreplace) %{_sysconfdir}/ha.d/rc.d/hb_takeover

%dir %{_sysconfdir}/ha.d/ppp.d/

%dir %{_sysconfdir}/ha.d/conf/
%config(noreplace) %{_sysconfdir}/ha.d/conf/*

#%dir %{_sysconfdir}/ha.d/cts

#%config(noreplace) %{_sysconfdir}/ha.d/cts/*

%dir %{_sysconfdir}/ha.d/resource.d/
%config(noreplace) %{_sysconfdir}/ha.d/resource.d/*
%config(noreplace) %{_sysconfdir}/logrotate.d/heartbeat

%attr(0755,root,root) %config(noreplace) %{_initrddir}/heartbeat

%{_bindir}/cl_status
%{_mandir}/man1/cl_status.1*
%dir %{_libdir}/heartbeat
%{_libdir}/heartbeat/BasicSanityCheck
%{_libdir}/heartbeat/api_test
%{_libdir}/heartbeat/apphbd
%{_libdir}/heartbeat/apphbtest
%{_libdir}/heartbeat/ccm
%{_libdir}/heartbeat/cts
%{_libdir}/heartbeat/ccm_testclient
%{_libdir}/heartbeat/findif
#%{_libdir}/heartbeat/get_hw_addr
%{_libdir}/heartbeat/ha_config
%{_libdir}/heartbeat/hb_standby
%{_libdir}/heartbeat/heartbeat
%{_libdir}/heartbeat/ipctest
%{_libdir}/heartbeat/ipfail
%{_libdir}/heartbeat/mach_down
%{_libdir}/heartbeat/req_resource
%{_libdir}/heartbeat/send_arp
%{_libdir}/heartbeat/ResourceManager
%{_libdir}/heartbeat/clmtest
%{_libdir}/heartbeat/hb_takeover

%{_libdir}/heartbeat/TestHeartbeatComm
%{_libdir}/heartbeat/checkpointd
%{_libdir}/heartbeat/ckpttest
%{_libdir}/heartbeat/ipctransientclient
%{_libdir}/heartbeat/ipctransientserver
%{_libdir}/heartbeat/recoverymgrd

%dir %{_libdir}/heartbeat/plugins
%dir %{_libdir}/heartbeat/plugins/*
%{_libdir}/heartbeat/plugins/*/*.so

%{_mandir}/man8/apphbd*
%{_mandir}/man8/heartbeat*

%dir %{_localstatedir}/heartbeat
%dir %{_localstatedir}/heartbeat/fillup-templates
%{_localstatedir}/heartbeat/fillup-templates/*

%files -n %libheart
%defattr(-,root,root)
%doc README doc/AUTHORS doc/COPYING doc/ChangeLog
%{_libdir}/libhbclient.so.*
%{_libdir}/libapphb.so.*
%{_libdir}/libccmclient.so.*
%{_libdir}/librecoverymgr.so.*
%{_libdir}/libckpt.so.*
%{_libdir}/libclm.so.*

%files -n %libheart-devel
%defattr(-,root,root)
%doc README doc/AUTHORS doc/COPYING doc/ChangeLog
%{_libdir}/libapphb.a
%{_libdir}/libapphb.la
%{_libdir}/libccmclient.a
%{_libdir}/libccmclient.la
%{_libdir}/librecoverymgr.a
%{_libdir}/librecoverymgr.la
%{_libdir}/libckpt.a
%{_libdir}/libckpt.la
%{_libdir}/libhbclient.a
%{_libdir}/libhbclient.la
%{_libdir}/libplumb.a
%{_libdir}/libplumb.la
%{_libdir}/libclm.a
%{_libdir}/libclm.la
%{_libdir}/heartbeat/plugins/*/*.a
%{_libdir}/heartbeat/plugins/*/*.la
#%{_includedir}/*.h
%dir %{_includedir}/heartbeat
%{_includedir}/heartbeat/*.h
%{multiarch_includedir}/heartbeat/heartbeat.h
%dir %{_includedir}/ocf
%{_includedir}/ocf/*.h
%dir %{_includedir}/clplumbing
%{_includedir}/clplumbing/*.h
%{_includedir}/saf

%files ldirectord
%defattr(-,root,root)
%doc README doc/AUTHORS doc/COPYING doc/ChangeLog
%doc ldirectord/ldirectord.cf ldirectord/README
%config(noreplace) %{_sysconfdir}/ha.d/conf/ldirectord.cf
%config(noreplace) %{_sysconfdir}/logrotate.d/ldirectord
%attr(0755,root,root) %config(noreplace) %{_initrddir}/ldirectord
%{_sbindir}/ldirectord
%{_sbindir}/supervise-ldirectord-config
%{_mandir}/man8/ldirectord*
%{_mandir}/man8/supervise-ldirectord-config*

%files stonith
%defattr(-,root,root)
%doc README doc/AUTHORS doc/COPYING doc/ChangeLog
%{_sbindir}/stonith
%{_sbindir}/meatclient
%dir %{_libdir}/stonith
%dir %{_libdir}/stonith/plugins
%dir %{_libdir}/stonith/plugins/stonith
%{_libdir}/stonith/plugins/stonith/*.so
%{_mandir}/man8/stonith*
%{_mandir}/man8/meatclient*

%files -n %libstonith
%defattr(-,root,root)
%doc README doc/AUTHORS doc/COPYING doc/ChangeLog
%{_libdir}/libstonith.so.*

%files -n %libstonith-devel
%defattr(-,root,root)
%doc README doc/AUTHORS doc/COPYING doc/ChangeLog
%{_libdir}/libstonith.a
%{_libdir}/libstonith.la
%{_libdir}/stonith/plugins/stonith/*.a
%{_libdir}/stonith/plugins/stonith/*.la
%dir %{_includedir}/stonith
%{_includedir}/stonith/*.h

%files pils
%defattr(-,root,root)
%dir %{_libdir}/pils
%dir %{_libdir}/pils/plugins
%dir %{_libdir}/pils/plugins/InterfaceMgr
%{_libdir}/pils/plugins/InterfaceMgr/*.so

%files -n %libpils
%defattr(-,root,root)
%doc README doc/AUTHORS doc/COPYING doc/ChangeLog
%{_libdir}/libpils.so.*
%{_libdir}/libplumb.so.*

%files -n %libpils-devel
%defattr(-,root,root)
%doc README doc/AUTHORS doc/COPYING doc/ChangeLog
%dir %{_includedir}/pils
%{_includedir}/pils/*.h
%{multiarch_includedir}/pils/plugin.h
%{_libdir}/libpils.a
%{_libdir}/libpils.la
%{_libdir}/pils/plugins/InterfaceMgr/*.a
%{_libdir}/pils/plugins/InterfaceMgr/*.la

%changelog
* Sat Aug 13 2005 Olivier Blin <oblin@mandriva.com> 1.2.3-5mdk
- multiarch support

* Fri Aug 12 2005 Olivier Blin <oblin@mandriva.com> 1.2.3-4mdk
- fix wrong operator in BuildRequires (thanks to Gwenole)
- remove Requires on release
- fix prereq

* Fri Aug 12 2005 Olivier Blin <oblin@mandriva.com> 1.2.3-3mdk
- from Vincent Danen: security update for CAN-2005-2231
- fix BuildRequires
- Patch5: gcc4 fixes

* Wed Dec 15 2004 Buchan  Milne <bgmilne@linux-mandrake.com> 1.2.3-2mdk
- fix build on 10.0 and older
- ditro-specific release tag

* Fri Nov 12 2004 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 1.2.3-1mdk
- 1.2.3

* Sun Aug 01 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 1.2.2-2mdk
- fix deps
- misc spec file fixes

* Mon May 31 2004 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 1.2.2-1mdk
- 1.2.2
- use libtoolize again
- cosmetics

* Fri May 07 2004 Erwan Velu <erwan@mandrakesoft.com> 1.2.1-1mdk
- 1.2.1
- Adding missing files

* Mon Mar 01 2004 Michael Scherer <misc@mandrake.org> 1.2.0-2mdk
- DEP
 
* Thu Feb 26 2004 Buchan Milne <bgmilne@linux-mandrake.com> 1.2.0-1mdk
- 1.2.0

* Tue Jan 20 2004 Frederic Lepied <flepied@mandrakesoft.com> 1.0.4-2mdk
- removed unpackaged files
- fixed usage string for ldirectory init script

* Tue Nov 18 2003 Buchan Milne <bgmilne@linux-mandrake.com> 1.0.4-1mdk
- 1.0.4
- Fix build on old releases (provide mklibname macros)

* Tue Jul 15 2003 Olivier Thauvin <thauvin@aerov.jussieu.fr> 1.0.2-2mdk
- Buildrequires (Michael Scherer <scherer.michael@free.fr>)

* Mon May 05 2003 Olivier Thauvin <thauvin@aerov.jussieu.fr> 1.0.2-1mdk
- 1.0.2
- rebuild for rpm 4.2
- split lib and use %%mklibname
- some cleanup
- ...

* Tue Oct 09 2001 Philippe Libat <philippe@mandrakesoft.com> 0.4.9-1mdk
- new version 0.4.9
- split package

* Mon Oct 08 2001 Stefan van der Eijk <stefan@eijk.nu> 0.4.8-5mdk
- BuildRequires: db3-devel
- Copyright --> License

* Fri Mar 30 2001 Philippe Libat <philippe@mandrakesoft.com>  0.4.8-4mdk
- use post_service and preun_service macros
- use serverbuild macro

* Tue Sep 12 2000 Philippe Libat <philippe@mandrakesoft.com>  0.4.8-3mdk
- patch ldirectord init script

* Thu Aug 31 2000 Philippe Libat <philippe@mandrakesoft.com>  0.4.8-2mdk
- add www.cf config
- add %%{_sysconfdir} %%{_var}

* Wed Aug 30 2000 Philippe Libat <philippe@mandrakesoft.com>  0.4.8-1mdk
- update version 0.4.8
- replace %%{_mandir} %%{_docdir} %%{_initrddir}

* Tue Jul 4 2000 Nicolas Planel <nicolas@mandrakesoft.com> 
- Spec file was generated for Linux-Mandrake distribution.
 
* Sat Dec 25 1999  Alan Robertson <alanr@henge.com>,
     Volker Wiegand <wiegand@suse.de>, Rudy Pawul <rpawul@iso-ne.com>,
     Mitja Sarp <mitja@lysator.liu.se>, Jacob Rief <jacob.rief@tis.at>
     and Guenther Thomsen <thomsen@cs.tu-berlin.de>

+ Version 0.4.7
  + Put in lots of code to make lost packet retransmission happen
  + Stopped trying to use the /proc/ha interface
  + Finished the error recovery in the heartbeat protocol (and got it to work)
  + Added test code for the heartbeat protocol
  + Raised the maximum length of a node name
  + Added Jacob Rief's ldirectord resource type
  + Added Stefan Salzer's <salt@cin.de> fix for a 'grep' in IPaddr which
	wasn't specific enough and would sometimes get IPaddr confused on
	IP addresses that prefix-matched.
  + Added Lars Marowsky-Bree's suggestion to make the code almost completely
	robust with respect to jumping the clock backwards and forwards
  + Added code from Michael Moerz <mike@cubit.at> to keep findif from
	core dumping if /proc/route can't be read.

* Mon Nov 22 1999  Alan Robertson <alanr@henge.com>,
     Volker Wiegand <wiegand@suse.de>, Rudy Pawul <rpawul@iso-ne.com>,
     Mitja Sarp <mitja@lysator.liu.se>,
     and Guenther Thomsen <thomsen@cs.tu-berlin.de>

* Tue Nov 22 1999  Alan Robertson <alanr@henge.com>,
     Volker Wiegand <wiegand@suse.de>, Rudy Pawul <rpawul@iso-ne.com>,
     Mitja Sarp <mitja@lysator.liu.se>,
     and Guenther Thomsen <thomsen@cs.tu-berlin.de>,

+ Version 0.4.6
  + Fixed timing problem in "heartbeat restart" so it's reliable now
  + Made start/stop status compatible with SuSE expectations
  + Made resource status detection compatible with SuSE start/stop expectations
  + Fixed a bug relating to serial and ppp-udp authentication (it never worked)
  + added a little more substance to the error recovery for the HB protocol.
  + Fixed a bug for logging from shell scripts
  + Added a little logging for initial resource acquisition
  + Added #!/bin/sh to the front of shell scripts
  + Fixed Makefile, so that the build root wasn't compiled into pathnames
  + Turned on CTSRTS, enabling for flow control for serial ports.
  + Fixed a bug which kept it from working in non-English environments

* Wed Oct 13 1999  Alan Robertson <alanr@henge.com>,
     Volker Wiegand <wiegand@suse.de>, Rudy Pawul <rpawul@iso-ne.com>,
     Mitja Sarp <mitja@lysator.liu.se>,
     and Guenther Thomsen <thomsen@cs.tu-berlin.de>

+ Version 0.4.5
  + Mijta Sarp added a new feature to authenticate heartbeat packets
	using a variety of strong authentication techniques
  + Changed resource acquisition and relinquishment to occur in heartbeat,
       instead of in the start/stop script.  This means you don't *really*
       have to use the start/stop script if you don't want to.
  + Added -k option to gracefully shut down current heartbeat instance
  + Added -r option to cause currently running heartbeat to reread config files
  + Added -s option to report on operational status of "heartbeat"
  + Sped up resource acquisition on master restart.
  + Added validation of ipresources file at startup time.
  + Added code to allow the IPaddr takeover script to be given the
        interface to take over, instead of inferring it.  This was requested
        by Lars Marowsky-Bree
  + Incorporated patch from Guenther Thomsen to implement locking for
        serial ports used for heartbeats
  + Incorporated patch from Guenther Thomsen to clean up logging.
        (you can now use syslog and/or file logs)
  + Improved FreeBSD compatibility.
  + Fixed a bug where the FIFO doesn't get created correctly.
  + Fixed a couple of uninitialized variables in heartbeat and /proc/ha code
  + Fixed longstanding crash bug related to getting a SIGALRM while in malloc
	or free.
  + Implemented new memory management scheme, including memory stats

* Thu Sep 16 1999  Alan Robertson <alanr@henge.com>,
     Volker Wiegand <wiegand@suse.de>, and Rudy Pawul <rpawul@iso-ne.com>
+ Version 0.4.4
  + Fixed a stupid error in handling CIDR addresses in IPaddr.
  + Updated the documentation with the latest from Rudy.

* Wed Sep 15 1999  Alan Robertson <alanr@henge.com>,
     Volker Wiegand <wiegand@suse.de>, and Rudy Pawul <rpawul@iso-ne.com>
+ Version 0.4.3
  + Changed startup scripts to create /dev/watchdog if needed
  + Turned off loading of /proc/ha module by default.
  + Incorporated bug fix from Thomas Hepper <th@ant.han.de> to IPaddr for
	PPP configurations
  + Put in a fix from Gregor Howey <ghowey@bremer-nachrichten.de>
	where Gregor found that I had stripped off the ::resourceid part
	of the string in ResourceManager resulting in some bad calls later on.
  +  Made it compliant with the FHS (filesystem hierarchy standard)
  +  Fixed IP address takeover so we can take over on non-eth0 interface
  +  Fixed IP takeover code so we can specify netmasks and broadcast addrs,
	or default them at the user's option.
  +  Added code to report on message buffer usage on SIGUSR[12]
  +  Made SIGUSR1 increment debug level, and SIGUSR2 decrement it.
  +  Incorporated Rudy's latest "Getting Started" document
  +  Made it largely Debian-compliant.  Thanks to Guenther Thomsen, Thomas
	Hepper, Iñaki Fernández Villanueva and others.
  +  Made changes to work better with Red Hat 6.1, and SMP code.
  +  Sometimes it seems that the Master Control Process dies :-(

* Sat Aug 14 1999  Alan Robertson <alanr@henge.com>,
     Volker Wiegand <wiegand@suse.de>, and Rudy Pawul <rpawul@iso-ne.com>
+ Version 0.4.2
  + Implemented simple resource groups
  + Implemented application notification for groups starting/stopping
  + Eliminated restriction on floating IPs only being associated with eth0
  + Added a uniform resource model, with IP resources being only one kind.
	(Thanks to Lars Marowsky-Bree for a good suggestion)
  + Largely rewrote the IP address takeover code, making it clearer, fit
	into the uniform resource model, and removing some restrictions.
  + Preliminary "Getting Started" document by Rudy Pawul
  + Improved the /proc/ha code
  + Fixed memory leak associated with serial ports, and problem with return
	of control to the "master" node.
	(Thanks to Holger Kiehl for reporting them, and testing fixes!)

* Tue Jul 6 1999  Alan Robertson <alanr@henge.com> and
     Volker Wiegand <Volker.Wiegand@SuSE.de>
+ Version 0.4.1
  + Fixed major memory leak in 0.4.0 (oops!)
  + Added code to eliminate duplicate packets and log lost ones
  + Tightened up PPP/UDP startup/shutdown code
  + Made PPP/UDP peacefully coexist with "normal" udp
  + Made logs more uniform and neater
  + Fixed several other minor bugs
  + Added very preliminary kernel code for monitoring and controlling
	heartbeat via /proc/ha.  Very cool, but not really done yet.

* Wed Jun 30 1999 Alan Robertson <alanr@henge.com>
+ Version 0.4.0
  + Changed packet format from single line positional parameter style
	to a collection of {name,value} pairs.  A vital change for the future.
  + Fixed some bugs with regard to forwarding data around rings
  + We now modify /etc/ppp/ip-up.local, so PPP-udp works out of the box
	(at least for Red Hat)
  + Includes the first version of Volker Wiegand's Hardware Installation Guide
	(it's pretty good for a first version!)

* Wed Jun 09 1999 Alan Robertson <alanr@henge.com>
+ Version 0.3.2
  + Added UDP/PPP bidirectional serial ring heartbeat
	(PPP ensures data integrity on the serial links)
  + fixed a stupid bug which caused shutdown to give unpredictable
	results
  + added timestamps to /var/log/ha-log messages
  + fixed a couple of other minor oversights.

* Sun May 10 1999 Alan Robertson <alanr@henge.com>
+ Version 0.3.1
  + Make ChangeLog file from RPM specfile
  + Made ipresources only install in the DOC directory as a sample

* Sun May 09 1999 Alan Robertson <alanr@henge.com>
+ Version 0.3.0
  + Added UDP broadcast heartbeat (courtesy of Tom Vogt)
  + Significantly restructured code making it easier to add heartbeat media
  + added new directives to config file:
    + udp interface-name
    + udpport port-number
    + baud    serial-baud-rate
  + made manual daemon shutdown easier (only need to kill one)
  + moved the sample ha.cf file to the Doc directory

* Sat Mar 27 1999 Alan Robertson <alanr@henge.com>
+ Version 0.2.0
  + Make an RPM out of it
  + Integrated IP address takeover gotten from Horms
  + Added support to tickle a watchdog timer whenever our heart beats
  + Integrated enough basic code to allow a 2-node demo to occur
  + Integrated patches from Andrew Hildebrand <andrew@pdi.com> to allow it
    to run under IRIX.
  - Known Bugs
    - Only supports 2-node clusters
    - Only supports a single IP interface per node in the cluster
    - Doesn't yet include Tom Vogt's ethernet heartbeat code
    - No documentation
    - Not very useful yet :-)