1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

. update to version 2.1.4;

. add a note to /usr/ports/UPDATING;
. add $PATCH_DEPENDS found by tinderbox test;
. switch maintainership to the submitter;
. use %%DATADIR%% at pkg-plist;
. use $DIST_SUBDIR because distname does not include "heartbeat" string.

PR:		ports/121050
Submitted by:	Justin Head <ports@encarnate.com>
Approved by:	scott-ports@tummy.com (maintainer timeout at least two months)
This commit is contained in:
Boris Samorodov 2009-07-29 09:13:31 +00:00
parent 6bf1805d40
commit 802b8d8147
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=238602
15 changed files with 888 additions and 490 deletions

View File

@ -6,6 +6,16 @@ You should get into the habit of checking this file for changes each
time you update your ports collection, before attempting any port
upgrades.
20090729:
AFFECTS: users of sysutils/heartbeat
AUTHOR: ports@encarnate.com
Heartbeat has been upgraded to the 2.1.4 release. Older configurations
based on version 1 should still work. Read more about the new features
and possible configuration changes at the following urls:
http://clusterlabs.org/wiki/Documentation (Configuration 0.6 Explained)
http://www.linux-ha.org/GettingStartedRevisedV2
20090724:
AFFECTS: users of www/rubygem-rails
AUTHOR: pgollucci@FreeBSD.org

View File

@ -6,85 +6,153 @@
#
PORTNAME= heartbeat
PORTVERSION= 1.2.5
PORTREVISION= 6
PORTVERSION= 2.1.4
CATEGORIES= sysutils
MASTER_SITES= http://linux-ha.org/download/
#MASTER_SITES= http://hg.linux-ha.org/lha-2.1/archive/STABLE-2.1.4.tar.bz2
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= kuriyama/heartbeat
DISTNAME= STABLE-${PORTVERSION}
DIST_SUBDIR= heartbeat
MAINTAINER= scott-ports@tummy.com
MAINTAINER= ports@encarnate.com
COMMENT= Subsystem for High-Availability Clustering
BUILD_DEPENDS= ${LIBNET_CONFIG}:${PORTSDIR}/net/libnet
LIB_DEPENDS= curl.5:${PORTSDIR}/ftp/curl \
xml2.5:${PORTSDIR}/textproc/libxml2
LIB_DEPENDS= gnutls:${PORTSDIR}/security/gnutls \
net-1.1.3:${PORTSDIR}/net/libnet-devel \
uuid:${PORTSDIR}/misc/e2fsprogs-libuuid \
xml2:${PORTSDIR}/textproc/libxml2
PATCH_DEPENDS= ${LOCALBASE}/bin/libtoolize:${PORTSDIR}/devel/libtool15
USE_AUTOTOOLS= libtool:15
GNU_CONFIGURE= yes
USE_PERL5= yes
USE_AUTOTOOLS= autoconf:262 autoheader:262 automake:110 aclocal:110 libtool:15
AUTOMAKE_ARGS+= --add-missing --include-deps --copy
ACLOCAL_ARGS+= -I ${LOCALBASE}/share/aclocal
USE_BZIP2= yes
USE_GETTEXT= yes
USE_GMAKE= yes
USE_GNOME= glib12
USE_GNOME= glib20
USE_LDCONFIG= yes
USE_PYTHON= yes
CONFIGURE_ARGS+= --disable-fatal-warnings \
--with-initdir=${PREFIX}/etc/rc.d \
--localstatedir=/var \
--with-group-id=275 --with-ccmuser-id=275
CONFIGURE_ENV= CPPFLAGS="`${LIBNET_CONFIG} --cflags`" \
LDFLAGS="`${LIBNET_CONFIG} --libs`"
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include/libnet113" \
LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib/libnet113"
CONFIGURE_ARGS= --prefix=${PREFIX} \
--localstatedir=/var \
--with-miBsdir=${PREFIX}/snmp/mibs \
--with-initdir=${PREFIX}/etc/rc.d \
--with-group-id=275 \
--with-ccmuser-id=275 \
--with-ocf-root=${PREFIX}/etc/ocf \
--disable-rpath \
--disable-dopd \
--disable-fatal-warnings
SUB_FILES= pkg-install pkg-message
SUB_LIST= BATCH=${BATCH}
SUB_FILES= pkg-install
PKGDEINSTALL= ${PKGINSTALL}
MAN1= cl_status.1 hb_standby.1 hb_takeover.1
MAN8= apphbd.8 heartbeat.8 ldirectord.8 meatclient.8 \
stonith.8 supervise-ldirectord-config.8
MAN1= cl_status.1 ha_logger.1 hb_addnode.1 hb_delnode.1 hb_standby.1 hb_takeover.1
MAN8= apphbd.8 cibadmin.8 crm_resource.8 ha_logd.8 heartbeat.8 \
meatclient.8 stonith.8
LIBNET_CONFIG?= ${LOCALBASE}/bin/libnet11-config
OPTIONS= MGMT "Enable X11 Management Utilities" Off \
LDIRECTORD "Enable Linux Director Daemon" Off
.include <bsd.port.pre.mk>
.if !defined(BATCH)
BATCH=NO
.endif
.if defined(WITH_MGMT)
BUILD_DEPENDS+= swig:${PORTSDIR}/devel/swig13
RUN_DEPENDS+= py-gtk2:${PORTSDIR}/x11-toolkits/py-gtk2
PLIST_SUB+= MGMT=""
.else
CONFIGURE_ARGS+= --disable-mgmt
PLIST_SUB+= MGMT="@comment "
.endif
.if defined(WITH_LDIRECTORD)
RUN_DEPENDS+= ${SITE_PERL}/LWP/UserAgent.pm:${PORTSDIR}/www/p5-libwww \
${SITE_PERL}/Mail/Send.pm:${PORTSDIR}/mail/p5-Mail-Tools
#ipvsadm:${PORTSDIR}/net/ipvs
USE_PERL5_RUN= yes
PLIST_SUB+= LDIRECTORD=""
MAN8+= ldirectord.8
.else
CONFIGURE_ARGS+= --disable-ldirectord
PLIST_SUB+= LDIRECTORD="@comment "
.endif
pre-patch:
@${MV} ${WRKDIR}/Heartbeat-STABLE-2-1-${DISTNAME} ${WRKSRC}
post-patch:
@${REINPLACE_CMD} -e "s|logrotate\.d||" \
${WRKSRC}/heartbeat/Makefile.in \
${WRKSRC}/ldirectord/Makefile.in
@${LN} -s ${WRKSRC}/include/config.h ${WRKSRC}/config.h
@${REINPLACE_CMD} -e \
's|libnet-config|${LIBNET_CONFIG}|; \
s|-lnet|`${LIBNET_CONFIG} --libs`|' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
@${LN} -s $AUTOCONF ${WRKSRC}/autoconf
@${LN} -s $AUTOHEADER ${WRKSRC}/autoheader
@${LN} -s $AUTOMAKE ${WRKSRC}/automake
@${LN} -s $LIBTOOL ${WRKSRC}/libtool
@cd ${WRKSRC} && \
${LIBTOOLIZE} --automake --ltdl --force --copy && \
${TAR} -cf libltdl.tar libltdl && \
${RM} -rf libltdl
.if !defined(NOPORTDOCS)
@${REINPLACE_CMD} -e 's|^\(docdir.*doc/\).*|\1${PORTNAME}|' \
${WRKSRC}/configure.in \
${WRKSRC}/configure \
${WRKSRC}/doc/Makefile.am \
${WRKSRC}/doc/Makefile.in
.else
@${REINPLACE_CMD} -e 's|^\(SUBDIRS.*\)doc\(.*\)|\1 \2|' \
${WRKSRC}/Makefile.am \
${WRKSRC}/Makefile.in \
${WRKSRC}/telecom/cms/Makefile.am \
${WRKSRC}/telecom/cms/Makefile.in
${WRKSRC}/doc/Makefile.am
.endif
.if !defined(BATCH)
BATCH=no
.endif
post-deinstall:
@BATCH=${BATCH} ${SH} ${PKGINSTALL} ${PKGNAME} DEINSTALL
pre-install:
@BATCH=${BATCH} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
# some subdirs treat man as documentation, therefor we have to install
# those man pages manually if NOPORTDOCS is defined
post-install:
@if [ ! -f ${PREFIX}/etc/ha.d/authkeys ]; then \
${CP} -p ${DOCSDIR}/authkeys ${PREFIX}/etc/ha.d/authkeys ; \
fi
${CP} -p ${DOCSDIR}/authkeys ${PREFIX}/etc/ha.d/authkeys.sample
${CHMOD} 600 ${PREFIX}/etc/ha.d/authkeys*
@if [ ! -f ${PREFIX}/etc/ha.d/ha.cf ]; then \
${CP} -p ${DOCSDIR}/ha.cf ${PREFIX}/etc/ha.d/ha.cf ; \
fi
${CP} -p ${DOCSDIR}/ha.cf ${PREFIX}/etc/ha.d/ha.cf.sample
@if [ ! -f ${PREFIX}/etc/ha.d/logd.cf ]; then \
${CP} -p ${DOCSDIR}/logd.cf ${PREFIX}/etc/ha.d/logd.cf ; \
fi
${CP} -p ${DOCSDIR}/logd.cf ${PREFIX}/etc/ha.d/logd.cf.sample
.if defined(WITH_LDIRECTORD)
@if [ ! -f ${PREFIX}/etc/ha.d/ldirectord.cf ]; then \
${CP} -p ${WRKSRC}/ldirectord/ldirectord.cf ${PREFIX}/etc/ha.d/ldirectord.cf ; \
${CP} -p ${WRKSRC}/ldirectord/ldirectord.cf ${PREFIX}/etc/ha.d/ldirectord.cf.sample ; \
fi
.endif
# Some subdirs treat man as documentation, therefor we have to install
# those man pages manually if NOPORTDOCS is defined.
.if defined(NOPORTDOCS)
.for f in ${MAN1}
${INSTALL_MAN} ${WRKSRC}/doc/${f} ${MANPREFIX}/man/man1
.endfor
.for f in apphbd.8 heartbeat.8
.for f in apphbd.8 cibadmin.8 crm_resource.8 ha_logd.8 heartbeat.8
${INSTALL_MAN} ${WRKSRC}/doc/${f} ${MANPREFIX}/man/man8
.endfor
.endif
.include <bsd.port.mk>
@${CAT} ${PKGMESSAGE}
post-deinstall:
@${SH} ${PKGINSTALL} ${PKGNAME} DEINSTALL
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
MD5 (heartbeat-1.2.5.tar.gz) = d59b021af0e1cbaba56345cc67f6ef12
SHA256 (heartbeat-1.2.5.tar.gz) = 46f88a69324012317a4426dc93654ab28947b77675826686624d15cd5a4e357f
SIZE (heartbeat-1.2.5.tar.gz) = 2107371
MD5 (heartbeat/STABLE-2.1.4.tar.bz2) = 021dd61c78754ecedef94dae5cf922d0
SHA256 (heartbeat/STABLE-2.1.4.tar.bz2) = 3c2f9a7a79fef46c821ee663380d45c81c8351e0fe20b393be47acf1e6fa2889
SIZE (heartbeat/STABLE-2.1.4.tar.bz2) = 1913893

