blob: c81c58f895edadf5e41069eca8c8d35a0d8df0ca (
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
120
121
122
123
124
125
126
127
128
|
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-cluster/ganglia/ganglia-3.1.0-r1.ebuild,v 1.1 2008/08/11 18:37:04 jsbronder Exp $
WEBAPP_OPTIONAL="yes"
inherit multilib webapp depend.php python
DESCRIPTION="A scalable distributed monitoring system for clusters and grids"
HOMEPAGE="http://ganglia.sourceforge.net/"
SRC_URI="mirror://sourceforge/ganglia/${P}.tar.gz"
LICENSE="BSD"
WEBAPP_MANUAL_SLOT="yes"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="minimal vhosts python"
DEPEND="
dev-libs/confuse
dev-libs/expat
>=dev-libs/apr-1.0
python? ( >=dev-lang/python-2.3 )"
RDEPEND="
${DEPEND}
!minimal? ( net-analyzer/rrdtool
${WEBAPP_DEPEND}
=virtual/httpd-php-5* )"
pkg_setup() {
if ! use minimal ; then
require_gd
require_php_with_use xml ctype
webapp_pkg_setup
fi
}
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/ganglia-3.1-gmond-python-tcpconn-concurrency.patch
epatch "${FILESDIR}"/${P}-gmetad-hierarchical.patch
}
src_compile() {
econf \
--enable-gexec \
$(use_enable python) \
$(use_with !minimal gmetad) || die "econf failed"
emake || die "emake failed"
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
newinitd "${FILESDIR}"/gmond.rc gmond
doman mans/{gmetric.1,gmond.1,gstat.1}
doman gmond/gmond.conf.5
dodoc AUTHORS ChangeLog INSTALL NEWS README
dodir /etc/ganglia/conf.d
gmond/gmond -t > "${D}"/etc/ganglia/gmond.conf
if use python; then
# Sadly, there is no install target for any of this.
mv gmond/modules/python/README "${T}"/README.python_modules
dodoc "${T}"/README.python_modules
insinto /etc/ganglia/conf.d
# multidisk/diskusage python metric skipped until fixed for gentoo
doins gmond/modules/conf.d/modpython.conf
doins gmond/python_modules/conf.d/tcpconn.pyconf
dodir /usr/$(get_libdir)/ganglia/python_modules
insinto /usr/$(get_libdir)/ganglia/python_modules
doins gmond/python_modules/network/tcpconn.py
fi
insinto /etc/ganglia
if ! use minimal; then
doins gmetad/gmetad.conf
doman mans/gmetad.1
keepdir /var/lib/ganglia/rrds
fowners nobody:nobody /var/lib/ganglia/rrds
newinitd "${FILESDIR}"/gmetad.rc gmetad
webapp_src_preinst
insinto "${MY_HTDOCSDIR}"
doins -r web/*
webapp_configfile "${MY_HTDOCSDIR}"/conf.php
webapp_src_install
fi
}
pkg_preinst() {
if has_version '<sys-cluster/ganglia-3.1.0'; then
elog "Previous ganglia installation detected."
elog "Copying gmetad configuration to /etc/ganglia"
elog "You may have to remove /etc/gmond.conf yourself."
mkdir -p "${D}"/etc/ganglia
[ -f "${ROOT}"etc/gmetad.conf ] \
&& cp "${ROOT}"etc/gmetad.conf "${D}"/etc/ganglia
fi
}
pkg_postinst() {
elog "A default configuration file for gmond has been generated"
elog "for you as a template by running:"
elog " /usr/sbin/gmond -t > /etc/ganglia/gmond.conf"
elog "customize it from there or provide your own but be aware"
elog "the format has changed since 3.0 and so you won't be able"
elog "to use your current configuration (if you generated any)"
elog "in /etc/gmond.conf directly"
use minimal || webapp_pkg_postinst
use python && \
python_mod_optimize /usr/$(get_libdir)/ganglia/python_modules/
}
pkg_prerm() {
use minimal || webapp_pkg_prerm
}
pkg_postrm() {
use python && \
python_mod_cleanup /usr/$(get_libdir)/ganglia/python_modules/
[ -d /usr/$(get_libdir)/ganglia ] && rmdir /usr/$(get_libdir)/ganglia
}
|