diff --git a/UPDATING b/UPDATING index 66a1977a085b..e0825e49653a 100644 --- a/UPDATING +++ b/UPDATING @@ -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 diff --git a/sysutils/heartbeat/Makefile b/sysutils/heartbeat/Makefile index 52f8a6c2f1fb..55adb87faf2f 100644 --- a/sysutils/heartbeat/Makefile +++ b/sysutils/heartbeat/Makefile @@ -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 + +.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 + @${CAT} ${PKGMESSAGE} + +post-deinstall: + @${SH} ${PKGINSTALL} ${PKGNAME} DEINSTALL + +.include diff --git a/sysutils/heartbeat/distinfo b/sysutils/heartbeat/distinfo index 3387aa6840d3..3cf5488b58b2 100644 --- a/sysutils/heartbeat/distinfo +++ b/sysutils/heartbeat/distinfo @@ -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 diff --git a/sysutils/heartbeat/files/patch-configure b/sysutils/heartbeat/files/patch-configure deleted file mode 100644 index 647237f31ff3..000000000000 --- a/sysutils/heartbeat/files/patch-configure +++ /dev/null @@ -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" ;; diff --git a/sysutils/heartbeat/files/patch-configure.in b/sysutils/heartbeat/files/patch-configure.in new file mode 100644 index 000000000000..373d5e7bb8ae --- /dev/null +++ b/sysutils/heartbeat/files/patch-configure.in @@ -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) diff --git a/sysutils/heartbeat/files/patch-heartbeat-init.d-heartbeat.in b/sysutils/heartbeat/files/patch-heartbeat-init.d-heartbeat.in new file mode 100644 index 000000000000..d2d9ac5ebb2d --- /dev/null +++ b/sysutils/heartbeat/files/patch-heartbeat-init.d-heartbeat.in @@ -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 diff --git a/sysutils/heartbeat/files/patch-heartbeat-resource.d-BSDService.in b/sysutils/heartbeat/files/patch-heartbeat-resource.d-BSDService.in deleted file mode 100644 index 84c2b5b29652..000000000000 --- a/sysutils/heartbeat/files/patch-heartbeat-resource.d-BSDService.in +++ /dev/null @@ -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 $? -+ diff --git a/sysutils/heartbeat/files/patch-heartbeat-resource.d-Makefile.in b/sysutils/heartbeat/files/patch-heartbeat-resource.d-Makefile.in deleted file mode 100644 index dd9c06993157..000000000000 --- a/sysutils/heartbeat/files/patch-heartbeat-resource.d-Makefile.in +++ /dev/null @@ -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 diff --git a/sysutils/heartbeat/files/patch-heartbeat_resource.d_IPaddr.in b/sysutils/heartbeat/files/patch-heartbeat_resource.d_IPaddr.in deleted file mode 100644 index a9a8336451dd..000000000000 --- a/sysutils/heartbeat/files/patch-heartbeat_resource.d_IPaddr.in +++ /dev/null @@ -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` diff --git a/sysutils/heartbeat/files/patch-ldirectord-init.d-ldirectord b/sysutils/heartbeat/files/patch-ldirectord-init.d-ldirectord deleted file mode 100644 index fa699c652b52..000000000000 --- a/sysutils/heartbeat/files/patch-ldirectord-init.d-ldirectord +++ /dev/null @@ -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 - $@ diff --git a/sysutils/heartbeat/files/patch-ldirectord-ldirectord.in b/sysutils/heartbeat/files/patch-ldirectord-ldirectord.in new file mode 100644 index 000000000000..50f41f3b8933 --- /dev/null +++ b/sysutils/heartbeat/files/patch-ldirectord-ldirectord.in @@ -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) { diff --git a/sysutils/heartbeat/files/pkg-install.in b/sysutils/heartbeat/files/pkg-install.in index a125513bfc8e..e69117e84a9d 100644 --- a/sysutils/heartbeat/files/pkg-install.in +++ b/sysutils/heartbeat/files/pkg-install.in @@ -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 diff --git a/sysutils/heartbeat/files/pkg-message.in b/sysutils/heartbeat/files/pkg-message.in new file mode 100644 index 000000000000..91dbbb67c257 --- /dev/null +++ b/sysutils/heartbeat/files/pkg-message.in @@ -0,0 +1,25 @@ + +# # +## ## +### ### +######################################################## +### ### +## ## +# # + + INFORMATION: + - Configuration directory: %%PREFIX%%/etc/ha.d + + + CAVEATS: + - bcast is not available on FreeBSD. + - BasicSanityCheck is not available on FreeBSD. + +# # +## ## +### ### +######################################################## +### ### +## ## +# # + diff --git a/sysutils/heartbeat/pkg-descr b/sysutils/heartbeat/pkg-descr index 89fdf0a7ff42..b9b22ad00bbf 100644 --- a/sysutils/heartbeat/pkg-descr +++ b/sysutils/heartbeat/pkg-descr @@ -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 +WWW: http://linux-ha.org diff --git a/sysutils/heartbeat/pkg-plist b/sysutils/heartbeat/pkg-plist index 00262b73b677..8c374b8f20e5 100644 --- a/sysutils/heartbeat/pkg-plist +++ b/sysutils/heartbeat/pkg-plist @@ -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