# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # . # ./Makefile # ./pkg-descr # ./distinfo # ./pkg-plist # ./pkg-install # ./pkg-deinstall # echo c - . mkdir -p . > /dev/null 2>&1 echo x - ./Makefile sed 's/^X//' >./Makefile << 'END-of-./Makefile' X# New ports collection makefile for: hearbeat X# Date created: 18 March 2005 X# Whom: Scott Kleihege X# X# $FreeBSD$ X# X XPORTNAME= heartbeat XPORTVERSION= 1.2.3 XCATEGORIES= sysutils XMASTER_SITES= http://linux-ha.org/download/ X XMAINTAINER= scott-ports@tummy.com XCOMMENT= Subsystem for High-Availability Clustering X XBUILD_DEPENDS= ${LOCALBASE}/include/libnet.h:${PORTSDIR}/net/libnet-devel \ X ${LOCALBASE}/include/glib12/glib.h:${PORTSDIR}/devel/glib12 XRUN_DEPENDS= ${BUILD_DEPENDS} X XUSE_PERL5= yes XGNU_CONFIGURE= yes XUSE_GMAKE= yes XUSE_AUTOTOOLS= yes XCONFIGURE_ARGS= --disable-fatal-warnings X XMAN1= cl_status.1 XMAN8= apphbd.8 heartbeat.8 ldirectord.8 meatclient.8 \ X stonith.8 supervise-ldirectord-config.8 X Xpre-install: X PATH=${PATH}:${LOCALBASE}/bin X Xpost-install: X PKG_PREFIX=${LOCALBASE} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL X X.include END-of-./Makefile echo x - ./pkg-descr sed 's/^X//' >./pkg-descr << 'END-of-./pkg-descr' Xheartbeat is a basic high-availability subsystem. It will run Xscripts at initialization, and when machines go up or down. This Xversion will also perform IP address takeover using gratuitous ARPs. X XIt implements the following kinds of heartbeats: X - Bidirectional Serial Rings ("raw" serial ports) X - UDP/IP broadcast (ethernet, etc) X - Unicast heartbeats X - "ping" heartbeats (for routers, switches, etc.) X (to be used for breaking ties in 2-node systems) X Xldirectord is a stand-alone daemon to monitor services. X XThe STONITH module (a.k.a. STOMITH) provides an extensible interface Xfor remotely powering down a node in the cluster. X XPILS is an generalized and portable open source Plugin and Interface XLoading System. PILS manages both plugins (loadable objects), and Xthe interfaces these plugins implement. PILS is designed to support Xany number of plugins implementing any number of interfaces. X XWWW: http://linux-ha.org/ X XScott Kleihege END-of-./pkg-descr echo x - ./distinfo sed 's/^X//' >./distinfo << 'END-of-./distinfo' XMD5 (heartbeat-1.2.3.tar.gz) = 9fd126e5dff51cc8c1eee223c252a4af XSIZE (heartbeat-1.2.3.tar.gz) = 1772513 END-of-./distinfo echo x - ./pkg-plist sed 's/^X//' >./pkg-plist << 'END-of-./pkg-plist' Xbin/cl_status Xetc/ha.d/README.config Xetc/ha.d/harc Xetc/ha.d/rc.d/ask_resources Xetc/ha.d/rc.d/hb_takeover Xetc/ha.d/rc.d/ip-request Xetc/ha.d/rc.d/ip-request-resp Xetc/ha.d/rc.d/status Xetc/ha.d/resource.d/AudibleAlarm Xetc/ha.d/resource.d/Delay Xetc/ha.d/resource.d/Filesystem Xetc/ha.d/resource.d/ICP Xetc/ha.d/resource.d/IPaddr Xetc/ha.d/resource.d/IPaddr2 Xetc/ha.d/resource.d/IPsrcaddr Xetc/ha.d/resource.d/LVM Xetc/ha.d/resource.d/LinuxSCSI Xetc/ha.d/resource.d/MailTo Xetc/ha.d/resource.d/OCF Xetc/ha.d/resource.d/Raid1 Xetc/ha.d/resource.d/SendArp Xetc/ha.d/resource.d/ServeRAID Xetc/ha.d/resource.d/WAS Xetc/ha.d/resource.d/WinPopup Xetc/ha.d/resource.d/Xinetd Xetc/ha.d/resource.d/apache Xetc/ha.d/resource.d/db2 Xetc/ha.d/resource.d/portblock Xetc/ha.d/shellfuncs Xetc/logrotate.d/heartbeat Xetc/logrotate.d/ldirectord Xinclude/clplumbing/GSource.h Xinclude/clplumbing/Gmain_timeout.h Xinclude/clplumbing/apphb_cs.h Xinclude/clplumbing/base64.h Xinclude/clplumbing/cl_log.h Xinclude/clplumbing/cl_malloc.h Xinclude/clplumbing/cl_poll.h Xinclude/clplumbing/cl_signal.h Xinclude/clplumbing/cpulimits.h Xinclude/clplumbing/ipc.h Xinclude/clplumbing/loggingdaemon.h Xinclude/clplumbing/longclock.h Xinclude/clplumbing/lsb_exitcodes.h Xinclude/clplumbing/mkstemp_mode.h Xinclude/clplumbing/netstring.h Xinclude/clplumbing/proctrack.h Xinclude/clplumbing/realtime.h Xinclude/clplumbing/recoverymgr_cs.h Xinclude/clplumbing/timers.h Xinclude/clplumbing/ttylock.h Xinclude/clplumbing/uids.h Xinclude/heartbeat/HBauth.h Xinclude/heartbeat/HBcomm.h Xinclude/heartbeat/apphb.h Xinclude/heartbeat/apphb_notify.h Xinclude/heartbeat/ha_config.h Xinclude/heartbeat/ha_msg.h Xinclude/heartbeat/hb_api.h Xinclude/heartbeat/heartbeat.h Xinclude/heartbeat/recoverymgr.h Xinclude/ocf/oc_event.h Xinclude/ocf/oc_membership.h Xinclude/pils/generic.h Xinclude/pils/interface.h Xinclude/pils/plugin.h Xinclude/saf/ais.h Xinclude/saf/ais_amf.h Xinclude/saf/ais_base.h Xinclude/saf/ais_checkpoint.h Xinclude/saf/ais_event.h Xinclude/saf/ais_lock.h Xinclude/saf/ais_membership.h Xinclude/saf/ais_message.h Xinclude/stonith/expect.h Xinclude/stonith/stonith.h Xlib/heartbeat/BasicSanityCheck Xlib/heartbeat/ResourceManager Xlib/heartbeat/TestHeartbeatComm Xlib/heartbeat/api_test Xlib/heartbeat/apphbd Xlib/heartbeat/apphbtest Xlib/heartbeat/ccm Xlib/heartbeat/ccm_testclient Xlib/heartbeat/checkpointd Xlib/heartbeat/ckpttest Xlib/heartbeat/clmtest Xlib/heartbeat/cts/CM_fs.py Xlib/heartbeat/cts/CM_hb.py Xlib/heartbeat/cts/CTS.py Xlib/heartbeat/cts/CTSaudits.py Xlib/heartbeat/cts/CTSlab.py Xlib/heartbeat/cts/CTStests.py Xlib/heartbeat/cts/README Xlib/heartbeat/findif Xlib/heartbeat/ha_config Xlib/heartbeat/hb_standby Xlib/heartbeat/hb_takeover Xlib/heartbeat/heartbeat Xlib/heartbeat/ipctest Xlib/heartbeat/ipctransientclient Xlib/heartbeat/ipctransientserver Xlib/heartbeat/ipfail Xlib/heartbeat/mach_down Xlib/heartbeat/plugins/AppHBNotification/recmgr.a Xlib/heartbeat/plugins/AppHBNotification/recmgr.la Xlib/heartbeat/plugins/AppHBNotification/recmgr.so Xlib/heartbeat/plugins/HBauth/crc.a Xlib/heartbeat/plugins/HBauth/crc.la Xlib/heartbeat/plugins/HBauth/crc.so Xlib/heartbeat/plugins/HBauth/md5.a Xlib/heartbeat/plugins/HBauth/md5.la Xlib/heartbeat/plugins/HBauth/md5.so Xlib/heartbeat/plugins/HBauth/sha1.a Xlib/heartbeat/plugins/HBauth/sha1.la Xlib/heartbeat/plugins/HBauth/sha1.so Xlib/heartbeat/plugins/HBcomm/bcast.a Xlib/heartbeat/plugins/HBcomm/bcast.la Xlib/heartbeat/plugins/HBcomm/bcast.so Xlib/heartbeat/plugins/HBcomm/mcast.a Xlib/heartbeat/plugins/HBcomm/mcast.la Xlib/heartbeat/plugins/HBcomm/mcast.so Xlib/heartbeat/plugins/HBcomm/ping.a Xlib/heartbeat/plugins/HBcomm/ping.la Xlib/heartbeat/plugins/HBcomm/ping.so Xlib/heartbeat/plugins/HBcomm/ping_group.a Xlib/heartbeat/plugins/HBcomm/ping_group.la Xlib/heartbeat/plugins/HBcomm/ping_group.so Xlib/heartbeat/plugins/HBcomm/serial.a Xlib/heartbeat/plugins/HBcomm/serial.la Xlib/heartbeat/plugins/HBcomm/serial.so Xlib/heartbeat/plugins/HBcomm/ucast.a Xlib/heartbeat/plugins/HBcomm/ucast.la Xlib/heartbeat/plugins/HBcomm/ucast.so Xlib/heartbeat/plugins/test/test.a Xlib/heartbeat/plugins/test/test.la Xlib/heartbeat/plugins/test/test.so Xlib/heartbeat/recoverymgrd Xlib/heartbeat/req_resource Xlib/heartbeat/send_arp Xlib/libapphb.a Xlib/libapphb.la Xlib/libapphb.so Xlib/libapphb.so.0 Xlib/libccmclient.a Xlib/libccmclient.la Xlib/libccmclient.so Xlib/libccmclient.so.0 Xlib/libckpt.a Xlib/libckpt.la Xlib/libckpt.so Xlib/libckpt.so.0 Xlib/libclm.a Xlib/libclm.la Xlib/libclm.so Xlib/libclm.so.0 Xlib/libhbclient.a Xlib/libhbclient.la Xlib/libhbclient.so Xlib/libhbclient.so.0 Xlib/libpils.a Xlib/libpils.la Xlib/libpils.so Xlib/libpils.so.0 Xlib/libplumb.a Xlib/libplumb.la Xlib/libplumb.so Xlib/libplumb.so.0 Xlib/librecoverymgr.a Xlib/librecoverymgr.la Xlib/librecoverymgr.so Xlib/librecoverymgr.so.0 Xlib/libstonith.a Xlib/libstonith.la Xlib/libstonith.so Xlib/libstonith.so.0 Xlib/pils/plugins/InterfaceMgr/generic.a Xlib/pils/plugins/InterfaceMgr/generic.la Xlib/pils/plugins/InterfaceMgr/generic.so Xlib/stonith/plugins/stonith/apcmaster.a Xlib/stonith/plugins/stonith/apcmaster.la Xlib/stonith/plugins/stonith/apcmaster.so Xlib/stonith/plugins/stonith/apcsmart.a Xlib/stonith/plugins/stonith/apcsmart.la Xlib/stonith/plugins/stonith/apcsmart.so Xlib/stonith/plugins/stonith/baytech.a Xlib/stonith/plugins/stonith/baytech.la Xlib/stonith/plugins/stonith/baytech.so Xlib/stonith/plugins/stonith/external.a Xlib/stonith/plugins/stonith/external.la Xlib/stonith/plugins/stonith/external.so Xlib/stonith/plugins/stonith/ibmhmc.a Xlib/stonith/plugins/stonith/ibmhmc.la Xlib/stonith/plugins/stonith/ibmhmc.so Xlib/stonith/plugins/stonith/meatware.a Xlib/stonith/plugins/stonith/meatware.la Xlib/stonith/plugins/stonith/meatware.so Xlib/stonith/plugins/stonith/null.a Xlib/stonith/plugins/stonith/null.la Xlib/stonith/plugins/stonith/null.so Xlib/stonith/plugins/stonith/nw_rpc100s.a Xlib/stonith/plugins/stonith/nw_rpc100s.la Xlib/stonith/plugins/stonith/nw_rpc100s.so Xlib/stonith/plugins/stonith/rcd_serial.a Xlib/stonith/plugins/stonith/rcd_serial.la Xlib/stonith/plugins/stonith/rcd_serial.so Xlib/stonith/plugins/stonith/rps10.a Xlib/stonith/plugins/stonith/rps10.la Xlib/stonith/plugins/stonith/rps10.so Xlib/stonith/plugins/stonith/ssh.a Xlib/stonith/plugins/stonith/ssh.la Xlib/stonith/plugins/stonith/ssh.so Xlib/stonith/plugins/stonith/wti_nps.a Xlib/stonith/plugins/stonith/wti_nps.la Xlib/stonith/plugins/stonith/wti_nps.so Xsbin/ldirectord Xsbin/meatclient Xsbin/stonith Xsbin/supervise-ldirectord-config Xshare/doc/heartbeat-1.2.3/AUTHORS Xshare/doc/heartbeat-1.2.3/COPYING Xshare/doc/heartbeat-1.2.3/ChangeLog Xshare/doc/heartbeat-1.2.3/DirectoryMap.txt Xshare/doc/heartbeat-1.2.3/GettingStarted.html Xshare/doc/heartbeat-1.2.3/GettingStarted.txt Xshare/doc/heartbeat-1.2.3/HardwareGuide.html Xshare/doc/heartbeat-1.2.3/HardwareGuide.txt Xshare/doc/heartbeat-1.2.3/README Xshare/doc/heartbeat-1.2.3/Requirements.html Xshare/doc/heartbeat-1.2.3/Requirements.txt Xshare/doc/heartbeat-1.2.3/apphbd.cf Xshare/doc/heartbeat-1.2.3/authkeys Xshare/doc/heartbeat-1.2.3/faqntips.html Xshare/doc/heartbeat-1.2.3/faqntips.txt Xshare/doc/heartbeat-1.2.3/ha.cf Xshare/doc/heartbeat-1.2.3/haresources Xshare/doc/heartbeat-1.2.3/heartbeat_api.html Xshare/doc/heartbeat-1.2.3/heartbeat_api.txt Xshare/doc/heartbeat-1.2.3/rsync.html Xshare/doc/heartbeat-1.2.3/rsync.txt Xshare/doc/heartbeat-1.2.3/startstop Xshare/nls/POSIX Xshare/nls/en_US.US-ASCII X@unexec rmdir %D/var/run 2>/dev/null || true X@unexec rmdir %D/var/lock/subsys 2>/dev/null || true X@unexec rmdir %D/var/lock 2>/dev/null || true X@unexec rmdir %D/var/lib/heartbeat/ckpt 2>/dev/null || true X@unexec rmdir %D/var/lib/heartbeat/ccm 2>/dev/null || true X@unexec rmdir %D/var/lib/heartbeat 2>/dev/null || true X@unexec rmdir %D/var/lib 2>/dev/null || true X@unexec rmdir %D/var 2>/dev/null || true X@dirrm share/doc/heartbeat-1.2.3 X@dirrm lib/stonith/plugins/stonith X@dirrm lib/stonith/plugins X@dirrm lib/stonith X@dirrm lib/pils/plugins/InterfaceMgr X@dirrm lib/pils/plugins X@dirrm lib/pils X@dirrm lib/heartbeat/plugins/test X@dirrm lib/heartbeat/plugins/HBcomm X@dirrm lib/heartbeat/plugins/HBauth X@dirrm lib/heartbeat/plugins/AppHBNotification X@dirrm lib/heartbeat/plugins X@dirrm lib/heartbeat/cts X@dirrm lib/heartbeat X@dirrm include/stonith X@dirrm include/saf X@dirrm include/pils X@dirrm include/ocf X@dirrm include/heartbeat X@dirrm include/clplumbing X@dirrm etc/ha.d/resource.d X@dirrm etc/ha.d/rc.d X@unexec rmdir %D/etc/ha.d/conf 2>/dev/null || true X@unexec rmdir %D/etc/ha.d 2>/dev/null || true END-of-./pkg-plist echo x - ./pkg-install sed 's/^X//' >./pkg-install << 'END-of-./pkg-install' X#! /bin/sh X Xbase=${PKG_PREFIX} X Xask() { X local question default answer X X question=$1 X default=$2 X if [ -z "${PACKAGE_BUILDING}" ]; then X read -p "${question} [${default}]? " answer X fi X if [ x${answer} = x ]; then X answer=${default} X fi X echo ${answer} X} X Xyesno() { X local dflt question answer X X question=$1 X dflt=$2 X while :; do X answer=$(ask "${question}" "${dflt}") X case "${answer}" in X [Yy]*) return 0;; X [Nn]*) return 1;; X esac X echo "Please answer yes or no." X done X} X Xmake_account() { X local u g gcos homeopt home X X u=$1 X g=$2 X gcos=$3 X homeopt=${4:+"-d $4"} X X if pw group show "${g}" >/dev/null 2>&1; then X echo "You already have a group \"${g}\", so I will use it." X else X echo "You need a group \"${g}\"." X if which -s pw && yesno "Would you like me to create it" y; then X pw groupadd ${g} || exit X echo "Done." X else X echo "Please create it, and try again." X if ! grep -q "^${u}:" /etc/passwd; then X echo "While you're at it, please create a user \"${u}\" too," X echo "with a default group of \"${g}\"." X fi X exit 1 X fi X fi X X if pw user show "${u}" >/dev/null 2>&1; then X echo "You already have a user \"${u}\", so I will use it." X else X echo "You need a user \"${u}\"." X if which -s pw && yesno "Would you like me to create it" y; then X pw useradd ${u} -g ${g} -h - ${homeopt} \ X -s /nonexistent -c "${gcos}" || exit X echo "Done." X else X echo "Please create it, and try again." X exit 1 X fi X fi X X if [ x"$homeopt" = x ]; then X eval home=~${u} X if [ ! -d "${home}" ]; then X if yesno \ X "Would you like me to create ${u}'s home directory (${home})" y X then X mkdir -p ${home}/.cvsup || exit X touch ${home}/.cvsup/auth || exit X chown -R ${u}:${g} ${home} || exit X chmod -R go= ${home} || exit X else X echo "Please create it, and try again." X exit 1 X fi X fi X fi X} X Xcase $2 in X XPOST-INSTALL) X if which -s pw && which -s lockf; then X : X else X cat <./pkg-deinstall << 'END-of-./pkg-deinstall' X#! /bin/sh X Xask() { X local question default answer X X question=$1 X default=$2 X if [ -z "${PACKAGE_BUILDING}" ]; then X read -p "${question} [${default}]? " answer X fi X if [ x${answer} = x ]; then X answer=${default} X fi X echo ${answer} X} X Xyesno() { X local dflt question answer X X question=$1 X dflt=$2 X while :; do X answer=$(ask "${question}" "${dflt}") X case "${answer}" in X [Yy]*) return 0;; X [Nn]*) return 1;; X esac X echo "Please answer yes or no." X done X} X Xdelete_account() { X local u g home X X u=$1 X g=$2 X if yesno "Do you want me to remove group \"${g}\"" y; then X pw groupdel -n ${g} X echo "Done." X fi X if yesno "Do you want me to remove user \"${u}\"" y; then X eval home=~${u} X pw userdel -n ${u} X echo "Done." X if [ -d "${home}" ]; then X echo "Please remember to remove the home directory \"${home}\" as" X echo "well as the mirrored files." X fi X fi X} X Xif [ x$2 != xDEINSTALL ]; then X exit Xfi X Xexport PATH=/bin:/usr/bin:/usr/sbin X Xbase=${PKG_PREFIX} X Xif ps -axc | grep -q heartbeat; then X if yesno "There are some heartbeat processes running. Shall I kill them" y X then X killall heartbeat X sleep 2 X else X echo "OK ... I hope you know what you are doing." X fi Xfi X Xdelete_account hacluster haclient X Xecho "Removing runtime files" Xif [ -d ${base}/var/lib/heartbeat ]; then X rm -r ${base}/var/lib/heartbeat Xfi Xif [ -f ${base}/var/lock/subsys/heartbeat ]; then X rm ${base}/var/lock/subsys/heartbeat Xfi Xif [ -f ${base}/var/run/heartbeat.pid ]; then X rm ${base}/var/run/heartbeat.pid Xfi END-of-./pkg-deinstall exit