Date: Tue, 28 May 2019 08:55:50 +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: r502867 - in head/databases/py-pgcli: . files Message-ID: <201905280855.x4S8toJ6094983@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: koobs Date: Tue May 28 08:55:49 2019 New Revision: 502867 URL: https://svnweb.freebsd.org/changeset/ports/502867 Log: databases/py-pgcli: Fix runtime dependency failures pgcli depends on sqlparse<0.3.0,>=0.2.2, and sqlparse was updated to 0.3.0 in ports r495481. pgcli depends on psycopg2>=2.7.4,<2.8, and psycopg2 was updated to 2.8.2 in ports r502646. These broke run time, with the following error(s) raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'sqlparse<0.3.0,>=0.2.2' distribution was not found and is required by pgcli raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'psycopg2>=2.7.4,<2.8' distribution was not found and is required by pgcli Upstream upgraded sqlparse support to include 0.3.0 in PR #1052 [1], this change backports that PR accordingly. Upstream has an open PR to unpin psycopg2 [2][3] but it needs to be updated to use psycopg2 (not psycopg2-binary) in install_requires. This change patches out the psycopg2 max version. The test results shows no test failure delta with 2.8.2 over 2.7.7 (the version before ports r502646). While I'm here: - Declare pinned (maximum) RUN_DEPENDS versions according to setup.py to pick these issues up earlier during QA (max versions not being satisfied will error out during dependency builds/verification pre-commit [1] https://github.com/dbcli/pgcli/pull/1052 [2] https://github.com/dbcli/pgcli/pull/1059 [3] https://github.com/dbcli/pgcli/issues/1036 PR: 238182 Reported by: Marcin Cieślak <saper saper info> Approved by: portmgr (blanket: run time fix, just fix it) Added: head/databases/py-pgcli/files/ head/databases/py-pgcli/files/patch-PR1052 (contents, props changed) Modified: head/databases/py-pgcli/Makefile Modified: head/databases/py-pgcli/Makefile ============================================================================== --- head/databases/py-pgcli/Makefile Tue May 28 08:41:26 2019 (r502866) +++ head/databases/py-pgcli/Makefile Tue May 28 08:55:49 2019 (r502867) @@ -3,6 +3,7 @@ PORTNAME= pgcli PORTVERSION= 2.1.0 +PORTREVISION= 1 CATEGORIES= databases python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -18,15 +19,21 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cli-helpers>=1.2.0 ${PYTHON_PKGNAMEPREFIX}configobj>=5.0.6:devel/py-configobj@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}humanize>=0.5.1:devel/py-humanize@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pgspecial>=1.11.5:databases/py-pgspecial@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}prompt_toolkit>=2.0.6:devel/py-prompt_toolkit@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}prompt_toolkit>=2.0.6<2.1.0:devel/py-prompt_toolkit@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.7.4:databases/py-psycopg2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pygments>=2.0:textproc/py-pygments@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setproctitle>=1.1.9:devel/py-setproctitle@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.2:databases/py-sqlparse@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.2.2<0.4:databases/py-sqlparse@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=2.7.0:devel/py-pytest@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mock>=1.0.1:devel/py-mock@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pexpect>=0:misc/py-pexpect@${PY_FLAVOR} USES= pgsql python USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes + +do-test: + @cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs .include <bsd.port.mk> Added: head/databases/py-pgcli/files/patch-PR1052 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/databases/py-pgcli/files/patch-PR1052 Tue May 28 08:55:49 2019 (r502867) @@ -0,0 +1,56 @@ +# Upgrade to sqlparse 0.3.0 #1052 +# https://github.com/dbcli/pgcli/pull/1052 + +# Unpin psycopg2 +# https://github.com/dbcli/pgcli/issues/1036 +# https://github.com/dbcli/pgcli/pull/1059 + +From 1908142adb80f324d6c795e76e38f7939948d7f1 Mon Sep 17 00:00:00 2001 +From: Amjith Ramanujam <amjith.r@gmail.com> +Date: Mon, 6 May 2019 09:05:56 -0700 +Subject: [PATCH 4/5] Upgrade to sqlparse 0.3.0. + +--- pgcli/packages/sqlcompletion.py.orig 2018-09-28 21:20:16 UTC ++++ pgcli/packages/sqlcompletion.py +@@ -154,7 +154,7 @@ def suggest_type(full_text, text_before_cursor): + # Be careful here because trivial whitespace is parsed as a + # statement, but the statement won't have a first token + tok1 = stmt.parsed.token_first() +- if tok1 and tok1.value == '\\': ++ if tok1 and tok1.value.startswith('\\'): + text = stmt.text_before_cursor + stmt.word_before_cursor + return suggest_special(text) + +@@ -398,7 +398,7 @@ def suggest_based_on_last_token(token, stmt): + elif token_v == 'set': + return (Column(table_refs=stmt.get_tables(), + local_tables=stmt.local_tables),) +- elif token_v in ('select', 'where', 'having', 'by', 'distinct'): ++ elif token_v in ('select', 'where', 'having', 'order by', 'distinct'): + # Check for a table alias or schema qualification + parent = (stmt.identifier and stmt.identifier.get_parent_name()) or [] + tables = stmt.get_tables() +--- setup.py.orig 2019-04-06 00:24:36 UTC ++++ setup.py +@@ -16,8 +16,8 @@ install_requirements = [ + 'click >= 4.1', + 'Pygments >= 2.0', # Pygments has to be Capitalcased. WTF? + 'prompt_toolkit>=2.0.6,<2.1.0', +- 'psycopg2 >= 2.7.4,<2.8', +- 'sqlparse >=0.2.2,<0.3.0', ++ 'psycopg2 >= 2.7.4', ++ 'sqlparse >=0.2.2,<0.4', + 'configobj >= 5.0.6', + 'humanize >= 0.5.1', + 'cli_helpers[styles] >= 1.2.0', +--- tests/test_sqlcompletion.py.orig 2018-01-11 20:31:20 UTC ++++ tests/test_sqlcompletion.py +@@ -236,7 +236,7 @@ def test_distinct_suggests_cols(text): + ( + 'SELECT * FROM tbl x JOIN tbl1 y ORDER BY ', + 'SELECT * FROM tbl x JOIN tbl1 y ORDER BY ', +- 'BY', ++ 'ORDER BY', + ) + ]) + def test_distinct_and_order_by_suggestions_with_aliases(text, text_before,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905280855.x4S8toJ6094983>