diff options
Diffstat (limited to 'sys-cluster/ganglia')
-rw-r--r-- | sys-cluster/ganglia/ChangeLog | 7 | ||||
-rw-r--r-- | sys-cluster/ganglia/Manifest | 10 | ||||
-rw-r--r-- | sys-cluster/ganglia/ganglia-3.1.2.ebuild | 199 |
3 files changed, 211 insertions, 5 deletions
diff --git a/sys-cluster/ganglia/ChangeLog b/sys-cluster/ganglia/ChangeLog index ae6da3fb9b88..594a9100f3ea 100644 --- a/sys-cluster/ganglia/ChangeLog +++ b/sys-cluster/ganglia/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-cluster/ganglia # Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/ganglia/ChangeLog,v 1.24 2009/02/21 20:24:19 jsbronder Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/ganglia/ChangeLog,v 1.25 2009/02/21 21:40:40 jsbronder Exp $ + +*ganglia-3.1.2 (21 Feb 2009) + + 21 Feb 2009; Justin Bronder <jsbronder@gentoo.org> +ganglia-3.1.2.ebuild: + Bump sys-cluster/ganglia-3.1.2. 21 Feb 2009; Justin Bronder <jsbronder@gentoo.org> -files/ganglia-3.1.0-gmetad-hierarchical.patch, diff --git a/sys-cluster/ganglia/Manifest b/sys-cluster/ganglia/Manifest index 8b4007450fd4..af534f2644fe 100644 --- a/sys-cluster/ganglia/Manifest +++ b/sys-cluster/ganglia/Manifest @@ -7,13 +7,15 @@ AUX ganglia-3.1.1-process_path-overflow-r1.patch 1364 RMD160 0f04fa5f9cfeae72613 AUX gmetad.rc 328 RMD160 bfe287d90db7f26cd13978c99eabc6f7783b7073 SHA1 73d49ca4f669d914c87e2cdd9a4ad74bf1a75eb5 SHA256 c25c3dac00012f83e45819d6d0fb79bcf4e1ec773ad705b38127aade7c2a08c7 AUX gmond.rc 322 RMD160 98ac6011a603e3286ffe5c2368620ae0630a013f SHA1 d304b1849ea1abf14360915b3978e781b8e0cbed SHA256 ea3bd50fe4bfc18254fdfb69c81ec0bfad0c552a2f9a3d3aee4732f644695d7d DIST ganglia-3.1.1.tar.gz 1152883 RMD160 c4047d61f42f56d5328d10f39d52d5193636f36b SHA1 1209af0f67ca594e071d791ed110833141013693 SHA256 cc6955f0b086f40dc646e3d0d9f152854d1dcd19dea81b9bff16b38f3819f75c +DIST ganglia-3.1.2.tar.gz 1213196 RMD160 1f78cf1019759e12c3c65901fd74ac65dfddf4e3 SHA1 be5db246eb755d8c450140d1c80afef4f1179fe1 SHA256 278f6fcf2299ceb8cacff999e54f96987e8d09064b1d43469108985bdeba6f12 EBUILD ganglia-3.1.1-r2.ebuild 5343 RMD160 542b2772bf5f4adcefa7cfae05a147d2b9acc6ad SHA1 6baf7615c0cfb17cc47d870ae3f400c11bd60d05 SHA256 58becfa1090572a9a285b8de0d8e0b0e9948b6ce6072b7a02515eb93c9c94114 -MISC ChangeLog 6006 RMD160 96ebf43dfd246419fd574a726514db5cb323be97 SHA1 6e7a8ba97a64f0ded3c462b8dc126eba8a668b74 SHA256 b1ddb24333fc0d3136c48092d953f079bd0e5c711ed68319af1b06eea4999a04 +EBUILD ganglia-3.1.2.ebuild 5348 RMD160 418ee28fcac5a378a10aae006dc8d1230559ef42 SHA1 366b6ef91789566ce2136ec40ebcc7886df1e3c1 SHA256 d6246806d1163f2d517de7ff7759bcd64acf039c959974078a05befae3e3b351 +MISC ChangeLog 6147 RMD160 02444bf72db64b05a617e2d0d98dcfd363c57ad2 SHA1 f82a441df80e0e8c3f4cdf09ab047750055169f9 SHA256 11adf521336f1c0995c5ce2e78a12a88faa074666463b463a0237e55d3370de0 MISC metadata.xml 163 RMD160 ea1530cd45b9e04e8693261b9a94b5988e4b09a1 SHA1 443b7a3d8fb76c8d20647b165032ad358bfa3b6a SHA256 5a03bf3074b07158dffe793af69f7b0cd1e5c785537574713f9a7978032363a3 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) -iEYEARECAAYFAkmgYv0ACgkQ4MrvBE1wQ8lE9QCfYvE8/rYs6HcJMe5hA2NdENgZ -atgAnjU0KQeUgiN0F6Vzlu3rIsXhZHjN -=LIdx +iEYEARECAAYFAkmgdN4ACgkQ4MrvBE1wQ8nApQCgrMsO83TwWSSnvbcPTRRXLcEI +8GwAn34HfkaNvQoY3E8t6C3hBE6qtwJ2 +=bkY4 -----END PGP SIGNATURE----- diff --git a/sys-cluster/ganglia/ganglia-3.1.2.ebuild b/sys-cluster/ganglia/ganglia-3.1.2.ebuild new file mode 100644 index 000000000000..3fee3ef4c859 --- /dev/null +++ b/sys-cluster/ganglia/ganglia-3.1.2.ebuild @@ -0,0 +1,199 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/ganglia/ganglia-3.1.2.ebuild,v 1.1 2009/02/21 21:40:40 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 ) + !dev-db/firebird" + +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}" + # TODO: Submitted upstream, may not be necessary in the future. + epatch "${FILESDIR}"/${PN}-3.1.1-ctype-c99.patch + # This patch just gives a group to the disk statistics. + # I.E. it's just cosmetics + epatch "${FILESDIR}"/${PN}-3.1.1-multidisk-group.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 + + # Sadly, there is no install target for any of this. + if use python; then + # We install the multidisk module, but not the configuration + # as this needs to be generated later. See pkg_config + local gmond_py="disk/multidisk network/tcpconn" + local gmond_py_conf="tcpconn" + newdoc gmond/modules/python/README README.python_modules + insinto /etc/ganglia/conf.d + doins gmond/modules/conf.d/modpython.conf + for i in ${gmond_py_conf}; do + doins gmond/python_modules/conf.d/${i}.pyconf + done + dodir /usr/$(get_libdir)/ganglia/python_modules + insinto /usr/$(get_libdir)/ganglia/python_modules + for i in ${gmond_py}; do + doins gmond/python_modules/${i}.py + done + 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" + elog + elog "If you require disk {usage,total} statistics, please run" + elog " emerge --config ${PN}" + elog "then check ${ROOT}etc/ganglia/conf.d/diskusage.pyconf" + elog "for correctness." + + 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 2>/dev/null +} + +pkg_config() { + local disk_used_metrics disk_total_metrics i + local disk_pyconf="${ROOT}"etc/ganglia/conf.d/diskusage.pyconf + + if ! use python; then + einfo "No configuration necessary :)" + exit 0 + fi + + if [ ! -w ${disk_pyconf} ]; then + eerror "Cannot write to ${disk_pyconf}" + exit 1 + fi + + ebegin "Generating disk used/total metric configuration to ${disk_pyconf}" + disk_used_metrics=$(${ROOT}/usr/sbin/gmond -m | awk '/-disk_used/{print $1}') + disk_total_metrics=$(${ROOT}/usr/sbin/gmond -m | awk '/-disk_total/{print $1}') + cat > ${disk_pyconf} <<-EOF + #/* Disk usage collection groups for + # multidisk python module */ + # + # Autogenerated by pkg_config in the Gentoo ganglia ebuild. + + modules { + module { + name = "multidisk" + language = "python" + } + } + + collection_group { + collect_every = 10 + time_threshold = 50 + EOF + for i in ${disk_used_metrics}; do + printf \ + "\n metric {\n name = \"%s\"\n value_threshold = 1.0\n }" \ + ${i} >> ${disk_pyconf} + done + printf "\n}\n\n" >> ${disk_pyconf} + + # Get the disk total metrics. + cat >> ${disk_pyconf} <<-EOF + collection_group { + collect_once = yes + time_threshold = 20 + EOF + for i in ${disk_total_metrics}; do + printf \ + "\n metric {\n name = \"%s\"\n }" \ + ${i} >> ${disk_pyconf} + done + printf "\n}\n" >> ${disk_pyconf} +} |