View File

@ -1,20 +0,0 @@
--- configure.orig 2009-01-20 22:45:46.000000000 +0100
+++ configure 2009-01-20 22:48:19.000000000 +0100
@@ -36536,6 +36536,9 @@
+ac_config_files+="heartbeat/resource.d/BSDService"
+
+
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
@@ -37283,6 +37286,7 @@
"heartbeat/resource.d/Makefile" ) CONFIG_FILES="$CONFIG_FILES heartbeat/resource.d/Makefile" ;;
"heartbeat/resource.d/apache" ) CONFIG_FILES="$CONFIG_FILES heartbeat/resource.d/apache" ;;
"heartbeat/resource.d/AudibleAlarm" ) CONFIG_FILES="$CONFIG_FILES heartbeat/resource.d/AudibleAlarm" ;;
+ "heartbeat/resource.d/BSDService" ) CONFIG_FILES="$CONFIG_FILES heartbeat/resource.d/BSDService" ;;
"heartbeat/resource.d/Delay" ) CONFIG_FILES="$CONFIG_FILES heartbeat/resource.d/Delay" ;;
"heartbeat/resource.d/db2" ) CONFIG_FILES="$CONFIG_FILES heartbeat/resource.d/db2" ;;
"heartbeat/resource.d/Filesystem" ) CONFIG_FILES="$CONFIG_FILES heartbeat/resource.d/Filesystem" ;;

View File

@ -0,0 +1,88 @@
--- configure.in.orig 2008-08-18 07:32:19.000000000 -0500
+++ configure.in 2008-10-11 22:56:48.000000000 -0500
@@ -65,6 +65,13 @@
pf_argv_set=""
case "$host_os" in
+*freebsd*)
+ LIBS="-L/usr/local/lib"
+ CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+ INIT_EXT=""
+ REBOOT_OPTIONS="-d"
+ POWEROFF_OPTIONS="-p"
+ ;;
*bsd*) LIBS="-L/usr/local/lib"
CPPFLAGS="$CPPFLAGS -I/usr/local/include"
INIT_EXT=".sh"
@@ -224,7 +231,7 @@
oldincludedir=`var "$oldincludedir" "$exec_prefix/include"`
infodir=`var "$infodir" "$prefix/info"`
mandir=`var "$mandir" "$exec_prefix/man"`
-docdir=${datadir}/doc/${HB_PKG}-${VERSION}
+docdir=${datadir}/doc/heartbeat
libdir=`var "$libdir" "$exec_prefix/lib"`
libexecdir=`var "$libexecdir" "$exec_prefix/libexec"`
noarchlibdir=`var "$noarchlibdir" "$prefix/lib"`
@@ -237,6 +244,7 @@
dnl Always tries to set the compiler to ANSI C via options (AM)
dnl Can force other with environment variable "CC".
AC_PROG_CC
+AM_PROG_CC_C_O
AC_PROG_CC_STDC
dnl ************************************************************************
@@ -542,7 +550,7 @@
AC_PATH_PROGS(MAILCMD, mail, mailx)
AC_SUBST(MAILCMD)
AC_DEFINE_UNQUOTED(IFCONFIG, "$IFCONFIG", path to the ifconfig command)
-AC_PATH_PROGS(LIBNETCONFIG, libnet-config)
+AC_PATH_PROGS(LIBNETCONFIG, libnet113-config)
AC_PATH_PROGS(GETENT, getent)
AC_PATH_PROGS(IP2UTIL, ip, /sbin/ip)
AC_PATH_PROGS(XML2CONFIG, xml2-config)
@@ -725,13 +733,13 @@
AC_MSG_RESULT(using old version of API)
dnl The old version of the API REQUIRES $LIBNETCONFIG
dnl so we can only deal with new API unless we have it.
- AC_CHECK_LIB(net, libnet_get_hwaddr, [],
+ AC_CHECK_LIB(net-1, libnet_get_hwaddr, [],
[FatalMissingThing "libnet" "You need libnet to continue." \
"You can get libnet from http://www.packetfactory.net/libnet" \
"Note that some RPMs split libnet up into libnet and libnet-devel." \
"In this case you have to install libnet-devel"])
LIBNETDEFINES=""
- LIBNETLIBS=" -lnet"
+ LIBNETLIBS=" -lnet-1"
if test "$ac_cv_lib_nsl_t_open" = yes; then
LIBNETLIBS="-lnsl $LIBNETLIBS"
fi
@@ -739,7 +747,7 @@
LIBNETLIBS="-lsocket $LIBNETLIBS"
fi
- libnet=net
+ libnet=net-1
else
LIBNETDEFINES="`$LIBNETCONFIG --defines` `$LIBNETCONFIG --cflags`";
LIBNETLIBS="`$LIBNETCONFIG --libs`";
@@ -2393,13 +2401,13 @@
dnl Note: reduce LIBS; in particular, ltdl can cause confusion.
dnl Possibly better: move 'LIBS="$LIBS -lltdl"' from above to beyond here.
dnl
-AC_MSG_CHECKING(for getpid() consistency in multi-process/threads program)
-ac_save_LIBS=$LIBS
-LIBS="-lpthread"
-AC_TRY_RUN(`cat $srcdir/config/pidtest.c`,
-AC_MSG_RESULT(ok),
-[AC_MSG_RESULT(fail); AC_DEFINE(GETPID_INCONSISTENT, 1 , [pid inconsistent])],)
-LIBS=$ac_save_LIBS
+dnl AC_MSG_CHECKING(for getpid() consistency in multi-process/threads program)
+dnl ac_save_LIBS=$LIBS
+dnl LIBS="-lpthread"
+dnl AC_TRY_RUN(`cat $srcdir/config/pidtest.c`,
+dnl AC_MSG_RESULT(ok),
+dnl [AC_MSG_RESULT(fail); AC_DEFINE(GETPID_INCONSISTENT, 1 , [pid inconsistent])],)
+dnl LIBS=$ac_save_LIBS
dnl check byte order
AC_MSG_CHECKING(for byteorder)

View File

@ -0,0 +1,39 @@
--- heartbeat/init.d/heartbeat.in.orig 2008-08-18 07:32:19.000000000 -0500
+++ heartbeat/init.d/heartbeat.in 2008-10-16 02:49:27.000000000 -0500
@@ -45,6 +45,27 @@
### END INIT INFO
+# FreeBSD
+# PROVIDE: heartbeat
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable heartbeat:
+# heartbeat_enable="YES"
+
+. /etc/rc.subr
+name="heartbeat"
+rcvar='set_rcvar'
+load_rc_config $name
+: ${heartbeat_enable="NO"}
+
+if ! checkyesno "heartbeat_enable"; then
+ exit 0
+fi
+
+set `echo $1 | sed s/fast//`
+
+
HA_DIR=@sysconfdir@/ha.d; export HA_DIR
CONFIG=$HA_DIR/ha.cf
. $HA_DIR/shellfuncs
@@ -161,7 +182,7 @@
fi
- $HA_BIN/ha_logd -d >/dev/null 2>&1
+ $HA_BIN/ha_logd -d -c $HA_DIR/logd.cf >/dev/null 2>&1
if
[ $? -ne 0 ]
then

View File

@ -1,95 +0,0 @@
--- heartbeat/resource.d/BSDService.in.orig 2009-01-16 21:21:34.000000000 +0100
+++ heartbeat/resource.d/BSDService.in 2009-01-16 21:21:11.000000000 +0100
@@ -0,0 +1,92 @@
+#!/bin/sh
+#
+# Created by Piotr Rybicki (meritus@innervision.pl) for BSD community
+#
+# This script can be used do start/stop FreeBSD's
+# /usr/local/etc/rc.d/* services.
+#
+# One MUST NOT enable service (in /etc/rc.conf
+# there cannot be SERVICE_enable"YES" line)
+# Although other params for service are welcomed
+#
+# Service is started by 'onestart' parameter internally
+#
+# usage: $0 {start|stop|status}
+#
+# An example usage in /usr/local/etc/ha.d/haresources:
+# node1 10.0.0.170 BSDService::mysql-server
+#
+usage() {
+ cat <<-!
+usage: $0 SERVICE {start|stop|status}";
+!
+ exit 1
+}
+
+. /usr/local/etc/ha.d/shellfuncs
+RCD=/usr/local/etc/rc.d
+#VARLIB=/var/lib/heartbeat
+#VLFILE=$VARLIB/rsctmp/Delay
+
+BSDService_Status() {
+ if [ ! -f $RCD/$1 ]
+ then
+ echo "There is no $RCD/$1 script!. Fatal"
+ fi
+
+ $RCD/$1 onestatus 2>&1 1>/dev/null
+
+ if [ $? -eq 0 ]
+ then
+ if [ $2 = 'verbose' ]
+ then
+ echo "Service $1 is running OK"
+ fi
+ return 0
+ else
+ if [ $2 = 'verbose' ]
+ then
+ echo "Service $1 is NOT running"
+ fi
+ return 1
+ fi
+}
+
+BSDService_Start() {
+ BSDService_Status $1 noverbose
+ if [ $? -eq 0 ]
+ then
+ echo "Service $1 already running"
+ return 0
+ else
+ $RCD/$1 onestart
+ return $?
+ fi
+}
+
+BSDService_Stop() {
+ BSDService_Status $1 noverbose
+ if [ $? -eq 0 ]
+ then
+ $RCD/$1 onestop
+ return $?
+ else
+ echo "Service $1 already stopped"
+ return 0
+ fi
+}
+
+if [ $# -ne 2 ]
+then
+ usage; exit 1;
+fi
+
+case $2 in
+ start) BSDService_Start $1 ;;
+ stop) BSDService_Stop $1 ;;
+ status) BSDService_Status $1 verbose ;;
+ *) usage
+ exit 1;;
+esac
+exit $?
+

