gentoo-overlay/sys-cluster/ganglia/ganglia-3.7.2.ebuild

132 lines
3.0 KiB
Bash

# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python2_7 )
DISTUTILS_OPTIONAL=1
inherit autotools distutils-r1 eutils multilib systemd
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"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="minimal pcre python examples"
DEPEND="dev-libs/confuse
dev-libs/expat
>=dev-libs/apr-1.0
net-libs/libnsl:0=
net-libs/libtirpc
!dev-db/firebird
pcre? ( dev-libs/libpcre )
python? ( ${PYTHON_DEPS} )"
RDEPEND="
${DEPEND}
!minimal? ( net-analyzer/rrdtool )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
src_prepare() {
epatch "${FILESDIR}/01-${PV}-use-tirpc-instead-of-sunrpc.patch"
if use python && ! use minimal; then
pushd gmetad-python >/dev/null || die
distutils-r1_src_prepare
popd >/dev/null || die
fi
eautoreconf
}
src_configure() {
if use python; then
python_setup
fi
econf \
--with-systemdsystemunitdir=$(systemd_get_unitdir) \
--enable-gexec \
--sysconfdir="${EPREFIX}"/etc/${PN} \
--enable-static=no \
$(use_enable python) \
$(use_with pcre libpcre) \
$(use_with !minimal gmetad)
}
src_compile() {
default_src_compile
if use python && ! use minimal; then
pushd gmetad-python >/dev/null || die
distutils-r1_src_compile
popd >/dev/null || die
fi
}
src_install() {
local exdir=/usr/share/doc/${P}
emake DESTDIR="${D}" install || die
newinitd "${FILESDIR}"/gmond.rc-2 gmond
doman {mans/*.1,gmond/*.5} || die "Failed to install manpages"
dodoc AUTHORS INSTALL NEWS README || die
dodir /etc/ganglia/conf.d
use python && dodir /usr/$(get_libdir)/ganglia/python_modules
gmond/gmond -t > "${ED}"/etc/ganglia/gmond.conf
if use examples; then
insinto ${exdir}/cmod-examples
doins gmond/modules/example/*.c
if use python; then
# Installing as an examples per upstream.
insinto ${exdir}/pymod-examples
doins gmond/python_modules/*/*.py
insinto ${exdir}/pymod-examples/conf.d
doins gmond/python_modules/conf.d/*.pyconf
fi
fi
if ! use minimal; then
insinto /etc/ganglia
doins gmetad/gmetad.conf
doman mans/gmetad.1
newinitd "${FILESDIR}"/gmetad.rc-2 gmetad
keepdir /var/lib/ganglia/rrds
fowners nobody:nobody /var/lib/ganglia/rrds
if use python; then
pushd gmetad-python >/dev/null || die
distutils-r1_src_install
popd >/dev/null || die
newinitd "${FILESDIR}"/gmetad-python.rc gmetad-python
fi
fi
}
src_test() {
default_src_test
if use python && ! use minimal; then
pushd gmetad-python >/dev/null || die
distutils-r1_src_test
popd >/dev/null || die
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 "The web frontend for Ganglia has been split off. Emerge"
elog "sys-cluster/ganglia-web if you need it."
}