# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils python DESCRIPTION="Heartbeat is a core component of the Linux High-Availability project performing death-of-node detection, communications and cluster management in one process" HOMEPAGE="http://www.linux-ha.org/" SRC_URI="http://www.linux-ha.org/download/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" IUSE="doc ldirectord management snmp" DEPEND="app-arch/bzip2 >=dev-lang/perl-5.8.8 >=dev-lang/python-2.4 dev-lang/swig =dev-libs/glib-2* dev-libs/libxml2 dev-util/pkgconfig net-libs/gnutls >=net-libs/libnet-1.1 net-misc/curl net-misc/iputils net-misc/telnet-bsd sys-apps/hbaapi sys-apps/iproute2 sys-apps/lm_sensors sys-devel/bison sys-devel/flex sys-devel/libtool sys-fs/e2fsprogs sys-libs/ncurses sys-libs/openhpi sys-libs/openipmi sys-libs/pam sys-libs/zlib sys-process/psmisc virtual/ssh www-client/lynx ldirectord? ( dev-perl/Crypt-SSLeay dev-perl/DBI dev-perl/Digest-HMAC dev-perl/libwww-perl dev-perl/Mail-IMAPClient dev-perl/Mail-POP3Client dev-perl/MailTools dev-perl/Net-DNS dev-perl/perl-ldap sys-cluster/ipvsadm virtual/perl-libnet ) management? ( >=dev-python/pygtk-2.4 ) snmp? ( net-analyzer/net-snmp )" pkg_setup() { enewgroup cluster 65 enewuser cluster 65 -1 /var/lib/heartbeat cluster } pkg_postinst() { python_mod_optimize ${ROOT}/usr/share/heartbeat/cts python_mod_optimize ${ROOT}/usr/lib/heartbeat-gui/ } pkg_postrm() { python_mod_cleanup ${ROOT}/usr/share/heartbeat/cts python_mod_cleanup ${ROOT}/usr/lib/heartbeat-gui/ } src_compile() { econf --localstatedir=/var \ --with-mibsdir=/usr/share/snmp/mibs \ --with-group-name=cluster \ --with-group-id=65 \ --with-ccmuser-name=cluster \ --with-ccmuser-id=65 \ --enable-checkpointd \ --enable-crm \ --enable-lrm \ $(use_enable ldirectord) \ $(use_enable management mgmt) \ $(use_enable snmp) \ $(use_enable snmp snmp-subagent) emake || die "Failed compiling" } src_install() { emake DESTDIR="${D}" install || die "Failed staging" # Clean python object files. cd ${D}/usr/share/heartbeat/cts rm -f *.pyc *.pyo # Install init.d script. newinitd ${FILESDIR}/heartbeat-init heartbeat cd ${S}/doc # Default configuration files. insinto /etc/ha.d/ doins ha.cf insopts -m600 doins authkeys # Configuration examples. dodoc *.cf authkeys haresources if use ldirectord; then insinto /etc/ha.d/ insopts -m644 doins ldirectord/ldirectord.cf dodoc ldirectord/ldirectord.cf fi # Documentation. if use doc; then dodoc README AUTHORS ChangeLog COPYING* *.txt dohtml *.html fi }