Gentoo Archives: gentoo-commits

From: "Justin Bronder (jsbronder)" <jsbronder@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-cluster/ganglia: ChangeLog ganglia-3.1.7.ebuild
Date: Fri, 23 Apr 2010 03:50:47
Message-Id: 20100423035043.D6AD6295BA@corvid.gentoo.org
1 jsbronder 10/04/23 03:50:43
2
3 Modified: ChangeLog
4 Added: ganglia-3.1.7.ebuild
5 Log:
6 Version and EAPI bump, add support for prefix. Remove warning for older versions of ganglia that are no longer in the tree.
7 (Portage version: 2.2_rc67/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.35 sys-cluster/ganglia/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/ganglia/ChangeLog?rev=1.35&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/ganglia/ChangeLog?rev=1.35&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/ganglia/ChangeLog?r1=1.34&r2=1.35
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/sys-cluster/ganglia/ChangeLog,v
19 retrieving revision 1.34
20 retrieving revision 1.35
21 diff -u -r1.34 -r1.35
22 --- ChangeLog 9 Jan 2010 18:37:03 -0000 1.34
23 +++ ChangeLog 23 Apr 2010 03:50:43 -0000 1.35
24 @@ -1,6 +1,12 @@
25 # ChangeLog for sys-cluster/ganglia
26 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/ganglia/ChangeLog,v 1.34 2010/01/09 18:37:03 jsbronder Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/ganglia/ChangeLog,v 1.35 2010/04/23 03:50:43 jsbronder Exp $
29 +
30 +*ganglia-3.1.7 (23 Apr 2010)
31 +
32 + 23 Apr 2010; Justin Bronder <jsbronder@g.o> +ganglia-3.1.7.ebuild:
33 + Version and EAPI bump, add support for prefix. Remove warning for older
34 + versions of ganglia that are no longer in the tree.
35
36 *ganglia-3.1.2-r1 (09 Jan 2010)
37
38
39
40
41 1.1 sys-cluster/ganglia/ganglia-3.1.7.ebuild
42
43 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/ganglia/ganglia-3.1.7.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/ganglia/ganglia-3.1.7.ebuild?rev=1.1&content-type=text/plain
45
46 Index: ganglia-3.1.7.ebuild
47 ===================================================================
48 # Copyright 1999-2010 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/sys-cluster/ganglia/ganglia-3.1.7.ebuild,v 1.1 2010/04/23 03:50:43 jsbronder Exp $
51
52 EAPI="3"
53 WEBAPP_OPTIONAL="yes"
54 inherit eutils multilib webapp python
55
56 DESCRIPTION="A scalable distributed monitoring system for clusters and grids"
57 HOMEPAGE="http://ganglia.sourceforge.net/"
58 SRC_URI="mirror://sourceforge/ganglia/${P}.tar.gz"
59 LICENSE="BSD"
60
61 WEBAPP_MANUAL_SLOT="yes"
62 SLOT="0"
63 KEYWORDS="~amd64 ~ppc ~x86"
64 IUSE="minimal vhosts python"
65
66 DEPEND="
67 dev-libs/confuse
68 dev-libs/expat
69 >=dev-libs/apr-1.0
70 python? ( >=dev-lang/python-2.3 )
71 !dev-db/firebird"
72
73 RDEPEND="
74 ${DEPEND}
75 !minimal? ( net-analyzer/rrdtool
76 ${WEBAPP_DEPEND}
77 dev-lang/php[gd,xml,ctype,pcre,cgi]
78 media-fonts/dejavu
79 )"
80
81 pkg_setup() {
82 use minimal || webapp_pkg_setup
83 }
84
85 src_prepare() {
86 # This patch just gives a group to the disk statistics.
87 # I.E. it's just cosmetics
88 epatch "${FILESDIR}"/${PN}-3.1.1-multidisk-group.patch
89 }
90
91 src_configure() {
92 econf \
93 --enable-gexec \
94 --sysconfdir="${EPREFIX}"/etc/${PN} \
95 $(use_enable python) \
96 $(use_with !minimal gmetad) || die "econf failed"
97 }
98
99 src_install() {
100 emake DESTDIR="${D}" install || die "emake install failed"
101
102 newinitd "${FILESDIR}"/gmond.rc gmond
103 doman {mans/*.1,gmond/*.5} || die "Failed to install manpages"
104 dodoc AUTHORS ChangeLog INSTALL NEWS README || die
105
106 dodir /etc/ganglia/conf.d
107 gmond/gmond -t > "${ED}"/etc/ganglia/gmond.conf
108
109 # Sadly, there is no install target for any of this.
110 if use python; then
111 # We install the multidisk module, but not the configuration
112 # as this needs to be generated later. See pkg_config
113 local gmond_py="disk/multidisk network/tcpconn"
114 local gmond_py_conf="tcpconn"
115 newdoc gmond/modules/python/README README.python_modules
116 insinto /etc/ganglia/conf.d
117 doins gmond/modules/conf.d/modpython.conf
118 for i in ${gmond_py_conf}; do
119 doins gmond/python_modules/conf.d/${i}.pyconf
120 done
121 dodir /usr/$(get_libdir)/ganglia/python_modules
122 insinto /usr/$(get_libdir)/ganglia/python_modules
123 for i in ${gmond_py}; do
124 doins gmond/python_modules/${i}.py
125 done
126 fi
127
128 if ! use minimal; then
129 webapp_src_preinst
130 insinto "${MY_HTDOCSDIR}"
131 doins -r web/*
132 webapp_configfile "${MY_HTDOCSDIR}"/conf.php
133 webapp_src_install
134
135 # webapp_src_install stomps on permissions, so do that
136 # stuff first.
137 insinto /etc/ganglia
138 doins gmetad/gmetad.conf
139 doman mans/gmetad.1
140
141 newinitd "${FILESDIR}"/gmetad.rc gmetad
142 keepdir /var/lib/ganglia/rrds
143 fowners nobody:nobody /var/lib/ganglia/rrds
144 fi
145 }
146
147 pkg_postinst() {
148 elog "A default configuration file for gmond has been generated"
149 elog "for you as a template by running:"
150 elog " /usr/sbin/gmond -t > /etc/ganglia/gmond.conf"
151 elog "customize it from there or provide your own but be aware"
152 elog "the format has changed since 3.0 and so you won't be able"
153 elog "to use your current configuration (if you generated any)"
154 elog "in /etc/gmond.conf directly"
155 elog
156 elog "If you require disk {usage,total} statistics, please run"
157 elog " emerge --config ${PN}"
158 elog "then check ${ROOT}etc/ganglia/conf.d/diskusage.pyconf"
159 elog "for correctness."
160
161 use minimal || webapp_pkg_postinst
162
163 use python && \
164 python_mod_optimize /usr/$(get_libdir)/ganglia/python_modules/
165 }
166
167 pkg_prerm() {
168 use minimal || webapp_pkg_prerm
169 }
170
171 pkg_postrm() {
172 use python && \
173 python_mod_cleanup /usr/$(get_libdir)/ganglia/python_modules/
174 [ -d "${ROOT}"/usr/$(get_libdir)/ganglia ] && \
175 rmdir "${ROOT}"/usr/$(get_libdir)/ganglia 2>/dev/null
176 }
177
178 pkg_config() {
179 local disk_used_metrics disk_total_metrics i
180 local disk_pyconf="${ROOT}"etc/ganglia/conf.d/diskusage.pyconf
181
182 if ! use python; then
183 einfo "No configuration necessary :)"
184 exit 0
185 fi
186
187 if [ ! -w ${disk_pyconf} ]; then
188 eerror "Cannot write to ${disk_pyconf}"
189 exit 1
190 fi
191
192 ebegin "Generating disk used/total metric configuration to ${disk_pyconf}"
193 disk_used_metrics=$(${ROOT}/usr/sbin/gmond -m | awk '/-disk_used/{print $1}')
194 disk_total_metrics=$(${ROOT}/usr/sbin/gmond -m | awk '/-disk_total/{print $1}')
195 cat > ${disk_pyconf} <<-EOF
196 #/* Disk usage collection groups for
197 # multidisk python module */
198 #
199 # Autogenerated by pkg_config in the Gentoo ganglia ebuild.
200
201 modules {
202 module {
203 name = "multidisk"
204 language = "python"
205 }
206 }
207
208 collection_group {
209 collect_every = 10
210 time_threshold = 50
211 EOF
212 for i in ${disk_used_metrics}; do
213 printf \
214 "\n metric {\n name = \"%s\"\n value_threshold = 1.0\n }" \
215 ${i} >> ${disk_pyconf}
216 done
217 printf "\n}\n\n" >> ${disk_pyconf}
218
219 # Get the disk total metrics.
220 cat >> ${disk_pyconf} <<-EOF
221 collection_group {
222 collect_once = yes
223 time_threshold = 20
224 EOF
225 for i in ${disk_total_metrics}; do
226 printf \
227 "\n metric {\n name = \"%s\"\n }" \
228 ${i} >> ${disk_pyconf}
229 done
230 printf "\n}\n" >> ${disk_pyconf}
231 }