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"

Reply via email to