Bug 230430 - www/py-requests: Allergic to dns/py-idna>=2.7 (affects all requests dependents, like py-requests-toolbelt)
Summary: www/py-requests: Allergic to dns/py-idna>=2.7 (affects all requests dependent...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Many People
Assignee: Kubilay Kocak
URL: https://github.com/requests/requests/...
Keywords: regression
: 230435 230447 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-08-07 08:28 UTC by Trond Endrestøl
Modified: 2018-08-08 06:33 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Trond Endrestøl 2018-08-07 08:28:47 UTC
It looks like www/py-requests-toolbelt is allergic to dns/py-idna>=2.7. The build is being done by ports-mgmt/synth.

--------------------------------------------------------------------------------
--  Phase: build
--------------------------------------------------------------------------------
===>  Building for py27-requests-toolbelt-0.8.0
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 66, in <module>
    'Programming Language :: Python :: Implementation :: CPython',
  File "/usr/local/lib/python2.7/site-packages/setuptools/__init__.py", line 131, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/lib/python2.7/distutils/core.py", line 137, in setup
    ok = dist.parse_command_line()
  File "/usr/local/lib/python2.7/site-packages/setuptools/dist.py", line 500, in parse_command_line
    result = _Distribution.parse_command_line(self)
  File "/usr/local/lib/python2.7/distutils/dist.py", line 467, in parse_command_line
    args = self._parse_command_opts(parser, args)
  File "/usr/local/lib/python2.7/site-packages/setuptools/dist.py", line 815, in _parse_command_opts
    nargs = _Distribution._parse_command_opts(self, parser, args)
  File "/usr/local/lib/python2.7/distutils/dist.py", line 523, in _parse_command_opts
    cmd_class = self.get_command_class(command)
  File "/usr/local/lib/python2.7/site-packages/setuptools/dist.py", line 634, in get_command_class
    ep.require(installer=self.fetch_build_egg)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2343, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 782, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (idna 2.7 (/usr/local/lib/python2.7/site-packages), Requirement.parse('idna<2.7,>=2.5'), set(['requests']))
*** Error code 1

Stop.
make: stopped in /xports/www/py-requests-toolbelt
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2018-08-07 08:37:07 UTC
I updated idna in ports r476560. I'll take a look
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2018-08-07 08:41:18 UTC
py-requests-toolbet doesn't declare a dependency on idna.

py-requests, however does, which contains the "offending" install_requires: 'idna>=2.5,<2.7',
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2018-08-07 08:47:45 UTC
Upstream updated the idna dependency to < 2.8 in

https://github.com/requests/requests/commit/991e8b76b7a9d21f698b24fa0058d3d5968721bc

Can patch that in until an upcoming requests port version update lands
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2018-08-07 09:10:56 UTC
requests test suite with idna 2.7:

487 passed, 12 skipped, 1 xfailed, 1 xpassed in 71.15 seconds
Comment 5 commit-hook freebsd_committer freebsd_triage 2018-08-07 09:11:37 UTC
A commit references this bug:

Author: koobs
Date: Tue Aug  7 09:11:29 UTC 2018
New revision: 476584
URL: https://svnweb.freebsd.org/changeset/ports/476584

Log:
  devel/py-requests: Bump pinned idna dependency version

  py-idna was updated to 2.7 in ports r476560. py-requests had its idna dependency
  pinned to <2.7.

  That broke all py-requests dependents.

  This change backports part of an upstream commit [1] that bumped the dependency.

  Whisper of a dream: It would be really cool if *_DEPENDS could declare multiple
  versions in its scheme. We'd pick up these issues much earlier, and be able to
  declare dependencies more accurately.</pony>

  [1] https://github.com/requests/requests/commit/991e8b76b7a9d21f698b24fa0058d3d5968721bc

  PR:		230430
  Reported by:	<Trond Endrestol ximalas info>

Changes:
  head/www/py-requests/Makefile
  head/www/py-requests/files/patch-setup.py
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2018-08-07 09:14:05 UTC
@Trond Thank you for the report, apologies for the fallout! After updating your ports tree to at least ports r476584, please re-open if the issue is somehow not resolved.
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2018-08-07 11:44:41 UTC
*** Bug 230435 has been marked as a duplicate of this bug. ***
Comment 8 Kubilay Kocak freebsd_committer freebsd_triage 2018-08-08 06:33:43 UTC
*** Bug 230447 has been marked as a duplicate of this bug. ***