blob: 2ea8804f71b96702da2de3542680d2897c95d602 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/heartbeat-2.0.7-r2.ebuild,v 1.2 2006/09/25 23:57:35 xmerlin Exp $
inherit flag-o-matic eutils
DESCRIPTION="Heartbeat high availability cluster manager"
HOMEPAGE="http://www.linux-ha.org"
SRC_URI="http://www.linux-ha.org/download/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 -mips ~ppc -s390 x86"
IUSE="ldirectord doc snmp management"
DEPEND="
=dev-libs/glib-2*
net-libs/libnet
dev-util/pkgconfig
>=dev-lang/perl-5.8.8
net-misc/iputils
virtual/ssh
net-libs/gnutls
ldirectord? ( sys-cluster/ipvsadm
dev-perl/Net-DNS
dev-perl/libwww-perl
dev-perl/perl-ldap
perl-core/libnet
dev-perl/Crypt-SSLeay
dev-perl/HTML-Parser
dev-perl/perl-ldap
dev-perl/Mail-IMAPClient
dev-perl/Mail-POP3Client
dev-perl/MailTools
)
snmp? ( net-analyzer/net-snmp )
net-misc/telnet-bsd
dev-lang/swig
management? (
>=dev-lang/python-2.4
>=dev-python/pygtk-2.4
>=sys-libs/pam-0.78-r3
)
"
src_unpack() {
unpack ${A}
cd ${S}
epatch ${FILESDIR}/${P}-update-resources-failcount.patch || die
}
src_compile() {
append-ldflags $(bindnow-flags)
./configure --prefix=/usr \
--mandir=/usr/share/man \
--sysconfdir=/etc \
--localstatedir=/var \
--with-group-name=cluster \
--with-group-id=65 \
--with-ccmuser-name=cluster \
--with-ccmuser-id=65 \
--enable-checkpointd \
--enable-crm \
--enable-lrm \
$(use_enable management mgmt) \
|| die
emake -j 1 || die "compile problem"
}
pkg_preinst() {
# check for cluster group, if it doesn't exist make it
if ! grep -q cluster.*65 /etc/group ; then
groupadd -g 65 cluster
fi
# check for cluster user, if it doesn't exist make it
if ! grep -q cluster.*65 /etc/passwd ; then
useradd -u 65 -g cluster -s /dev/null -d /var/lib/heartbeat cluster
fi
}
src_install() {
make DESTDIR=${D} install || die
# heartbeat modules need these dirs
#keepdir /var/lib/heartbeat/ckpt /var/lib/heartbeat/ccm /var/lib/heartbeat
keepdir /var/lib/heartbeat/crm /var/lib/heartbeat/lrm /var/lib/heartbeat/fencing
keepdir /var/lib/heartbeat/cores/cluster /var/lib/heartbeat/cores/root /var/lib/heartbeat/cores/nobody
keepdir /var/run/heartbeat/ccm /var/run/heartbeat/crm
keepdir /etc/ha.d/conf
dosym /usr/sbin/ldirectord /etc/ha.d/resource.d/ldirectord || die
if use management ; then
keepdir /var/lib/heartbeat/mgmt
fi
# if ! USE="ldirectord" then don't install it
if ! use ldirectord ; then
rm ${D}/etc/init.d/ldirectord
rm ${D}/etc/logrotate.d/ldirectord
rm ${D}/etc/ha.d/resource.d/ldirectord
rm ${D}/usr/share/man/man8/supervise-ldirectord-config.8
rm ${D}/usr/share/man/man8/ldirectord.8
rm ${D}/usr/sbin/ldirectord
rm ${D}/usr/sbin/supervise-ldirectord-config
fi
exeinto /etc/init.d
newexe ${FILESDIR}/heartbeat-init heartbeat
dodoc ldirectord/ldirectord.cf doc/*.cf doc/haresources doc/authkeys || die
if use doc ; then
dodoc README doc/*.txt doc/AUTHORS doc/COPYING || die
fi
}
|