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
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