| Summary: | dev-python/fabric-1.12: should depend on <dev-python/paramiko-2.0 | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Thomas Capricelli <orzel> |
| Component: | Current packages | Assignee: | Python Gentoo Team <python> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | adam.grigolato, alicef, gentoo-bugs, rjozwik |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
This is quite an obvious change to the ebuild, isn't it ?
meanwhile, a workaround is to add this to /etc/package.mask/*
# fix bad dep in fabric ebuild
>=dev-python/paramiko-2.0.0
https://github.com/fabric/fabric/issues/1461 kinda indicates the paramiko<2.0 restriction is pointless and the result of confusion about how pip works. Perhaps just sed-ing it out would be better. (In reply to eroen from comment #2) > https://github.com/fabric/fabric/issues/1461 kinda indicates the > paramiko<2.0 restriction is pointless and the result of confusion about how > pip works. Perhaps just sed-ing it out would be better. I think that this seems the way to go: As of today's update to =dev-python/pycrypto-2.6.1-r2 all paramiko-based packages such as fabric or duplicity failed with errors like this on my systems: ValueError: CTR mode needs counter parameter, not IV This seems to be known and deliberately, see e. g. here: https://github.com/dlitz/pycrypto/issues/149 So forcing a mask like >=dev-python/paramiko-2.0.0 no longer works for me, but letting paramiko be updated to version >2.0.0 and just dropping "<2.0" from /usr/lib64/python2.7/site-packages/Fabric-1.12.0-py2.7.egg-info/requires.txt restores working fabric (and duplicity, etc.) for me. OTOH, maybe <paramiko-2.0.0 would need a fix for the aforementioned pycrypto issue anyways. (In reply to eroen from comment #2) > https://github.com/fabric/fabric/issues/1461 kinda indicates the > paramiko<2.0 restriction is pointless and the result of confusion about how > pip works. Perhaps just sed-ing it out would be better. I agree with all of that ! (In reply to Martin Wegner from comment #3) > I think that this seems the way to go: As of today's update to > =dev-python/pycrypto-2.6.1-r2 all paramiko-based packages such as fabric or > duplicity failed with errors like this on my systems: Yeps, everything is broken again now, and even masking paramiko >=2.0 doesn't help, you need to mask pycrypto as well.. Please do something, it's getting out of control The diff between r1 and r2 for pycrypto-2.6.1 is really big. Not what i would expect for r1->r2... And it breaks a lot. Fabric issue #1461 from Github is now closed and bumping Fabric ebuild to 1.13.1 resolved problem with Paramiko 2 for me. (In reply to Radoslaw Jozwik from comment #6) > Fabric issue #1461 from Github is now closed and bumping Fabric ebuild to > 1.13.1 resolved problem with Paramiko 2 for me. Great, can someone bumps fabric then ????? Fabric 1.13 is still not in tree... is there any chance we got a fix for this bug meanwhile ? 1.14.0 is in tree now |
the ebuild contains >=dev-python/paramiko-1.10[${PYTHON_USEDEP}]" but installs a file: cat /usr/lib64/python2.7/site-packages/Fabric-1.12.0-py2.7.egg-info/requires.txt paramiko>=1.10,<2.0 With current portage (~amd64), paramiko 2.0.2 is installed. As a result: % fab Traceback (most recent call last): File "/usr/lib/python-exec/python2.7/fab", line 6, in <module> from pkg_resources import load_entry_point File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2985, in <module> @_call_aside File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2971, in _call_aside f(*args, **kwargs) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2998, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 662, in _build_master return cls._build_from_requirements(__requires__) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 675, in _build_from_requirements dists = ws.resolve(reqs, Environment()) File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 854, in resolve raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'paramiko<2.0,>=1.10' distribution was not found and is required by Fabric