View File

@ -1,37 +0,0 @@
--- heartbeat/resource.d/Makefile.in.orig 2009-01-16 22:05:29.000000000 +0100
+++ heartbeat/resource.d/Makefile.in 2009-01-16 22:07:37.000000000 +0100
@@ -47,7 +47,7 @@
$(srcdir)/Makefile.in $(srcdir)/OCF.in $(srcdir)/Raid1.in \
$(srcdir)/SendArp.in $(srcdir)/ServeRAID.in $(srcdir)/WAS.in \
$(srcdir)/WinPopup.in $(srcdir)/Xinetd.in $(srcdir)/apache.in \
- $(srcdir)/db2.in $(srcdir)/portblock.in
+ $(srcdir)/db2.in $(srcdir)/portblock.in $(srcdir)/BSDService.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -58,7 +58,7 @@
CONFIG_CLEAN_FILES = apache AudibleAlarm Delay db2 Filesystem ICP \
IPaddr IPaddr2 IPsrcaddr LinuxSCSI LVM LVSSyncDaemonSwap \
MailTo OCF portblock Raid1 ServeRAID SendArp WAS WinPopup \
- Xinetd
+ Xinetd BSDService
am__installdirs = "$(DESTDIR)$(halibdir)" "$(DESTDIR)$(harddir)"
halibPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(halib_PROGRAMS)
@@ -357,6 +357,7 @@
hard_SCRIPTS = \
apache \
AudibleAlarm \
+ BSDService \
db2 \
Delay \
Filesystem \
@@ -414,6 +415,8 @@
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
AudibleAlarm: $(top_builddir)/config.status $(srcdir)/AudibleAlarm.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+BSDService: $(top_builddir)/config.status $(srcdir)/BSDService.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
Delay: $(top_builddir)/config.status $(srcdir)/Delay.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
db2: $(top_builddir)/config.status $(srcdir)/db2.in

View File

@ -1,54 +0,0 @@
--- heartbeat/resource.d/IPaddr.in.orig 2009-01-16 21:01:12.000000000 +0100
+++ heartbeat/resource.d/IPaddr.in 2009-01-16 21:13:44.000000000 +0100
@@ -79,6 +79,23 @@
return 1
}
+find_interface_bsd() {
+
+ ipaddr="$1";
+
+ for ifname in `$IFCONFIG -l`
+ do
+# echo "IFNAME:$ifname"
+ $IFCONFIG $ifname | grep "inet.*[: ]$ipaddr " >/dev/null 2>&1
+ if [ $? -eq 0 ]
+ then
+ echo $ifname
+ return 0
+ fi
+ done
+ return 1
+}
+
#
# Find out which alias serves the given IP address
# The argument is an IP address, and its output
@@ -131,6 +148,9 @@
SunOS)
IF=`find_interface_solaris $BASEIP`
;;
+ BSD)
+ IF=`find_interface_bsd $BASEIP`
+ ;;
*)
IF=`find_interface_generic $BASEIP`
;;
@@ -253,6 +273,7 @@
;;
*BSD)
+ echo "ipaddr: $ipaddr, iface: $iface, ifinfo: $ifinfo"
CMD="$IFCONFIG $iface inet $ipaddr netmask 255.255.255.255 alias"
;;
*)
@@ -461,6 +482,9 @@
SunOS)
j=1
;;
+ *BSD)
+ j=1
+ ;;
*)
j=0
TRYADRCNT=`ls "${NICBASE}:"* | wc -l | tr -d ' ' 2>/dev/null`

View File

