Hi Guido and Jeremy, As a reference, here's a debdiff for supporting Python3 in paramiko, and using the new upstream release.
Note that the debdiff changes a bit things in debian/rules, which might not be to your tastes. Feel free to cherry-pick what you like and discard what you don't, this is only suggestions in the hope to speed-up the process of having an update of this package. Also, this debdiff doesn't contain the changes in the upstream sources (I manually removed them). I hope this will help, Cheers, Thomas Goirand (zigo)
diff -Nru paramiko-1.10.1/debian/changelog paramiko-1.13.0/debian/changelog --- paramiko-1.10.1/debian/changelog 2013-06-28 10:59:08.000000000 +0800 +++ paramiko-1.13.0/debian/changelog 2014-03-18 16:10:20.000000000 +0800 @@ -1,3 +1,16 @@ +paramiko (1.13.0-0.1) unstable; urgency=low + + * Non-maintainer upload. + * New upstream release. + * Added Python 3 support. + * Removed Makefile removal patch: upstream doesn't include a Makefile in the + original tarball anymore. + * Added extend-diff-ignore = "^[^/]*[.]egg-info/" in d/source/options, and + cleans the build and docs folders to be able to build the package twice. + * Build-depends on python-ecdsa, python3-ecdsa. + + -- Thomas Goirand <z...@debian.org> Wed, 11 Sep 2013 13:01:07 +0800 + paramiko (1.10.1-1) unstable; urgency=low * Imported Upstream version 1.10.1 diff -Nru paramiko-1.10.1/debian/control paramiko-1.13.0/debian/control --- paramiko-1.10.1/debian/control 2013-05-27 13:07:38.000000000 +0800 +++ paramiko-1.13.0/debian/control 2014-03-18 16:00:07.000000000 +0800 @@ -4,10 +4,14 @@ Maintainer: Jeremy T. Bouse <jbo...@debian.org> Uploaders: Guido Guenther <a...@debian.org> Build-Depends: debhelper (>> 8), - python-all (>= 2.6.6-3~), - python-crypto (>= 2.1.0-2), - python-setuptools, - python-epydoc + python-all (>= 2.6.6-3~), + python-crypto (>= 2.1.0-2), + python-ecdsa, + python-epydoc, + python-setuptools, + python3-crypto, + python3-ecdsa, + python3-setuptools Standards-Version: 3.9.4 Homepage: https://github.com/paramiko/paramiko/ Vcs-Git: git://git.debian.org/collab-maint/paramiko.git @@ -27,9 +31,7 @@ Package: python-paramiko Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - python-crypto (>= 2.1.0-2) +Depends: python-crypto (>= 2.1.0-2), ${misc:Depends}, ${python:Depends} Provides: ${python:Provides} Description: Make ssh v2 connections with Python (Python 2) This is a library for making SSH2 connections (client or server). @@ -38,3 +40,15 @@ are supported. SFTP client and server mode are both supported too. . This is the Python 2 version of the package. + +Package: python3-paramiko +Architecture: all +Depends: python3-crypto (>= 2.1.0-2), ${misc:Depends}, ${python3:Depends} +Provides: ${python3:Provides} +Description: Make ssh v2 connections with Python (Python 3) + 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. + . + This is the Python 3 version of the package. diff -Nru paramiko-1.10.1/debian/patches/0001-Remove-upstream-Makefile.patch paramiko-1.13.0/debian/patches/0001-Remove-upstream-Makefile.patch --- paramiko-1.10.1/debian/patches/0001-Remove-upstream-Makefile.patch 2013-05-27 13:07:38.000000000 +0800 +++ paramiko-1.13.0/debian/patches/0001-Remove-upstream-Makefile.patch 1970-01-01 08:00:00.000000000 +0800 @@ -1,35 +0,0 @@ -From: Jeremy T. Bouse <jbo...@debian.org> -Date: Sat, 25 May 2013 01:05:44 -0400 -Subject: [PATCH] Remove upstream Makefile - -The upstream Makefile is non-functional for package building. It is -meant for upstream release management rather than package management. -Removing it to get it out of the way and allow debhelper to build using -python setuptools. ---- - Makefile | 15 --------------- - 1 files changed, 0 insertions(+), 15 deletions(-) - delete mode 100644 Makefile - -diff --git a/Makefile b/Makefile -deleted file mode 100644 -index 572f867..0000000 ---- a/Makefile -+++ /dev/null -@@ -1,15 +0,0 @@ --release: docs -- python setup.py sdist register upload -- --docs: paramiko/* -- epydoc --no-private -o docs/ paramiko -- --clean: -- rm -rf build dist docs -- rm -f MANIFEST *.log demos/*.log -- rm -f paramiko/*.pyc -- rm -f test.log -- rm -rf paramiko.egg-info -- --test: -- python ./test.py --- diff -Nru paramiko-1.10.1/debian/patches/series paramiko-1.13.0/debian/patches/series --- paramiko-1.10.1/debian/patches/series 2013-05-27 13:07:38.000000000 +0800 +++ paramiko-1.13.0/debian/patches/series 1970-01-01 08:00:00.000000000 +0800 @@ -1 +0,0 @@ -0001-Remove-upstream-Makefile.patch diff -Nru paramiko-1.10.1/debian/python-paramiko.install paramiko-1.13.0/debian/python-paramiko.install --- paramiko-1.10.1/debian/python-paramiko.install 2013-05-27 13:07:38.000000000 +0800 +++ paramiko-1.13.0/debian/python-paramiko.install 1970-01-01 08:00:00.000000000 +0800 @@ -1 +0,0 @@ -usr/lib/python2* diff -Nru paramiko-1.10.1/debian/rules paramiko-1.13.0/debian/rules --- paramiko-1.10.1/debian/rules 2013-05-27 13:07:38.000000000 +0800 +++ paramiko-1.13.0/debian/rules 2014-03-18 16:10:03.000000000 +0800 @@ -1,32 +1,36 @@ #!/usr/bin/make -f PYTHON2=$(shell pyversions -vr) +PYTHON3=$(shell py3versions -vr) %: - dh $@ --with python2 + dh $@ --with python2,python3 +override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) -test-python%: - python$* setup.py test -vv - -override_dh_auto_test: $(PYTHON2:%=test-python%) + set -e ; for pyvers in $(PYTHON2) $(PYTHON3) ; do \ + python$* setup.py test -vv ; \ + done endif -build-python%: - python$* setup.py build - -override_dh_auto_build: $(PYTHON2:%=build-python%) - dh_auto_build - -install-python%: - python$* setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb - -override_dh_auto_install: $(PYTHON2:%=install-python%) - dh_auto_install +override_dh_auto_install: + set -e ; for pyvers in $(PYTHON2) ; do \ + python$$pyvers setup.py install --root=$(CURDIR)/debian/python-paramiko --install-layout=deb ; \ + done + set -e ; for pyvers in $(PYTHON3) ; do \ + python$$pyvers setup.py install --root=$(CURDIR)/debian/python3-paramiko --install-layout=deb ; \ + done override_dh_installdocs: +ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS))) epydoc --no-private -o docs/ paramiko dh_installdocs +endif + +override_dh_clean: + dh_clean + rm -rf build + rm -rf docs/a*.* docs/b* docs/c* docs/e* docs/f* docs/h* docs/id* docs/l* docs/m* docs/pa* docs/r* docs/st* docs/t* docs/u* # Commands not to run override_dh_installcatalogs override_dh_installcron: diff -Nru paramiko-1.10.1/debian/source/options paramiko-1.13.0/debian/source/options --- paramiko-1.10.1/debian/source/options 1970-01-01 08:00:00.000000000 +0800 +++ paramiko-1.13.0/debian/source/options 2014-03-18 16:10:59.000000000 +0800 @@ -0,0 +1,2 @@ +extend-diff-ignore = "^[^/]*[.]egg-info/" +extend-diff-ignore = "^docs/index.html"