mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
textproc/py-elasticsearch5: Remove pinned urllib3 version
elasticsearch5 (this port) unnecessarily pins its urllib dependency to
< 1.23, which blocks updating urllib3 to 1.24 [1]:
./textproc/py-elasticsearch5: setup.py: 'urllib3<1.23,>=1.21.1',
The package had a history of issues/conflicts/bugs with the urllib3
dependency, ultimately resulting in the maximum version pin being
removed [2]:
https://github.com/elastic/elasticsearch-py/issues/807
https://github.com/elastic/elasticsearch-py/issues/667
https://github.com/elastic/elasticsearch-py/issues/634
This commit backports that change, a functional noop and sweeping change
in advance required for a urllib3 update, and adds TEST_DEPENDS and
a test target to support rigorous and confident QA. Switching to GitHub
sources was required as the PyPI sdist does not package tests.
The packages tests all pass with/against urllib3 1.24 installed, with an
intermittent and non-deterministic off-by-one failure in one test:
FAIL: test_all_chunks_sent (test_elasticsearch.test_helpers.TestParallelBulk)
The issue exists independent of urllib3 version. The flaky test issue was
reported upstream [3], but was not resolved.
[2] 4352e56174
[3] https://github.com/elastic/elasticsearch-py/issues/701
PR: 229322 [1]
Approved by: portmgr (blanket: framework compliance, runtime bugfix)
This commit is contained in:
parent
f76b56c6e2
commit
1bd7ef4f32
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=499073
3 changed files with 57 additions and 6 deletions
|
@ -3,8 +3,8 @@
|
|||
|
||||
PORTNAME= elasticsearch
|
||||
PORTVERSION= 5.5.2
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= textproc python
|
||||
MASTER_SITES= CHEESESHOP
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
PKGNAMESUFFIX= 5
|
||||
|
||||
|
@ -12,13 +12,50 @@ MAINTAINER= elastic@FreeBSD.org
|
|||
COMMENT= Official Python low-level client for Elasticsearch
|
||||
|
||||
LICENSE= APACHE20
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}urllib3>=1.8.2:net/py-urllib3@${PY_FLAVOR}
|
||||
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>=2.0.0:www/py-requests@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pyaml>0:textproc/py-pyaml@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}coverage>0:devel/py-coverage@${PY_FLAVOR}
|
||||
|
||||
USES= python
|
||||
|
||||
USE_GITHUB= yes # tests not packaged with sdist
|
||||
USE_PYTHON= distutils autoplist
|
||||
|
||||
GH_ACCOUNT= elastic
|
||||
GH_PROJECT= elasticsearch-py
|
||||
GH_TAGNAME= 719a94ab4
|
||||
|
||||
# Using (5.5.2) commit hash in 5.5.x branch not the 5.2.2 tag
|
||||
# because that branch has the module and package name set as
|
||||
# 'elastisearch' not 'elasticsearch5'. The reason this is
|
||||
# needed (for now) is because:
|
||||
#
|
||||
# 1) Upstream doesn't package tests with the sdist, so
|
||||
# we need USE_GITHUB until they do.
|
||||
# 2) This port fetches distfile from the *elastisearch*
|
||||
# PyPI package *NOT* the 'elasticsearch5' PyPI package,
|
||||
# which has the different internal package name.
|
||||
#
|
||||
# Upstream made separate (versioned) packages on PyPI
|
||||
# available so that they didnt conflict on install.
|
||||
# The elasticsearchX python ports should be changed to
|
||||
# user these version-specific package names/sources, at
|
||||
# which point CONFLICTS can be removed.
|
||||
|
||||
CONFLICTS= ${PYTHON_PKGNAMEPREFIX}elasticsearch-[0-9]*
|
||||
|
||||
NO_ARCH= yes
|
||||
USES= python
|
||||
USE_PYTHON= distutils autoplist
|
||||
|
||||
# All tests pass with or without elasticsearch server running, but without
|
||||
# it running, connection errors are displayed. upstream test runs display these
|
||||
# errors too. More tests run when elasticsearch server is running.
|
||||
|
||||
do-test:
|
||||
@cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1523284727
|
||||
SHA256 (elasticsearch-5.5.2.tar.gz) = 8539e30c33fa0ad09617893a458056a35a654c92226390c30a07a3776bb8a94f
|
||||
SIZE (elasticsearch-5.5.2.tar.gz) = 70018
|
||||
TIMESTAMP = 1548558890
|
||||
SHA256 (elastic-elasticsearch-py-5.5.2-719a94ab4_GH0.tar.gz) = 08c4385b8007cdbdae1abfd8130c5d61f875f4667f431d9c72ace04e6db5bbb1
|
||||
SIZE (elastic-elasticsearch-py-5.5.2-719a94ab4_GH0.tar.gz) = 83609
|
||||
|
|
14
textproc/py-elasticsearch5/files/patch-setup.py
Normal file
14
textproc/py-elasticsearch5/files/patch-setup.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
# fixing max urllib3, updating authors
|
||||
# https://github.com/elastic/elasticsearch-py/commit/4352e56174b77560d2f86801cb1ad32440bb2d32
|
||||
|
||||
--- setup.py.orig 2019-01-21 08:52:05 UTC
|
||||
+++ setup.py
|
||||
@@ -12,7 +12,7 @@ long_description = f.read().strip()
|
||||
f.close()
|
||||
|
||||
install_requires = [
|
||||
- 'urllib3<1.23,>=1.21.1',
|
||||
+ 'urllib3>=1.21.1',
|
||||
]
|
||||
tests_require = [
|
||||
'requests>=2.0.0, <3.0.0',
|
Loading…
Add table
Reference in a new issue