@ -1,11 +0,0 @@
--- ldirectord/init.d/ldirectord.orig
+++ ldirectord/init.d/ldirectord
@@ -22,7 +22,7 @@
then
. /etc/rc.d/init.d/functions
else
- function action {
+ action() {
echo -n "$1... "
shift
$@

View File

@ -0,0 +1,11 @@
--- ldirectord/ldirectord.in.orig 2007-08-01 21:06:54.000000000 -0500
+++ ldirectord/ldirectord.in 2007-12-18 00:15:04.000000000 -0600
@@ -674,7 +674,7 @@
# main code
if ($opt_h) {
- exec_wrapper("/usr/bin/perldoc -U $LDIRECTORD");
+ exec_wrapper("@bindir@/perldoc -U $LDIRECTORD");
&ld_exit(127, "Exec failed");
}
if ($opt_v) {

View File

@ -1,138 +1,132 @@
#! /bin/sh
#!/bin/sh
ask() {
local question default answer
USER=hacluster
GROUP=haclient
UID=275
GID=${UID}
question=$1
default=$2
# pkg_add fails anyhow, if we do not create the user/group
if [ "x${BATCH}" = xno ]; then
read -p "${question} [${default}]? " answer
fi
if [ "x${answer}" = x ]; then
answer=${default}
fi
echo ${answer}
}
yesno() {
local dflt question answer
question=$1
dflt=$2
while :; do
answer=$(ask "${question}" "${dflt}")
case "${answer}" in
[Yy]*) return 0;;
[Nn]*) return 1;;
esac
echo "Please answer yes or no."
done
}
make_account() {
local u g uid gid
u=$1
g=$2
uid=$3
gid=$4
if pw group show "${g}" >/dev/null 2>&1; then
echo "You already have a group \"${g}\", so I will use it."
else
echo "You need a group \"${g}\"."
if yesno "Would you like me to create it" y; then
pw groupadd ${g} -g ${gid} || exit
echo "Done."
else
echo "Please create it manually, and try again."
exit 1
fi
fi
if pw user show "${u}" >/dev/null 2>&1; then
echo "You already have a user \"${u}\", so I will use it."
else
echo "You need a user \"${u}\"."
if yesno "Would you like me to create it" y; then
pw useradd ${u} -u ${uid} -g ${g} -h - -d /nonexistant \
-s /sbin/nologin -c "Heartbeat cluster user" || exit
echo "Done."
else
echo "Please create it, and try again."
exit 1
fi
fi
}
delete_account() {
local u g
u=$1
g=$2
if yesno "Do you want me to remove group \"${g}\"" y; then
echo "Removing group \"${g}\""
pw groupdel -n ${g}
echo "Done."
fi
if yesno "Do you want me to remove user \"${u}\"" y; then
echo "Removing user \"${u}\""
pw userdel -n ${u}
echo "Done."
fi
}
BATCH=${BATCH:-%%BATCH%%}
case $2 in
PRE-INSTALL)
echo ""
user=hacluster
group=haclient
uid=275
gid=275
make_account ${user} ${group} $uid $gid
echo "Adding empty dirs and pid file."
test -d /var/lib/heartbeat/ckpt || \
install -d -m 755 /var/lib/heartbeat/ckpt
test -d /var/lib/heartbeat/ccm || \
install -d -m 750 -o ${user} -g ${group} /var/lib/heartbeat/ccm
test -d /var/lib/heartbeat/cores/root || \
install -d -m 700 /var/lib/heartbeat/cores/root
test -d /var/lib/heartbeat/cores/nobody || \
install -d -m 700 -o nobody /var/lib/heartbeat/cores/nobody
test -d /var/lib/heartbeat/cores/hacluster || \
install -d -m 700 -o ${user} /var/lib/heartbeat/cores/hacluster
test -d /var/lock/subsys || \
install -d -m 755 /var/lock/subsys
test -f /var/run/heartbeat.pid || \
install -m 644 -o ${user} -g ${group} /dev/null \
/var/run/heartbeat.pid
;;
echo -e "\n\n"
# Create account
echo -n "Creating heartbeat user group... "
if pw group show "${GROUP}" >/dev/null 2>&1; then
echo "Group \"${GROUP}\" already exists."
else
if pw groupadd ${GROUP} -g ${GID}; then
echo "Added group \"${GROUP}\"."
else
echo "Adding group \"${GROUP}\" failed..."
exit 1
fi
fi
echo -n "Creating heartbeat user id... "
if pw user show "${USER}" >/dev/null 2>&1; then
echo "User \"${USER}\" already exists."
else
if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
-d /nonexistent -s /sbin/nologin -c "Heartbeat Daemon"
then
echo "Added user \"${USER}\"."
else
echo "Adding user \"${USER}\" failed..."
exit 1
fi
fi
# Create /var environment
echo -n "Creating /var environment... "
test -d /var/run/heartbeat/ccm || \
install -d -m 750 -o ${USER} -g ${GROUP} /var/run/heartbeat/ccm
test -d /var/run/heartbeat/crm || \
install -d -m 750 -o ${USER} -g ${GROUP} /var/run/heartbeat/crm
test -d /var/lib/heartbeat/cores || \
install -d -m 755 /var/lib/heartbeat/cores
test -d /var/lib/heartbeat/cores/hacluster || \
install -d -m 700 -o ${USER} /var/lib/heartbeat/cores/hacluster
test -d /var/lib/heartbeat/cores/nobody || \
install -d -m 700 -o nobody /var/lib/heartbeat/cores/nobody
test -d /var/lib/heartbeat/cores/root || \
install -d -m 700 /var/lib/heartbeat/cores/root
test -d /var/lib/heartbeat/crm || \
install -d -m 750 -o ${USER} -g ${GROUP} /var/lib/heartbeat/crm
test -d /var/lib/heartbeat/fencing || \
install -d -m 770 -g ${GROUP} /var/lib/heartbeat/fencing
test -d /var/lib/heartbeat/lrm || \
install -d -m 770 -g ${GROUP} /var/lib/heartbeat/lrm
test -d /var/lib/heartbeat/mgmt || \
install -d -m 770 -g ${GROUP} /var/lib/heartbeat/mgmt
test -d /var/lib/heartbeat/pengine || \
install -d -m 750 -o ${USER} -g ${GROUP} /var/run/heartbeat/pengine
test -f /var/run/heartbeat.pid || \
install -m 644 -o ${USER} -g ${GROUP} /dev/null \
/var/run/heartbeat.pid
echo "DONE"
echo -e "\n\n"
;;
DEINSTALL)
if ps -axc | grep -q heartbeat; then
if yesno "There are some heartbeat processes running. Shall I kill them" y
then
killall heartbeat
sleep 2
else
echo "OK ... I hope you know what you are doing."
fi
fi
delete_account hacluster haclient
echo -e "\n\n"
echo "Removing runtime files"
if [ -d /var/lib/heartbeat ]; then
rm -r /var/lib/heartbeat
fi
if [ -f /var/lock/subsys/heartbeat ]; then
rm /var/lock/subsys/heartbeat
fi
if [ -f /var/run/heartbeat.pid ]; then
rm /var/run/heartbeat.pid
fi
;;
# Check for running processes
echo -n "Checking if heartbeat is running... "
if ps -axc | grep -q heartbeat; then
echo -n "FOUND "
killall heartbeat
echo "KILLED"
else
echo "NO"
fi
# Remove Heartbeat account
echo -n "Removing heartbeat account... "
pw groupdel -n ${GROUP}
pw userdel -n ${USER}
echo "DONE"
# Cleanup /var environment
echo -n "Cleaning up /var environment... "
if [ "$BATCH" = "NO" ]; then
echo ""
default="n"
read -p " Remove runtime files (cluster config)? [yn]: " answer
case "$answer" in
[Yy]*) answer=y ;;
[Nn]*) answer=n ;;
*) answer=n ;;
esac
if [ "$answer" = "y" ]; then
echo -n " Removing runtime files... "
test -d /var/run/heartbeat && \
rm -r /var/run/heartbeat
test -d /var/lib/heartbeat && \
rm -r /var/lib/heartbeat
test -f /var/lock/subsys/heartbeat && \
rm /var/lock/subsys/heartbeat
test -f /var/run/heartbeat.pid && \
rm /var/run/heartbeat.pid
echo "DONE"
else
echo "Preserving runtime files... DONE"
fi
else
echo "NA"
fi
echo -e "\n\n"
;;
esac

View File

@ -0,0 +1,25 @@
# #
## ##
### ###
########################################################
### ###
## ##
# #
INFORMATION:
- Configuration directory: %%PREFIX%%/etc/ha.d
CAVEATS:
- bcast is not available on FreeBSD.
- BasicSanityCheck is not available on FreeBSD.
# #
## ##
### ###
########################################################
### ###
## ##
# #

View File

@ -1,24 +1,21 @@
heartbeat is a basic high-availability subsystem. It will run
scripts at initialization, and when machines go up or down. This
version will also perform IP address takeover using gratuitous ARPs.
The Heartbeat program is one of the core components of the Linux-HA
(High-Availability Linux) project. Heartbeat is highly portable,
and runs on every known Linux platform, and also on FreeBSD and
Solaris. Ports to other OSes are also in progress.
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)
Heartbeat is the first piece of software which was written for the
Linux-HA project. It performs death-of-node detection,
communications and cluster management in one process.
ldirectord is a stand-alone daemon to monitor services.
The Heartbeat program has been around for a while. It has a great
many strengths, and yet there were a few weaknesses in version 1
that needed to be addressed:
The STONITH module (a.k.a. STOMITH) provides an extensible interface
for remotely powering down a node in the cluster.
- limitation on two nodes for cluster size
- inability to monitor resources for their correct operation
- minimal ability to express dependency information
PILS is an generalized and portable open source Plugin and Interface
Loading System. 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.
This release removes these limitations.
WWW: http://linux-ha.org/
Scott Kleihege <scott-ports@tummy.com>
WWW: http://linux-ha.org

