Package: unittest2
Version: 0.8.0-1
Followup-For: Bug #777645
User: [email protected]
Usertags: origin-ubuntu wily ubuntu-patch
Dear Maintainer,
In Ubuntu, the attached patch was applied to achieve the following:
* Add Python 3 support:
- d/control: Add python3-unittest2 binary package, update BD's.
- d/rules: Ensure unit2 binaries are prefixed with python version.
- d/*.postinst,prerm: Use alternatives for /usr/bin/unit2.
- d/p/drop-argparse.patch: Drop argparse from list of dependencies,
its not required and confuses the Python 3 tests.
* d/source/options: Ignore any egg related changes, making package
build more reproducable.
* Wrap and sort.
This includes the Python 3 support requested in this bug.
Thanks for considering the patch.
-- System Information:
Debian Release: jessie/sid
APT prefers wily-updates
APT policy: (500, 'wily-updates'), (500, 'wily-security'), (500, 'wily'),
(100, 'wily-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.19.0-20-generic (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru unittest2-0.8.0/debian/control unittest2-0.8.0/debian/control
--- unittest2-0.8.0/debian/control 2015-03-19 21:33:21.000000000 +0000
+++ unittest2-0.8.0/debian/control 2015-06-19 11:04:15.000000000 +0100
@@ -4,7 +4,14 @@
Maintainer: Debian Python Modules Team <[email protected]>
Uploaders: Zygmunt Krynicki <[email protected]>
Build-Depends: debhelper (>= 7.4.2), dh-python
-Build-Depends-Indep: python-all, python-setuptools, python-pkg-resources, python-six
+Build-Depends-Indep: python-all,
+ python-pkg-resources,
+ python-setuptools,
+ python-six,
+ python3-all,
+ python3-pkg-resources,
+ python3-setuptools,
+ python3-six
Standards-Version: 3.9.6
XS-Python-Version: all
Homepage: http://pypi.python.org/pypi/unittest2
@@ -14,7 +21,7 @@
Package: python-unittest2
Architecture: all
-Depends: ${misc:Depends}, ${python:Depends}, python-pkg-resources
+Depends: python-pkg-resources, ${misc:Depends}, ${python:Depends}
Description: backport of the enhanced unittest testing framework in Python 2.7
unittest2 is an enhanced version of unittest including a
standard test runner (automatic test discovery), class and
@@ -24,3 +31,20 @@
features are *all* going into the Python version of unittest in
Python 2.7 and Python 3.2. The point of unittest2 is that it
works with Python 2.4 - 2.6; you can use it now.
+ .
+ This package contains the Python 2.x module.
+
+Package: python3-unittest2
+Architecture: all
+Depends: python3-pkg-resources, ${misc:Depends}, ${python3:Depends}
+Description: backport of the enhanced unittest testing framework in Python 2.7
+ unittest2 is an enhanced version of unittest including a
+ standard test runner (automatic test discovery), class and
+ module level fixtures (``setUpClass`` / ``setUpModule`` etc),
+ many powerful new assert methods, better resource management
+ with ``addCleanups`` and a host of other new features. These new
+ features are *all* going into the Python version of unittest in
+ Python 2.7 and Python 3.2. The point of unittest2 is that it
+ works with Python 2.4 - 2.6; you can use it now.
+ .
+ This package contains the Python 3.x module.
diff -Nru unittest2-0.8.0/debian/patches/drop-argparse.patch unittest2-0.8.0/debian/patches/drop-argparse.patch
--- unittest2-0.8.0/debian/patches/drop-argparse.patch 1970-01-01 01:00:00.000000000 +0100
+++ unittest2-0.8.0/debian/patches/drop-argparse.patch 2015-06-19 11:02:36.000000000 +0100
@@ -0,0 +1,17 @@
+Description: Drop requirement for argparse
+ Ubuntu and Debian both ship minimum python versions that include
+ argparse; drop this from REQUIRES as its breaks the py3 unit tests
+Author: James Page <[email protected]>
+Forwarded: not-needed
+
+--- a/setup.py
++++ b/setup.py
+@@ -57,7 +57,7 @@ KEYWORDS = "unittest testing tests".spli
+ # Both install and setup requires - because we read VERSION from within the
+ # package, and the package also exports all the APIs.
+ # six for compat helpers
+-REQUIRES = ['argparse', 'six'],
++REQUIRES = ['six'],
+
+ params = dict(
+ name=NAME,
diff -Nru unittest2-0.8.0/debian/patches/series unittest2-0.8.0/debian/patches/series
--- unittest2-0.8.0/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ unittest2-0.8.0/debian/patches/series 2015-06-19 10:23:28.000000000 +0100
@@ -0,0 +1 @@
+drop-argparse.patch
diff -Nru unittest2-0.8.0/debian/python3-unittest2.postinst unittest2-0.8.0/debian/python3-unittest2.postinst
--- unittest2-0.8.0/debian/python3-unittest2.postinst 1970-01-01 01:00:00.000000000 +0100
+++ unittest2-0.8.0/debian/python3-unittest2.postinst 2015-06-19 10:29:00.000000000 +0100
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ] ; then
+ update-alternatives --install /usr/bin/unit2 unit2 /usr/bin/python3-unit2 200
+fi
+
+#DEBHELPER#
+
+exit 0
diff -Nru unittest2-0.8.0/debian/python3-unittest2.prerm unittest2-0.8.0/debian/python3-unittest2.prerm
--- unittest2-0.8.0/debian/python3-unittest2.prerm 1970-01-01 01:00:00.000000000 +0100
+++ unittest2-0.8.0/debian/python3-unittest2.prerm 2015-06-19 10:29:00.000000000 +0100
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ] ; then
+ update-alternatives --remove unit2 /usr/bin/python3-unit2
+fi
+
+#DEBHELPER#
+
+exit 0
diff -Nru unittest2-0.8.0/debian/python-unittest2.postinst unittest2-0.8.0/debian/python-unittest2.postinst
--- unittest2-0.8.0/debian/python-unittest2.postinst 1970-01-01 01:00:00.000000000 +0100
+++ unittest2-0.8.0/debian/python-unittest2.postinst 2015-06-19 10:29:00.000000000 +0100
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ] ; then
+ update-alternatives --install /usr/bin/unit2 unit2 /usr/bin/python2-unit2 300
+fi
+
+#DEBHELPER#
+
+exit 0
diff -Nru unittest2-0.8.0/debian/python-unittest2.prerm unittest2-0.8.0/debian/python-unittest2.prerm
--- unittest2-0.8.0/debian/python-unittest2.prerm 1970-01-01 01:00:00.000000000 +0100
+++ unittest2-0.8.0/debian/python-unittest2.prerm 2015-06-19 10:29:00.000000000 +0100
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ] ; then
+ update-alternatives --remove unit2 /usr/bin/python2-unit2
+fi
+
+#DEBHELPER#
+
+exit 0
diff -Nru unittest2-0.8.0/debian/rules unittest2-0.8.0/debian/rules
--- unittest2-0.8.0/debian/rules 2015-03-06 19:23:46.000000000 +0000
+++ unittest2-0.8.0/debian/rules 2015-06-19 10:29:19.000000000 +0100
@@ -2,7 +2,12 @@
export PYBUILD_NAME=unittest2
%:
- dh $@ --with=python2 --buildsystem=pybuild
+ dh $@ --with=python2,python3 --buildsystem=pybuild
+
+override_dh_install:
+ dh_install
+ mv $(CURDIR)/debian/python-unittest2/usr/bin/unit2 $(CURDIR)/debian/python-unittest2/usr/bin/python2-unit2
+ mv $(CURDIR)/debian/python3-unittest2/usr/bin/unit2 $(CURDIR)/debian/python3-unittest2/usr/bin/python3-unit2
# Tests cannot run without unittest2 running them.
# See: https://code.google.com/p/unittest-ext/issues/detail?id=93 for details
diff -Nru unittest2-0.8.0/debian/source/options unittest2-0.8.0/debian/source/options
--- unittest2-0.8.0/debian/source/options 1970-01-01 01:00:00.000000000 +0100
+++ unittest2-0.8.0/debian/source/options 2015-06-19 10:25:48.000000000 +0100
@@ -0,0 +1 @@
+extend-diff-ignore = "^[^/]*[.]egg.*/"
_______________________________________________
Python-modules-team mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/python-modules-team