Bug 797370

Summary: Review Request: python-ssh - A Python SSH2 library
Product: [Fedora] Fedora Reporter: Silas Sewell <silas>
Component: Package ReviewAssignee: Thomas Spura <tomspur>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bobbypowers, notting, package-review, tomspur
Target Milestone: ---Flags: tomspur: fedora-review+
petersen: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-ssh-1.7.13-2.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-17 23:35:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Silas Sewell 2012-02-25 08:41:14 UTC
Note:
This is a new requirement for a package I already maintain (fabric).

Spec Url:
https://raw.github.com/silas/rpms/master/python-ssh/python-ssh.spec

SRPM Url:
https://github.com/downloads/silas/rpms/python-ssh-1.7.13-1.fc16.src.rpm

Description:

This is a library for making SSH2 connections (client or server). Emphasis is
on using SSH2 as an alternative to SSL for making secure connections between
python scripts. All major ciphers and hash methods are supported. SFTP client
and server mode are both supported too.

$ rpmlint

python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/agent.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/channel.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/config.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/sftp.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/sftp_file.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/win_pageant.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/ssh_exception.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/client.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/buffered_pipe.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/compress.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/common.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/ber.py
python-ssh.noarch: E: incorrect-fsf-address /usr/share/doc/python-ssh-1.7.13/LICENSE
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/sftp_client.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/hostkeys.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/dsskey.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/pipe.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/file.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/transport.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/kex_group1.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/primes.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/util.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/message.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/sftp_server.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/sftp_handle.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/kex_gex.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/rsakey.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/logging22.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/__init__.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/auth_handler.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/sftp_si.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/server.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/sftp_attr.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/resource.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/packet.py
python-ssh.noarch: E: incorrect-fsf-address /usr/lib/python2.7/site-packages/ssh/pkey.py
2 packages and 0 specfiles checked; 36 errors, 0 warnings.

Reported upstream: https://github.com/bitprophet/ssh/pull/8

Comment 1 Thomas Spura 2012-03-02 21:28:36 UTC
Review:
- name ok
- license ok
- URL ok
- source ok
  26800ef2c1ee3f185f48fd05258302f4  ssh-1.7.13.tar.gz
- noarch ok
- files ok
- rpmlint contains the incorrect-fsf-addresses from above nothing else, ok


NEEDSWORK:
- please add a %check section:
%check
./test.py --verbose

- There is a python3-crypto package in fc17 onwards. Could you please add a python3 subpackage here too?
  Might be that ipython could use this too, and I'm trying to get all the python3 dependencies fulfilled... (When you need a co-maintainer, let me know.)
  It seems to work after 2to3 and replacing tabs with 8 spaces.

- Please delete rm -rf ssh.egg-info/ in %prep just to be sure, that it's not used laterly.

Comment 2 Silas Sewell 2012-03-03 17:42:07 UTC
SRPM Url:
https://github.com/downloads/silas/rpms/python-ssh-1.7.13-2.fc18.src.rpm

Spec Diff:
https://github.com/silas/rpms/commit/d29e69fb785237642105df8af3a9d7cceb575ee2

Notes:
- Added check section
- Attempted to add python3, but tests failed because UserDict.DictMixin isn't in python3 (imported and used in ssh/hostkeys.py) -- I might try to come up with a patch to convert this to collections.MutableMapping
- Added rm -fr to prep section

Comment 3 Thomas Spura 2012-03-04 18:11:46 UTC
(In reply to comment #2)
> - Added check section
> - Added rm -fr to prep section

Thanks.

> - Attempted to add python3, but tests failed because UserDict.DictMixin isn't
> in python3 (imported and used in ssh/hostkeys.py) -- I might try to come up
> with a patch to convert this to collections.MutableMapping

I just tried it quick and dirty and it turns out that internal python-ssh doesn't care much bytes vs strings so this will involve some deeper patches/rewrite.

Python3 support is talked about here:
https://github.com/bitprophet/ssh/issues/7

#########################################################################


APPROVED

Comment 4 Silas Sewell 2012-03-05 03:08:41 UTC
New Package SCM Request
=======================
Package Name: python-ssh
Short Description: Python SSH2 library
Owners: silas
Branches: f16 f17 el6
InitialCC:

Comment 5 Jens Petersen 2012-03-06 07:20:50 UTC
Git done (by process-git-requests).

Comment 6 Fedora Update System 2012-03-08 01:55:55 UTC
python-ssh-1.7.13-2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/python-ssh-1.7.13-2.fc16

Comment 7 Silas Sewell 2012-03-08 01:59:35 UTC
Thanks for the review Thomas.

Comment 8 Fedora Update System 2012-03-08 21:24:37 UTC
python-ssh-1.7.13-2.fc16 has been pushed to the Fedora 16 testing repository.

Comment 9 Bobby Powers 2012-03-09 04:38:08 UTC
this is great!  I'm using this with a fabric-1.4 rpm with great success.  Let me know if you want the git diff, although its fairly trivial with python-ssh being packaged.

Comment 10 Bobby Powers 2012-03-09 04:38:23 UTC
testing on f17, I should add

Comment 11 Fedora Update System 2012-03-17 23:35:48 UTC
python-ssh-1.7.13-2.fc16 has been pushed to the Fedora 16 stable repository.