Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Apr 2019 04:06:27 +0000 (UTC)
From:      Kubilay Kocak <koobs@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r499073 - in head/textproc/py-elasticsearch5: . files
Message-ID:  <201904160406.x3G46RJ6010247@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: koobs
Date: Tue Apr 16 04:06:27 2019
New Revision: 499073
URL: https://svnweb.freebsd.org/changeset/ports/499073

Log:
  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] https://github.com/elastic/elasticsearch-py/commit/4352e56174b77560d2f86801cb1ad32440bb2d32
  [3] https://github.com/elastic/elasticsearch-py/issues/701
  
  PR:		229322 [1]
  Approved by:	portmgr (blanket: framework compliance, runtime bugfix)

Added:
  head/textproc/py-elasticsearch5/files/
  head/textproc/py-elasticsearch5/files/patch-setup.py   (contents, props changed)
Modified:
  head/textproc/py-elasticsearch5/Makefile
  head/textproc/py-elasticsearch5/distinfo

Modified: head/textproc/py-elasticsearch5/Makefile
==============================================================================
--- head/textproc/py-elasticsearch5/Makefile	Tue Apr 16 03:58:59 2019	(r499072)
+++ head/textproc/py-elasticsearch5/Makefile	Tue Apr 16 04:06:27 2019	(r499073)
@@ -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>

Modified: head/textproc/py-elasticsearch5/distinfo
==============================================================================
--- head/textproc/py-elasticsearch5/distinfo	Tue Apr 16 03:58:59 2019	(r499072)
+++ head/textproc/py-elasticsearch5/distinfo	Tue Apr 16 04:06:27 2019	(r499073)
@@ -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

Added: head/textproc/py-elasticsearch5/files/patch-setup.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/textproc/py-elasticsearch5/files/patch-setup.py	Tue Apr 16 04:06:27 2019	(r499073)
@@ -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',



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201904160406.x3G46RJ6010247>