|
|
|
# Copyright 1999-2017 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=5
|
|
|
|
|
|
|
|
if [[ ${PV} = 9999* ]]; then
|
|
|
|
inherit git-r3
|
|
|
|
EGIT_REPO_URI="https://github.com/python-diamond/Diamond.git"
|
|
|
|
S=${WORKDIR}/diamond-${PV}
|
|
|
|
else
|
|
|
|
SRC_URI="https://github.com/python-diamond/Diamond/archive/v${PV}.tar.gz -> python-diamond-${PV}.tar.gz"
|
|
|
|
KEYWORDS="amd64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
|
|
S=${WORKDIR}/Diamond-${PV}
|
|
|
|
fi
|
|
|
|
|
|
|
|
PYTHON_COMPAT=( python2_7 )
|
|
|
|
|
|
|
|
inherit distutils-r1 eutils prefix
|
|
|
|
|
|
|
|
DESCRIPTION="Python daemon that collects and publishes system metrics"
|
|
|
|
HOMEPAGE="https://github.com/python-diamond/Diamond"
|
|
|
|
|
|
|
|
LICENSE="MIT"
|
|
|
|
SLOT="0"
|
|
|
|
IUSE="test mongo mysql snmp redis"
|
|
|
|
RESTRICT="!test? ( test )"
|
|
|
|
|
|
|
|
RDEPEND="dev-python/configobj
|
|
|
|
dev-python/setproctitle
|
|
|
|
mongo? ( dev-python/pymongo )
|
|
|
|
mysql? ( dev-python/mysql-python )
|
|
|
|
snmp? ( dev-python/pysnmp )
|
|
|
|
redis? ( dev-python/redis-py )
|
|
|
|
!kernel_linux? ( >=dev-python/psutil-3 )"
|
|
|
|
DEPEND="${RDEPEND}
|
|
|
|
test? ( dev-python/mock )"
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
# adjust for Prefix
|
|
|
|
hprefixify bin/diamond*
|
|
|
|
|
|
|
|
# fix necessary to make handlers honour their config, simple sed
|
|
|
|
# doing the same as upstream
|
|
|
|
# https://github.com/python-diamond/Diamond/commit/3cb29eedd117d2e4146823a5c5811d16cc77206a.patch
|
|
|
|
sed -i \
|
|
|
|
-e '/cls_name =/s/\.__class__//' \
|
|
|
|
src/diamond/utils/classes.py \
|
|
|
|
|| die
|
|
|
|
|
|
|
|
epatch "${FILESDIR}"/${P}-psutil.patch
|
|
|
|
|
|
|
|
distutils-r1_src_prepare
|
|
|
|
}
|
|
|
|
|
|
|
|
python_test() {
|
|
|
|
"${PYTHON}" ./test.py || die "Tests fail with ${PYTHON}"
|
|
|
|
}
|
|
|
|
|
|
|
|
python_install() {
|
|
|
|
export VIRTUAL_ENV=1
|
|
|
|
distutils-r1_python_install
|
|
|
|
mv "${ED}"/usr/etc "${ED}"/ || die
|
|
|
|
rm "${ED}"/etc/diamond/*.windows # won't need these
|
|
|
|
sed -i \
|
|
|
|
-e '/pid_file =/s:/var/run:/run:' \
|
|
|
|
"${ED}"/etc/diamond/diamond.conf.example || die
|
|
|
|
hprefixify "${ED}"/etc/diamond/diamond.conf.example
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
distutils-r1_src_install
|
|
|
|
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
|
|
|
newconfd "${FILESDIR}"/${PN}.confd ${PN}
|
|
|
|
keepdir /var/log/diamond
|
|
|
|
}
|