The latest bump of devel/py-botocore to 1.15.9 broke the Makefile dependency check for py37-botocore>=1.13.6,<1.14.0 Removing the '<1.14.0' lets it build. Also had to remove the 'net/py-s3transfer' version less than check. Any particular reason to have the '<' to begin with?
Thanks for the report Hendrik. ben and I were aware of the issue, and its great to have it tracked here now. Python ports dependencies must match upstream (setup.py, et al) declared dependency version-spec's exactly [1], otherwise, the dependency versions are not satisfied at runtime, and produce errors. The < in this and other similar ports cases is there, beyond the above, to ensure that anyone modifying related ports can easily grep the tree (or automatically build dependents) and find ports that will break accordingly. I'll update py-boto3 to match the botocore port version shortly, and should also note that Ben had emailed me after the regression was reported by pkg-fallout, at which pint approval was provided to update boto3 to match, both in this case, and in the future. [1] https://wiki.freebsd.org/Python/PortsPolicy#Dependencies
Note: latest boto3 is 1.12.41 which required equivalent botocore .41, but the port is only .39. Will only be able to update boto3 to .39 for now. Ben and I will have to sort out the best way forward for these two ports to remain in sync in the future, as this is not the first time we've had the same regression
QA: portlint: OK (looks fine.) testport: OK (poudriere: 12amd64, Python 3.7 maketest: OK (Ran 1499 tests in 1692.294s OK)
A commit references this bug: Author: koobs Date: Sat Apr 18 04:19:11 UTC 2020 New revision: 531997 URL: https://svnweb.freebsd.org/changeset/ports/531997 Log: www/py-boto3: Update to 1.12.39 Update to 1.12.39 (not the latest versions 1.12.41) to match devel/py-botocore, updated in ports r531560 which caused a regression due to mismatched version-spec (>=1.13.6,<1.14.0). PR: 245709 Reported by: Henrik Hudson <ports thelanman net>, pkg-fallout Changes: head/www/py-boto3/Makefile head/www/py-boto3/distinfo
Committed, thank you Hendrik
And again: ===> Cleaning for py37-boto3-1.12.39 build of www/py-boto3 | py37-boto3-1.12.39 ended at Thu Jun 11 21:11:05 CEST 2020 This will need updating, too, although the changes are more complex (changes in build system).
(In reply to Juraj Lutter from comment #6) The actual error is: ===> py37-boto3-1.12.39 depends on package: py37-botocore>=1.15.39,<1.16.0 - not found *** Error code 1
Have already reported the issue on the mailing lists in reply to the botocore commit update. I'll sort this out if Ben can't in short order.
Resolved in ports r538543 Author: bhughes Date: Thu Jun 11 21:05:07 2020 New Revision: 538543 URL: https://svnweb.freebsd.org/changeset/ports/538543 Log: www/py-boto3: Update 1.12.39 -> 1.14.1 Reported by: koobs Approved by: koobs (implicit) Sponsored by: Miles AS Modified: head/www/py-boto3/Makefile head/www/py-boto3/distinfo Modified: head/www/py-boto3/Makefile ============================================================================== --- head/www/py-boto3/Makefile Thu Jun 11 21:03:13 2020 (r538542) +++ head/www/py-boto3/Makefile Thu Jun 11 21:05:07 2020 (r538543) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= boto3 -PORTVERSION= 1.12.39 +PORTVERSION= 1.14.1 CATEGORIES= www python devel PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -12,7 +12,7 @@ COMMENT= AWS SDK for Python LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}botocore>=1.15.39,<1.16.0:devel/py-botocore@${PY_FLAVOR} \ +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}botocore>=1.17.1,<1.18.0:devel/py-botocore@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jmespath>=0.7.1,<1.0.0:devel/py-jmespath@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}s3transfer>=0.3.0,<0.4.0:net/py-s3transfer@${PY_FLAVOR}