Skip to content

Commit

Permalink
dev-python/elasticsearch-curator: require newer elasticsearch-py
Browse files Browse the repository at this point in the history
Bug: https://bugs.gentoo.org/667526
Signed-off-by: Tomáš Mózes <[email protected]>
Package-Manager: Portage-2.3.50, Repoman-2.3.11
Signed-off-by: Thomas Deutschmann <[email protected]>
  • Loading branch information
hydrapolic authored and Whissi committed Oct 12, 2018
1 parent 90634c1 commit 3cfdb77
Show file tree
Hide file tree
Showing 2 changed files with 126 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-python/elasticsearch-curator/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ DIST elasticsearch-curator-5.4.1.tar.gz 294363 BLAKE2B 180882cee9ed3424569705bed
DIST elasticsearch-curator-5.5.1.tar.gz 301351 BLAKE2B 1dfcf53995c203a7201e421bc9f01a840597d8c1099ae434be52ff27e47e30f509bf1c5a42d507b549f5fe8ce45cbe74614ea76c338b0ae9de1d51877c8b32fe SHA512 a0ccb35fe93cefb927020add9629d5879cb64ee41a25130150ee8c45867e210f611a5fca0a43357c6f68cbf0c3f0acf677a7f8d2b3b493f4c2815637640ed9f6
DIST elasticsearch-curator-5.5.4.tar.gz 221161 BLAKE2B 41828800dd9237142767d3163b3d87770ea5b904858991598cce2feb7c3a22d85c0d73275a2f232099ea82e7346fc20080a3bfef692ee808b730d3e4e6de405d SHA512 99ed18592105d19791513ad713115b6e2a6b589ab8b4e3fc4435b2878e25f552e0bda8d63cb6279970afc6ba39d9f3db17af1b4fb44500fe8a14b060e1530258
DIST elasticsearch-oss-6.3.1.tar.gz 29417012 BLAKE2B 356665cde2f12ae5813d95302398f5fced07c53d25e6e1dc7ad41c8dc8ad42cd3d5bd4ffa6cab24af8088c29800f6ec59a483710272b756af2f76b5967d4b932 SHA512 3df0f7f35e150198f7ff660cf4d90fbd1c2ca587287c6340d427f968711b6390123bfafd09a744c9bdf328d57423bcb75f6e4701ce14a7257388611abea62545
DIST elasticsearch-oss-6.3.2.tar.gz 29418577 BLAKE2B 152640dc01a10f44ba43f87f68361cc0dd5e1cf54d0ff92377f3acd1a12a247f002ffe2d003cc53760e891278249c10b1d6d4eb978b0bb1c1ebf8879a2cfcb9a SHA512 3c51a860414f7e55900b1d9a350bdbc3e673c8445e316454c2480315b4b9fc08df58090c6281cecc3ae63d12d78d6bd58e228b3371aa325db799ce18758a21f4
125 changes: 125 additions & 0 deletions dev-python/elasticsearch-curator/elasticsearch-curator-5.5.4-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=6

PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )

MY_PN="curator"
ES_VERSION="6.3.2"

inherit distutils-r1

DESCRIPTION="Tending time-series indices in Elasticsearch"
HOMEPAGE="https://github.com/elasticsearch/curator"
SRC_URI="https://github.com/elasticsearch/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
test? ( https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-${ES_VERSION}.tar.gz )"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# tests fail in chroot
# https://github.com/elastic/elasticsearch/issues/12018
RESTRICT="test"
IUSE="doc test"

# require >=elasticsearch-py-6.1.0 because starting with version 5.5.2, the package
# was renamed to elasticsearch5 so elasticsearch-curator cannot find it #667526
RDEPEND="
>=dev-python/elasticsearch-py-6.1.0[${PYTHON_USEDEP}]
<dev-python/elasticsearch-py-7.0.0[${PYTHON_USEDEP}]
>=dev-python/click-6.7[${PYTHON_USEDEP}]
>=dev-python/certifi-2018.04.16[${PYTHON_USEDEP}]
>=dev-python/urllib3-1.20[${PYTHON_USEDEP}]
>=dev-python/voluptuous-0.9.3[${PYTHON_USEDEP}]"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/six-1.11.0[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
test? ( ${RDEPEND}
virtual/jre:1.8
dev-python/mock[${PYTHON_USEDEP}]
dev-python/nose[${PYTHON_USEDEP}]
dev-python/coverage[${PYTHON_USEDEP}]
dev-python/nosexcover[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}] )"

S="${WORKDIR}/${MY_PN}-${PV}"

python_prepare_all() {
# avoid downloading from net
sed -e '/^intersphinx_mapping/,+3d' -i docs/conf.py || die

# requests_aws4auth not in portage
sed -e '/boto3/d' \
-e '/requests_aws4auth/d' \
-i setup.cfg setup.py || die

distutils-r1_python_prepare_all
}

python_compile_all() {
emake -C docs -j1 man $(usex doc html "")
}

# running tests in non-chroot environments:
# FEATURES="test -usersandbox" emerge dev-python/elasticsearch-curator
python_test() {
ES="${WORKDIR}/elasticsearch-${ES_VERSION}"
ES_PORT="25123"
ES_INSTANCE="gentoo-es-curator-test"
ES_LOG="${ES}/logs/${ES_INSTANCE}.log"
PID="${ES}/elasticsearch.pid"

# run Elasticsearch instance on custom port
sed -i "s/#http.port: 9200/http.port: ${ES_PORT}/g; \
s/#cluster.name: my-application/cluster.name: ${ES_INSTANCE}/g" \
"${ES}/config/elasticsearch.yml" || die

# start local instance of elasticsearch
"${ES}/bin/elasticsearch" -d -p "${PID}" -Epath.repo=/ || die

local i
local es_started=0
for i in {1..20}; do
grep -q "started" "${ES_LOG}" 2> /dev/null
if [[ $? -eq 0 ]]; then
einfo "Elasticsearch started"
es_started=1
eend 0
break
elif grep -q 'BindException\[Address already in use\]' "${ES_LOG}" 2>/dev/null; then
eend 1
eerror "Elasticsearch already running"
die "Cannot start Elasticsearch for tests"
else
einfo "Waiting for Elasticsearch"
eend 1
sleep 2
continue
fi
done

[[ $es_started -eq 0 ]] && die "Elasticsearch failed to start"

export TEST_ES_SERVER="localhost:${ES_PORT}"
esetup.py test || die

pkill -F ${PID}
}

python_install_all() {
use doc && local HTML_DOCS=( docs/_build/html/. )
doman docs/_build/man/*
distutils-r1_python_install_all
}

pkg_postinst() {
ewarn ""
ewarn "For Python 3 support information please read: http://click.pocoo.org/latest/python3/"
ewarn ""
ewarn "Example usage on Python 3:"
ewarn "export LC_ALL=en_US.UTF-8"
ewarn "export LANG=en_US.UTF-8"
ewarn "curator ..."
}

0 comments on commit 3cfdb77

Please sign in to comment.