View File

@ -1,19 +1,33 @@
bin/cl_respawn
bin/cl_status
%%MGMT%%bin/hb_gui
etc/ha.d/README.config
@unexec if cmp -s %D/etc/ha.d/authkeys.sample %D/etc/ha.d/authkeys; then rm -f %D/etc/ha.d/authkeys; fi
etc/ha.d/authkeys.sample
@exec if [ ! -f %D/etc/ha.d/authkeys ]; then cp -p %D/%F %B/authkeys; fi
@unexec if cmp -s %D/etc/ha.d/ha.cf.sample %D/etc/ha.d/ha.cf; then rm -f %D/etc/ha.d/ha.cf; fi
etc/ha.d/ha.cf.sample
@exec if [ ! -f %D/etc/ha.d/ha.cf ]; then cp -p %D/%F %B/ha.cf; fi
etc/ha.d/harc
@unexec if cmp -s %D/etc/ha.d/logd.cf.sample %D/etc/ha.d/logd.cf; then rm -f %D/etc/ha.d/logd.cf; fi
etc/ha.d/logd.cf.sample
@exec if [ ! -f %D/etc/ha.d/logd.cf ]; then cp -p %D/%F %B/logd.cf; fi
@unexec if cmp -s %D/etc/ha.d/ldirectord.cf.sample %D/etc/ha.d/ldirectord.cf; then rm -f %D/etc/ha.d/ldirectord.cf; fi
%%LDIRECTORD%%etc/ha.d/ldirectord.cf.sample
@exec if [ ! -f %D/etc/ha.d/ldirectord.cf ]; then cp -p %D/%F %B/ldirectord.cf; fi
etc/ha.d/rc.d/ask_resources
etc/ha.d/rc.d/hb_takeover
etc/ha.d/rc.d/ip-request
etc/ha.d/rc.d/ip-request-resp
etc/ha.d/rc.d/status
etc/ha.d/resource.d/AudibleAlarm
etc/ha.d/resource.d/BSDService
etc/ha.d/resource.d/Delay
etc/ha.d/resource.d/Filesystem
etc/ha.d/resource.d/ICP
etc/ha.d/resource.d/IPaddr
etc/ha.d/resource.d/IPaddr2
etc/ha.d/resource.d/IPsrcaddr
etc/ha.d/resource.d/IPv6addr
etc/ha.d/resource.d/LVM
etc/ha.d/resource.d/LVSSyncDaemonSwap
etc/ha.d/resource.d/LinuxSCSI
@ -27,42 +41,136 @@ etc/ha.d/resource.d/WinPopup
etc/ha.d/resource.d/Xinetd
etc/ha.d/resource.d/apache
etc/ha.d/resource.d/db2
etc/ha.d/resource.d/hto-mapfuncs
etc/ha.d/resource.d/ids
%%LDIRECTORD%%etc/ha.d/resource.d/ldirectord
etc/ha.d/resource.d/portblock
etc/ha.d/shellfuncs
etc/rc.d/heartbeat.sh
etc/rc.d/ldirectord.sh
etc/logrotate.d/heartbeat
%%LDIRECTORD%%etc/logrotate.d/ldirectord
etc/ocf/resource.d/heartbeat/.ocf-binaries
etc/ocf/resource.d/heartbeat/.ocf-directories
etc/ocf/resource.d/heartbeat/.ocf-returncodes
etc/ocf/resource.d/heartbeat/.ocf-shellfuncs
etc/ocf/resource.d/heartbeat/AudibleAlarm
etc/ocf/resource.d/heartbeat/ClusterMon
etc/ocf/resource.d/heartbeat/Delay
etc/ocf/resource.d/heartbeat/Dummy
etc/ocf/resource.d/heartbeat/EvmsSCC
etc/ocf/resource.d/heartbeat/Evmsd
etc/ocf/resource.d/heartbeat/Filesystem
etc/ocf/resource.d/heartbeat/ICP
etc/ocf/resource.d/heartbeat/IPaddr
etc/ocf/resource.d/heartbeat/IPaddr2
etc/ocf/resource.d/heartbeat/IPsrcaddr
etc/ocf/resource.d/heartbeat/LVM
etc/ocf/resource.d/heartbeat/LinuxSCSI
etc/ocf/resource.d/heartbeat/MailTo
etc/ocf/resource.d/heartbeat/ManageRAID
etc/ocf/resource.d/heartbeat/ManageVE
etc/ocf/resource.d/heartbeat/Pure-FTPd
etc/ocf/resource.d/heartbeat/Raid1
etc/ocf/resource.d/heartbeat/SAPDatabase
etc/ocf/resource.d/heartbeat/SAPInstance
etc/ocf/resource.d/heartbeat/SendArp
etc/ocf/resource.d/heartbeat/ServeRAID
etc/ocf/resource.d/heartbeat/SphinxSearchDaemon
etc/ocf/resource.d/heartbeat/Stateful
etc/ocf/resource.d/heartbeat/SysInfo
etc/ocf/resource.d/heartbeat/VIPArip
etc/ocf/resource.d/heartbeat/WAS
etc/ocf/resource.d/heartbeat/WAS6
etc/ocf/resource.d/heartbeat/WinPopup
etc/ocf/resource.d/heartbeat/Xen
etc/ocf/resource.d/heartbeat/Xinetd
etc/ocf/resource.d/heartbeat/apache
etc/ocf/resource.d/heartbeat/db2
etc/ocf/resource.d/heartbeat/drbd
etc/ocf/resource.d/heartbeat/eDir88
etc/ocf/resource.d/heartbeat/ids
etc/ocf/resource.d/heartbeat/iscsi
%%LDIRECTORD%%etc/ocf/resource.d/heartbeat/ldirectord
etc/ocf/resource.d/heartbeat/mysql
etc/ocf/resource.d/heartbeat/o2cb
etc/ocf/resource.d/heartbeat/oracle
etc/ocf/resource.d/heartbeat/oralsnr
etc/ocf/resource.d/heartbeat/pgsql
etc/ocf/resource.d/heartbeat/pingd
etc/ocf/resource.d/heartbeat/portblock
etc/ocf/resource.d/heartbeat/rsyncd
etc/ocf/resource.d/heartbeat/tomcat
etc/rc.d/heartbeat
%%LDIRECTORD%%etc/rc.d/ldirectord.sh
include/clplumbing/GSource.h
include/clplumbing/GSource_internal.h
include/clplumbing/Gmain_timeout.h
include/clplumbing/apphb_cs.h
include/clplumbing/base64.h
include/clplumbing/cl_log.h
include/clplumbing/cl_malloc.h
include/clplumbing/cl_misc.h
include/clplumbing/cl_pidfile.h
include/clplumbing/cl_plugin.h
include/clplumbing/cl_poll.h
include/clplumbing/cl_quorum.h
include/clplumbing/cl_quorumd.h
include/clplumbing/cl_random.h
include/clplumbing/cl_reboot.h
include/clplumbing/cl_signal.h
include/clplumbing/cl_syslog.h
include/clplumbing/cl_tiebreaker.h
include/clplumbing/cl_uuid.h
include/clplumbing/coredumps.h
include/clplumbing/cpulimits.h
include/clplumbing/ipc.h
include/clplumbing/loggingdaemon.h
include/clplumbing/longclock.h
include/clplumbing/lsb_exitcodes.h
include/clplumbing/md5.h
include/clplumbing/mkstemp_mode.h
include/clplumbing/netstring.h
include/clplumbing/proctrack.h
include/clplumbing/realtime.h
include/clplumbing/recoverymgr_cs.h
include/clplumbing/replytrack.h
include/clplumbing/setproctitle.h
include/clplumbing/timers.h
include/clplumbing/ttylock.h
include/clplumbing/uids.h
include/heartbeat/HBauth.h
include/heartbeat/HBcomm.h
include/heartbeat/apphb.h
include/heartbeat/apphb_notify.h
include/heartbeat/ha_config.h
include/heartbeat/compress.h
include/heartbeat/crm/cib.h
include/heartbeat/crm/common/ctrl.h
include/heartbeat/crm/common/ipc.h
include/heartbeat/crm/common/iso8601.h
include/heartbeat/crm/common/msg.h
include/heartbeat/crm/common/util.h
include/heartbeat/crm/common/xml.h
include/heartbeat/crm/crm.h
include/heartbeat/crm/msg_xml.h
include/heartbeat/crm/pengine/common.h
include/heartbeat/crm/pengine/complex.h
include/heartbeat/crm/pengine/rules.h
include/heartbeat/crm/pengine/status.h
include/heartbeat/crm/transition.h
include/heartbeat/fencing/stonithd_api.h
include/heartbeat/fencing/stonithd_msg.h
include/heartbeat/ha_msg.h
include/heartbeat/hb_api.h
include/heartbeat/hb_config.h
include/heartbeat/heartbeat.h
include/heartbeat/lrm/lrm_api.h
include/heartbeat/lrm/lrm_msg.h
include/heartbeat/lrm/racommon.h
include/heartbeat/lrm/raexec.h
%%MGMT%%include/heartbeat/mgmt/mgmt.h
%%MGMT%%include/heartbeat/mgmt/mgmt_client.h
%%MGMT%%include/heartbeat/mgmt/mgmt_common.h
%%MGMT%%include/heartbeat/mgmt/mgmt_tls.h
include/heartbeat/recoverymgr.h
include/heartbeat/replace_uuid.h
include/ocf/oc_event.h
include/ocf/oc_membership.h
include/pils/generic.h
@ -77,25 +185,50 @@ include/saf/ais_lock.h
include/saf/ais_membership.h
include/saf/ais_message.h
include/stonith/expect.h
include/stonith/st_ttylock.h
include/stonith/stonith.h
include/stonith/stonith_plugin.h
%%MGMT%%lib/heartbeat-gui/_pymgmt.a
%%MGMT%%lib/heartbeat-gui/_pymgmt.la
%%MGMT%%lib/heartbeat-gui/_pymgmt.so
%%MGMT%%lib/heartbeat-gui/_pymgmt.so.0
%%MGMT%%lib/heartbeat-gui/haclient.py
lib/heartbeat/BasicSanityCheck
lib/heartbeat/ResourceManager
lib/heartbeat/TestHeartbeatComm
lib/heartbeat/api_test
lib/heartbeat/apphbd
lib/heartbeat/apphbtest
lib/heartbeat/atest
lib/heartbeat/attrd
lib/heartbeat/base64_md5_test
lib/heartbeat/ccm
lib/heartbeat/ccm_testclient
lib/heartbeat/cib
lib/heartbeat/cibmon
lib/heartbeat/clmtest
lib/heartbeat/cts/CM_fs.py
lib/heartbeat/cts/CM_hb.py
lib/heartbeat/cts/CTS.py
lib/heartbeat/cts/CTSaudits.py
lib/heartbeat/cts/CTSlab.py
lib/heartbeat/cts/CTStests.py
lib/heartbeat/cts/README
lib/heartbeat/crm.dtd
lib/heartbeat/crm_commands.py
lib/heartbeat/crm_commands.pyc
lib/heartbeat/crm_commands.pyo
lib/heartbeat/crm_primitive.py
lib/heartbeat/crm_primitive.pyc
lib/heartbeat/crm_primitive.pyo
lib/heartbeat/crm_utils.py
lib/heartbeat/crm_utils.pyc
lib/heartbeat/crm_utils.pyo
lib/heartbeat/crmd
lib/heartbeat/cts
lib/heartbeat/findif
lib/heartbeat/ha_config
lib/heartbeat/ha_logd
lib/heartbeat/ha_logger
lib/heartbeat/ha_propagate
lib/heartbeat/haresources2cib.py
lib/heartbeat/hb_addnode
lib/heartbeat/hb_delnode
lib/heartbeat/hb_setsite
lib/heartbeat/hb_setweight
lib/heartbeat/hb_standby
lib/heartbeat/hb_takeover
lib/heartbeat/heartbeat
@ -103,7 +236,18 @@ lib/heartbeat/ipctest
lib/heartbeat/ipctransientclient
lib/heartbeat/ipctransientserver
lib/heartbeat/ipfail
lib/heartbeat/logtest
lib/heartbeat/lrmadmin
lib/heartbeat/lrmd
lib/heartbeat/lrmtest
lib/heartbeat/mach_down
%%MGMT%%lib/heartbeat/mgmtd
%%MGMT%%lib/heartbeat/mgmtdtest
lib/heartbeat/mlock
lib/heartbeat/ocf-returncodes
lib/heartbeat/ocf-shellfuncs
lib/heartbeat/pengine
lib/heartbeat/pingd
lib/heartbeat/plugins/AppHBNotification/recmgr.a
lib/heartbeat/plugins/AppHBNotification/recmgr.la
lib/heartbeat/plugins/AppHBNotification/recmgr.so
@ -134,12 +278,57 @@ lib/heartbeat/plugins/HBcomm/serial.so
lib/heartbeat/plugins/HBcomm/ucast.a
lib/heartbeat/plugins/HBcomm/ucast.la
lib/heartbeat/plugins/HBcomm/ucast.so
lib/heartbeat/plugins/HBcompress/bz2.a
lib/heartbeat/plugins/HBcompress/bz2.la
lib/heartbeat/plugins/HBcompress/bz2.so
lib/heartbeat/plugins/HBcompress/zlib.a
lib/heartbeat/plugins/HBcompress/zlib.la
lib/heartbeat/plugins/HBcompress/zlib.so
lib/heartbeat/plugins/RAExec/heartbeat.a
lib/heartbeat/plugins/RAExec/heartbeat.la
lib/heartbeat/plugins/RAExec/heartbeat.so
lib/heartbeat/plugins/RAExec/lsb.a
lib/heartbeat/plugins/RAExec/lsb.la
lib/heartbeat/plugins/RAExec/lsb.so
lib/heartbeat/plugins/RAExec/ocf.a
lib/heartbeat/plugins/RAExec/ocf.la
lib/heartbeat/plugins/RAExec/ocf.so
lib/heartbeat/plugins/RAExec/stonith.a
lib/heartbeat/plugins/RAExec/stonith.la
lib/heartbeat/plugins/RAExec/stonith.so
lib/heartbeat/plugins/quorum/majority.a
lib/heartbeat/plugins/quorum/majority.la
lib/heartbeat/plugins/quorum/majority.so
lib/heartbeat/plugins/quorum/quorumd.a
lib/heartbeat/plugins/quorum/quorumd.la
lib/heartbeat/plugins/quorum/quorumd.so
lib/heartbeat/plugins/quorum/twonodes.a
lib/heartbeat/plugins/quorum/twonodes.la
lib/heartbeat/plugins/quorum/twonodes.so
lib/heartbeat/plugins/quorum/weight.a
lib/heartbeat/plugins/quorum/weight.la
lib/heartbeat/plugins/quorum/weight.so
lib/heartbeat/plugins/quorumd/2_0_8.a
lib/heartbeat/plugins/quorumd/2_0_8.la
lib/heartbeat/plugins/quorumd/2_0_8.so
lib/heartbeat/plugins/test/test.a
lib/heartbeat/plugins/test/test.la
lib/heartbeat/plugins/test/test.so
lib/heartbeat/plugins/tiebreaker/twonodes.a
lib/heartbeat/plugins/tiebreaker/twonodes.la
lib/heartbeat/plugins/tiebreaker/twonodes.so
lib/heartbeat/quorumd
lib/heartbeat/quorumdtest
lib/heartbeat/ra-api-1.dtd
lib/heartbeat/recoverymgrd
lib/heartbeat/req_resource
lib/heartbeat/send_arp
lib/heartbeat/stonithd
lib/heartbeat/stonithdtest/apitest
lib/heartbeat/tengine
lib/heartbeat/transient-test.sh
lib/heartbeat/ttest
lib/heartbeat/utillib.sh
lib/libapphb.a
lib/libapphb.la
lib/libapphb.so
@ -147,86 +336,166 @@ lib/libapphb.so.0
lib/libccmclient.a
lib/libccmclient.la
lib/libccmclient.so
lib/libccmclient.so.0
lib/libccmclient.so.1
lib/libcib.a
lib/libcib.la
lib/libcib.so
lib/libcib.so.1
lib/libclm.a
lib/libclm.la
lib/libclm.so
lib/libclm.so.0
lib/libclm.so.1
lib/libcrmcommon.a
lib/libcrmcommon.la
lib/libcrmcommon.so
lib/libcrmcommon.so.1
lib/libhbclient.a
lib/libhbclient.la
lib/libhbclient.so
lib/libhbclient.so.0
lib/libhbclient.so.1
%%MGMT%%lib/libhbmgmt.a
%%MGMT%%lib/libhbmgmt.la
%%MGMT%%lib/libhbmgmt.so
%%MGMT%%lib/libhbmgmt.so.0
%%MGMT%%lib/libhbmgmtclient.a
%%MGMT%%lib/libhbmgmtclient.la
%%MGMT%%lib/libhbmgmtclient.so
%%MGMT%%lib/libhbmgmtclient.so.0
%%MGMT%%lib/libhbmgmtcommon.a
%%MGMT%%lib/libhbmgmtcommon.la
%%MGMT%%lib/libhbmgmtcommon.so
%%MGMT%%lib/libhbmgmtcommon.so.0
%%MGMT%%lib/libhbmgmttls.a
%%MGMT%%lib/libhbmgmttls.la
%%MGMT%%lib/libhbmgmttls.so
%%MGMT%%lib/libhbmgmttls.so.0
lib/liblrm.a
lib/liblrm.la
lib/liblrm.so
lib/liblrm.so.0
lib/libpe_rules.a
lib/libpe_rules.la
lib/libpe_rules.so
lib/libpe_rules.so.2
lib/libpe_status.a
lib/libpe_status.la
lib/libpe_status.so
lib/libpe_status.so.2
lib/libpengine.a
lib/libpengine.la
lib/libpengine.so
lib/libpengine.so.3
lib/libpils.a
lib/libpils.la
lib/libpils.so
lib/libpils.so.0
lib/libpils.so.1
lib/libplumb.a
lib/libplumb.la
lib/libplumb.so
lib/libplumb.so.0
lib/libplumb.so.1
lib/libplumbgpl.a
lib/libplumbgpl.la
lib/libplumbgpl.so
lib/libplumbgpl.so.1
lib/librecoverymgr.a
lib/librecoverymgr.la
lib/librecoverymgr.so
lib/librecoverymgr.so.0
lib/librecoverymgr.so.1
lib/libstonith.a
lib/libstonith.la
lib/libstonith.so
lib/libstonith.so.0
lib/libstonith.so.1
lib/libstonithd.a
lib/libstonithd.la
lib/libstonithd.so
lib/libstonithd.so.0
lib/libtransitioner.a
lib/libtransitioner.la
lib/libtransitioner.so
lib/libtransitioner.so.1
lib/pils/plugins/InterfaceMgr/generic.a
lib/pils/plugins/InterfaceMgr/generic.la
lib/pils/plugins/InterfaceMgr/generic.so
lib/stonith/plugins/stonith/apcmaster.a
lib/stonith/plugins/stonith/apcmaster.la
lib/stonith/plugins/stonith/apcmaster.so
lib/stonith/plugins/stonith/apcsmart.a
lib/stonith/plugins/stonith/apcsmart.la
lib/stonith/plugins/stonith/apcsmart.so
lib/stonith/plugins/stonith/baytech.a
lib/stonith/plugins/stonith/baytech.la
lib/stonith/plugins/stonith/baytech.so
lib/stonith/plugins/stonith/cyclades.a
lib/stonith/plugins/stonith/cyclades.la
lib/stonith/plugins/stonith/cyclades.so
lib/stonith/plugins/stonith/external.a
lib/stonith/plugins/stonith/external.la
lib/stonith/plugins/stonith/external.so
lib/stonith/plugins/stonith/ibmhmc.a
lib/stonith/plugins/stonith/ibmhmc.la
lib/stonith/plugins/stonith/ibmhmc.so
lib/stonith/plugins/stonith/meatware.a
lib/stonith/plugins/stonith/meatware.la
lib/stonith/plugins/stonith/meatware.so
lib/stonith/plugins/stonith/null.a
lib/stonith/plugins/stonith/null.la
lib/stonith/plugins/stonith/null.so
lib/stonith/plugins/stonith/nw_rpc100s.a
lib/stonith/plugins/stonith/nw_rpc100s.la
lib/stonith/plugins/stonith/nw_rpc100s.so
lib/stonith/plugins/stonith/rcd_serial.a
lib/stonith/plugins/stonith/rcd_serial.la
lib/stonith/plugins/stonith/rcd_serial.so
lib/stonith/plugins/stonith/ribcl.py
lib/stonith/plugins/stonith/riloe.a
lib/stonith/plugins/stonith/riloe.la
lib/stonith/plugins/stonith/riloe.so
lib/stonith/plugins/stonith/rps10.a
lib/stonith/plugins/stonith/rps10.la
lib/stonith/plugins/stonith/rps10.so
lib/stonith/plugins/stonith/ssh.a
lib/stonith/plugins/stonith/ssh.la
lib/stonith/plugins/stonith/ssh.so
lib/stonith/plugins/stonith/wti_nps.a
lib/stonith/plugins/stonith/wti_nps.la
lib/stonith/plugins/stonith/wti_nps.so
lib/stonith/plugins/stonith/drac3.so
lib/stonith/plugins/stonith/drac3.la
lib/stonith/plugins/stonith/drac3.a
sbin/ldirectord
lib/stonith/plugins/external/hmchttp
lib/stonith/plugins/external/ibmrsa
lib/stonith/plugins/external/ibmrsa-telnet
lib/stonith/plugins/external/ipmi
lib/stonith/plugins/external/rackpdu
lib/stonith/plugins/external/riloe
lib/stonith/plugins/external/ssh
lib/stonith/plugins/external/vmware
lib/stonith/plugins/external/xen0
lib/stonith/plugins/external/xen0-ha
lib/stonith/plugins/stonith2/apcmaster.a
lib/stonith/plugins/stonith2/apcmaster.la
lib/stonith/plugins/stonith2/apcmaster.so
lib/stonith/plugins/stonith2/apcsmart.a
lib/stonith/plugins/stonith2/apcsmart.la
lib/stonith/plugins/stonith2/apcsmart.so
lib/stonith/plugins/stonith2/baytech.a
lib/stonith/plugins/stonith2/baytech.la
lib/stonith/plugins/stonith2/baytech.so
lib/stonith/plugins/stonith2/cyclades.a
lib/stonith/plugins/stonith2/cyclades.la
lib/stonith/plugins/stonith2/cyclades.so
lib/stonith/plugins/stonith2/external.a
lib/stonith/plugins/stonith2/external.la
lib/stonith/plugins/stonith2/external.so
lib/stonith/plugins/stonith2/ibmhmc.a
lib/stonith/plugins/stonith2/ibmhmc.la
lib/stonith/plugins/stonith2/ibmhmc.so
lib/stonith/plugins/stonith2/meatware.a
lib/stonith/plugins/stonith2/meatware.la
lib/stonith/plugins/stonith2/meatware.so
lib/stonith/plugins/stonith2/null.a
lib/stonith/plugins/stonith2/null.la
lib/stonith/plugins/stonith2/null.so
lib/stonith/plugins/stonith2/nw_rpc100s.a
lib/stonith/plugins/stonith2/nw_rpc100s.la
lib/stonith/plugins/stonith2/nw_rpc100s.so
lib/stonith/plugins/stonith2/rcd_serial.a
lib/stonith/plugins/stonith2/rcd_serial.la
lib/stonith/plugins/stonith2/rcd_serial.so
lib/stonith/plugins/stonith2/ribcl.py
lib/stonith/plugins/stonith2/rps10.a
lib/stonith/plugins/stonith2/rps10.la
lib/stonith/plugins/stonith2/rps10.so
lib/stonith/plugins/stonith2/ssh.a
lib/stonith/plugins/stonith2/ssh.la
lib/stonith/plugins/stonith2/ssh.so
lib/stonith/plugins/stonith2/suicide.a
lib/stonith/plugins/stonith2/suicide.la
lib/stonith/plugins/stonith2/suicide.so
lib/stonith/plugins/stonith2/wti_nps.a
lib/stonith/plugins/stonith2/wti_nps.la
lib/stonith/plugins/stonith2/wti_nps.so
lib/stonith/plugins/xen0-ha-dom0-stonith-helper
sbin/attrd_updater
sbin/ccm_tool
sbin/cibadmin
sbin/ciblint
sbin/crm_attribute
sbin/crm_diff
sbin/crm_failcount
sbin/crm_master
sbin/crm_mon
sbin/crm_resource
sbin/crm_sh
sbin/crm_standby
sbin/crm_uuid
sbin/crm_verify
sbin/crmadmin
sbin/ha_logger
sbin/hb_report
sbin/iso8601
%%LDIRECTORD%%sbin/ldirectord
sbin/meatclient
sbin/ocf-tester
sbin/ptest
sbin/stonith
sbin/supervise-ldirectord-config
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/COPYING.LGPL
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
%%PORTDOCS%%%%DOCSDIR%%/DirectoryMap.txt
%%PORTDOCS%%%%DOCSDIR%%/GettingStarted.html
@ -242,36 +511,150 @@ sbin/supervise-ldirectord-config
%%PORTDOCS%%%%DOCSDIR%%/faqntips.txt
%%PORTDOCS%%%%DOCSDIR%%/ha.cf
%%PORTDOCS%%%%DOCSDIR%%/haresources
%%PORTDOCS%%%%DOCSDIR%%/hb_report.html
%%PORTDOCS%%%%DOCSDIR%%/hb_report.txt
%%PORTDOCS%%%%DOCSDIR%%/heartbeat_api.html
%%PORTDOCS%%%%DOCSDIR%%/heartbeat_api.txt
%%PORTDOCS%%%%DOCSDIR%%/logd.cf
%%PORTDOCS%%%%DOCSDIR%%/rsync.html
%%PORTDOCS%%%%DOCSDIR%%/rsync.txt
%%PORTDOCS%%%%DOCSDIR%%/startstop
%%MGMT%%share/heartbeat-gui/active-node.png
%%MGMT%%share/heartbeat-gui/add-resource.png
%%MGMT%%share/heartbeat-gui/cleanup-resource.png
%%MGMT%%share/heartbeat-gui/default-resource.png
%%MGMT%%share/heartbeat-gui/down-resource.png
%%MGMT%%share/heartbeat-gui/exit.png
%%MGMT%%share/heartbeat-gui/ha.png
%%MGMT%%share/heartbeat-gui/haclient.glade
%%MGMT%%share/heartbeat-gui/haclient.py
%%MGMT%%share/heartbeat-gui/login.png
%%MGMT%%share/heartbeat-gui/logout.png
%%MGMT%%share/heartbeat-gui/master-resource.png
%%MGMT%%share/heartbeat-gui/mgmtcmd.py
%%MGMT%%share/heartbeat-gui/remove-resource.png
%%MGMT%%share/heartbeat-gui/slave-resource.png
%%MGMT%%share/heartbeat-gui/standby-node.png
%%MGMT%%share/heartbeat-gui/start-resource.png
%%MGMT%%share/heartbeat-gui/stop-resource.png
%%MGMT%%share/heartbeat-gui/up-resource.png
%%DATADIR%%/BasicSanityCheck
%%DATADIR%%/ResourceManager
%%DATADIR%%/TestHeartbeatComm
%%DATADIR%%/crm.dtd
%%DATADIR%%/cts/CIB.py
%%DATADIR%%/cts/CIB.pyc
%%DATADIR%%/cts/CIB.pyo
%%DATADIR%%/cts/CM_LinuxHAv2.py
%%DATADIR%%/cts/CM_LinuxHAv2.pyc
%%DATADIR%%/cts/CM_LinuxHAv2.pyo
%%DATADIR%%/cts/CM_fs.py
%%DATADIR%%/cts/CM_fs.pyc
%%DATADIR%%/cts/CM_fs.pyo
%%DATADIR%%/cts/CM_hb.py
%%DATADIR%%/cts/CM_hb.pyc
%%DATADIR%%/cts/CM_hb.pyo
%%DATADIR%%/cts/CTS.py
%%DATADIR%%/cts/CTS.pyc
%%DATADIR%%/cts/CTS.pyo
%%DATADIR%%/cts/CTSaudits.py
%%DATADIR%%/cts/CTSaudits.pyc
%%DATADIR%%/cts/CTSaudits.pyo
%%DATADIR%%/cts/CTSlab.py
%%DATADIR%%/cts/CTSlab.pyc
%%DATADIR%%/cts/CTSlab.pyo
%%DATADIR%%/cts/CTSproxy.py
%%DATADIR%%/cts/CTStests.py
%%DATADIR%%/cts/CTStests.pyc
%%DATADIR%%/cts/CTStests.pyo
%%DATADIR%%/cts/LSBDummy
%%DATADIR%%/cts/OCFIPraTest.py
%%DATADIR%%/cts/OCFIPraTest.pyc
%%DATADIR%%/cts/OCFIPraTest.pyo
%%DATADIR%%/cts/README
%%DATADIR%%/cts/extracttests.py
%%DATADIR%%/cts/extracttests.pyc
%%DATADIR%%/cts/extracttests.pyo
%%DATADIR%%/cts/getpeinputs.sh
%%DATADIR%%/ha_config
%%DATADIR%%/ha_propagate
%%DATADIR%%/hb_addnode
%%DATADIR%%/hb_delnode
%%DATADIR%%/hb_setsite
%%DATADIR%%/hb_setweight
%%DATADIR%%/hb_standby
%%DATADIR%%/hb_takeover
%%DATADIR%%/lrmtest/LRMBasicSanityCheck
%%DATADIR%%/lrmtest/README.regression
%%DATADIR%%/lrmtest/defaults
%%DATADIR%%/lrmtest/descriptions
%%DATADIR%%/lrmtest/evaltest.sh
%%DATADIR%%/lrmtest/language
%%DATADIR%%/lrmtest/lrmadmin-interface
%%DATADIR%%/lrmtest/lrmregtest
%%DATADIR%%/lrmtest/lrmregtest-heartbeat
%%DATADIR%%/lrmtest/lrmregtest-lsb
%%DATADIR%%/lrmtest/regression.sh
%%DATADIR%%/lrmtest/testcases/BSC
%%DATADIR%%/lrmtest/testcases/common.filter
%%DATADIR%%/lrmtest/testcases/metadata
%%DATADIR%%/lrmtest/testcases/metadata.exp
%%DATADIR%%/lrmtest/testcases/ra-list.sh
%%DATADIR%%/lrmtest/testcases/rscexec
%%DATADIR%%/lrmtest/testcases/rscexec.exp
%%DATADIR%%/lrmtest/testcases/rscmgmt
%%DATADIR%%/lrmtest/testcases/rscmgmt.exp
%%DATADIR%%/lrmtest/testcases/rscmgmt.log_filter
%%DATADIR%%/lrmtest/testcases/xmllint.sh
%%DATADIR%%/mach_down
%%DATADIR%%/ra-api-1.dtd
%%DATADIR%%/req_resource
%%DATADIR%%/stonithdtest/STONITHDBasicSanityCheck
%%MGMT%%share/locale/zh_CN/LC_MESSAGES/haclient.mo
%%DATADIR%%/utillib.sh
@dirrm %%DATADIR%%/stonithdtest
@dirrm %%DATADIR%%/lrmtest/testcases
@dirrm %%DATADIR%%/lrmtest
@dirrm %%DATADIR%%/cts
%%MGMT%%@dirrm share/heartbeat-gui
@dirrm %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm lib/stonith/plugins/stonith
@dirrm lib/stonith/plugins/stonith2
@dirrm lib/stonith/plugins/external
@dirrm lib/stonith/plugins
@dirrm lib/stonith
@dirrm lib/pils/plugins/InterfaceMgr
@dirrm lib/pils/plugins
@dirrm lib/pils
@dirrm lib/heartbeat/stonithdtest
@dirrm lib/heartbeat/plugins/tiebreaker
@dirrm lib/heartbeat/plugins/test
@dirrm lib/heartbeat/plugins/quorumd
@dirrm lib/heartbeat/plugins/quorum
@dirrm lib/heartbeat/plugins/RAExec
@dirrm lib/heartbeat/plugins/HBcompress
@dirrm lib/heartbeat/plugins/HBcomm
@dirrm lib/heartbeat/plugins/HBauth
@dirrm lib/heartbeat/plugins/AppHBNotification
@dirrm lib/heartbeat/plugins
@dirrm lib/heartbeat/cts
%%MGMT%%@dirrm lib/heartbeat-gui
@dirrm lib/heartbeat
@dirrm include/stonith
@dirrm include/saf
@dirrm include/pils
@dirrm include/ocf
%%MGMT%%@dirrm include/heartbeat/mgmt
@dirrm include/heartbeat/lrm
@dirrm include/heartbeat/fencing
@dirrm include/heartbeat/crm/pengine
@dirrm include/heartbeat/crm/common
@dirrm include/heartbeat/crm
@dirrm include/heartbeat
@dirrm include/clplumbing
@dirrm etc/ha.d/resource.d
@dirrm etc/ha.d/rc.d
@dirrmtry etc/ha.d/conf
@dirrmtry etc/ocf/resource.d/heartbeat
@dirrmtry etc/ocf/resource.d
@dirrmtry etc/ocf
@dirrmtry etc/logrotate.d
@dirrmtry etc/ha.d/resource.d
@dirrmtry etc/ha.d/rc.d
@dirrmtry etc/ha.d
@cwd /
@dirrmtry var/lock/subsys
@dirrmtry var/lock
@dirrmtry var/lib