Source: skimage Severity: normal Tags: patch User: debian-pyt...@lists.debian.org Usertags: python3.6
Dear Maintainer, skimage fails tests with Python 3.6 so in Ubuntu I upgraded to 0.13.0. uscan + uupdate + the attached patch to debian/ did the trick for me. Cheers, mwh -- System Information: Debian Release: stretch/sid APT prefers xenial-updates APT policy: (500, 'xenial-updates'), (500, 'xenial-security'), (500, 'xenial'), (400, 'xenial-proposed'), (100, 'xenial-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.4.0-83-generic (SMP w/4 CPU cores) Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff -Nru skimage-0.12.3/debian/changelog skimage-0.13.0/debian/changelog --- skimage-0.12.3/debian/changelog 2017-06-08 11:32:15.000000000 +1200 +++ skimage-0.13.0/debian/changelog 2017-07-17 09:08:23.000000000 +1200 @@ -1,3 +1,18 @@ +skimage (0.13.0-0ubuntu1) artful; urgency=medium + + * New upstream release. + * d/patches/: + - changeset_6807f4ee8f5501703e447f95701190c836deaae1.diff, + dask-optional-dep.patch, fix_shape_type.patch, search-html.patch: dropped, + applied upstream. + - fix-doc-links.patch: updated + - skip_tests_failing_on_some_architectures.patch: split into more targetted + skip-failing-test-on-i386.patch & skip-failing-test-on-big-endian.patch. + * d/rules: CONTRIBUTING.txt has moved. + * d/control: add dependencies on python{3,}-pywt. python{3,}-numpydoc. + + -- Michael Hudson-Doyle <michael.hud...@ubuntu.com> Fri, 14 Jul 2017 12:34:25 +1200 + skimage (0.12.3-9build1) artful; urgency=medium * No change rebuild to add Python 3.6 support. diff -Nru skimage-0.12.3/debian/control skimage-0.13.0/debian/control --- skimage-0.12.3/debian/control 2017-04-28 21:23:39.000000000 +1200 +++ skimage-0.13.0/debian/control 2017-07-14 14:07:54.000000000 +1200 @@ -10,21 +11,25 @@ libjs-twitter-bootstrap, python-all-dev (>= 2.6.6-3~), python-matplotlib (>= 1.3.1), + python-networkx (>= 1.8), python-nose, python-numpy (>= 1.7.2), + python-numpydoc, python-pil (>= 1.7.8) | python-imaging, + python-pywt, python-scipy (>= 0.10), - python-networkx (>= 1.8), python-setuptools, python-six (>= 1.4), python-sphinx (>= 1.3.0), python3-all-dev, python3-matplotlib (>= 1.3.1), + python3-networkx (>= 1.8), python3-nose, python3-numpy (>= 1.7.2), + python3-numpydoc, python3-pil (>= 1.7.8) | python3-imaging, + python3-pywt, python3-scipy, - python3-networkx (>= 1.8), python3-setuptools, python3-six (>= 1.3.0), xauth, @@ -38,17 +43,16 @@ Package: python-skimage Architecture: all -Depends: python-numpy, +Depends: python-matplotlib (>= 1.3.1), + python-networkx (>= 1.8), + python-numpy, + python-pil (>= 1.7.8) | python-imaging, python-scipy (>= 0.10), python-six (>= 1.4), - python-matplotlib (>= 1.3.1), - python-pil (>= 1.7.8) | python-imaging, - python-networkx (>= 1.8), python-skimage-lib (>= ${source:Version}), ${misc:Depends}, ${python:Depends} -Recommends: python-nose, - python-qt4 +Recommends: python-nose, python-qt4 Suggests: python-opencv, python-skimage-doc Description: Python modules for image processing scikit-image is a collection of image processing algorithms for @@ -59,12 +63,12 @@ Package: python3-skimage Architecture: all -Depends: python3-numpy (>= 1.7.2), +Depends: python3-matplotlib (>= 1.3.1), + python3-networkx (>= 1.8), + python3-numpy (>= 1.7.2), + python3-pil (>= 1.7.8) | python3-imaging, python3-scipy (>= 0.10), python3-six (>= 1.4), - python3-matplotlib (>= 1.3.1), - python3-pil (>= 1.7.8) | python3-imaging, - python3-networkx (>= 1.8), python3-skimage-lib (>= ${source:Version}), ${misc:Depends}, ${python3:Depends} diff -Nru skimage-0.12.3/debian/patches/changeset_6807f4ee8f5501703e447f95701190c836deaae1.diff skimage-0.13.0/debian/patches/changeset_6807f4ee8f5501703e447f95701190c836deaae1.diff --- skimage-0.12.3/debian/patches/changeset_6807f4ee8f5501703e447f95701190c836deaae1.diff 2017-04-28 21:04:03.000000000 +1200 +++ skimage-0.13.0/debian/patches/changeset_6807f4ee8f5501703e447f95701190c836deaae1.diff 1970-01-01 12:00:00.000000000 +1200 @@ -1,14 +0,0 @@ -From: Yaroslav Halchenko <deb...@onerussian.com> -Subject: BF: Initialize firstbg to the numels so if no bg value found, second loop is not executed - ---- a/skimage/measure/_ccomp.pyx -+++ b/skimage/measure/_ccomp.pyx -@@ -541,7 +541,7 @@ cdef void scanBG(DTYPE_t *data_p, DTYPE_ - - The result of this function is update of forest_p and bg parameter. - """ -- cdef DTYPE_t i, bgval = bg.background_val, firstbg -+ cdef DTYPE_t i, bgval = bg.background_val, firstbg = shapeinfo.numels - # We find the provisional label of the background, which is the index of - # the first background pixel - for i in range(shapeinfo.numels): diff -Nru skimage-0.12.3/debian/patches/dask-optional-dep.patch skimage-0.13.0/debian/patches/dask-optional-dep.patch --- skimage-0.12.3/debian/patches/dask-optional-dep.patch 2017-04-28 21:04:03.000000000 +1200 +++ skimage-0.13.0/debian/patches/dask-optional-dep.patch 1970-01-01 12:00:00.000000000 +1200 @@ -1,77 +0,0 @@ -Description: Make dask an optional dependency. - ---- a/skimage/util/apply_parallel.py -+++ b/skimage/util/apply_parallel.py -@@ -4,6 +4,13 @@ - __all__ = ['apply_parallel'] - - -+try: -+ import dask.array as da -+ dask_available = True -+except ImportError: -+ dask_available = False -+ -+ - def _get_chunks(shape, ncpu): - """Split the array into equal sized chunks based on the number of - available processors. The last chunk in each dimension absorbs the -@@ -82,7 +89,9 @@ - equivalent `dask` boundary modes 'reflect', 'periodic' and 'nearest', - respectively. - """ -- import dask.array as da -+ if not dask_available: -+ raise RuntimeError("Could not import 'dask'. Please install " -+ "using 'pip install dask'") - - if chunks is None: - shape = array.shape ---- a/skimage/util/tests/test_apply_parallel.py -+++ b/skimage/util/tests/test_apply_parallel.py -@@ -2,11 +2,13 @@ - - import numpy as np - from numpy.testing import assert_array_almost_equal -+from numpy.testing.decorators import skipif - - from skimage.filters import threshold_adaptive, gaussian --from skimage.util.apply_parallel import apply_parallel -+from skimage.util.apply_parallel import apply_parallel, dask_available - - -+@skipif(not dask_available) - def test_apply_parallel(): - # data - a = np.arange(144).reshape(12, 12).astype(float) -@@ -28,6 +30,7 @@ - assert_array_almost_equal(result2, expected2) - - -+@skipif(not dask_available) - def test_no_chunks(): - a = np.ones(1 * 4 * 8 * 9).reshape(1, 4, 8, 9) - -@@ -40,6 +43,7 @@ - assert_array_almost_equal(result, expected) - - -+@skipif(not dask_available) - def test_apply_parallel_wrap(): - def wrapped(arr): - return gaussian(arr, 1, mode='wrap') -@@ -50,6 +54,7 @@ - assert_array_almost_equal(result, expected) - - -+@skipif(not dask_available) - def test_apply_parallel_nearest(): - def wrapped(arr): - return gaussian(arr, 1, mode='nearest') ---- a/requirements.txt -+++ b/requirements.txt -@@ -4,4 +4,3 @@ - six>=1.7.3 - networkx>=1.8 - pillow>=2.1.0 --dask[array]>=0.5.0 diff -Nru skimage-0.12.3/debian/patches/doc-privacy.patch skimage-0.13.0/debian/patches/doc-privacy.patch --- skimage-0.12.3/debian/patches/doc-privacy.patch 2017-04-28 21:04:03.000000000 +1200 +++ skimage-0.13.0/debian/patches/doc-privacy.patch 2017-07-14 12:41:13.000000000 +1200 @@ -19,7 +19,7 @@ {%- for cssfile in css_files %} <link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" /> {%- endfor %} -@@ -111,20 +109,3 @@ +@@ -106,20 +104,3 @@ </div> </body> </html> diff -Nru skimage-0.12.3/debian/patches/fix-doc-links.patch skimage-0.13.0/debian/patches/fix-doc-links.patch --- skimage-0.12.3/debian/patches/fix-doc-links.patch 2017-04-28 21:04:03.000000000 +1200 +++ skimage-0.13.0/debian/patches/fix-doc-links.patch 2017-07-14 12:41:06.000000000 +1200 @@ -2,15 +2,17 @@ change to absolute filesystem links --- a/doc/source/_templates/navbar.html +++ b/doc/source/_templates/navbar.html -@@ -1,7 +1,7 @@ +@@ -1,8 +1,8 @@ -<li><a href="/">Home</a></li> -<li><a href="/download.html">Download</a></li> -<li><a href="/docs/dev/auto_examples">Gallery</a></li> -<li><a href="/docs/dev">Documentation</a></li> +-<li><a href="/community_guidelines.html">Community Guidelines</a></li> +<li><a href="/usr/share/doc/python-skimage-doc/html/index.html">Home</a></li> +<li><a href="http://scikit-image.org/download.html">Download</a></li> +<li><a href="/usr/share/doc/python-skimage-doc/html/auto_examples/index.html">Gallery</a></li> +<li><a href="/usr/share/doc/python-skimage-doc/html/index.html">Documentation</a></li> ++<li><a href="/usr/share/doc/python-skimage-doc/html/community_guidelines.html">Community Guidelines</a></li> + <li><a href="https://github.com/scikit-image/scikit-image"> <img src="{{ pathto('_static', 1) }}/GitHub-Mark-32px.png" - style="height: 15px; width: 15px; diff -Nru skimage-0.12.3/debian/patches/fix_shape_type.patch skimage-0.13.0/debian/patches/fix_shape_type.patch --- skimage-0.12.3/debian/patches/fix_shape_type.patch 2017-04-28 21:04:03.000000000 +1200 +++ skimage-0.13.0/debian/patches/fix_shape_type.patch 1970-01-01 12:00:00.000000000 +1200 @@ -1,15 +0,0 @@ -Author: Ole Streicher <oleb...@debian.org> -Description: Fix shape type for histogram - -The number of bins is always an integer, independently of the image data type. ---- a/skimage/filters/rank/generic.py -+++ b/skimage/filters/rank/generic.py -@@ -977,7 +977,7 @@ - """ - - if n_bins is None: -- n_bins = image.max() + 1 -+ n_bins = int(image.max()) + 1 - - return _apply_vector_per_pixel(generic_cy._windowed_hist, image, selem, - out=out, mask=mask, diff -Nru skimage-0.12.3/debian/patches/search-html.patch skimage-0.13.0/debian/patches/search-html.patch --- skimage-0.12.3/debian/patches/search-html.patch 2017-04-28 21:04:03.000000000 +1200 +++ skimage-0.13.0/debian/patches/search-html.patch 1970-01-01 12:00:00.000000000 +1200 @@ -1,21 +0,0 @@ -Description: change to ajax load of searchindex - required so dh_sphinx recognises it as a search.html ---- a/doc/source/themes/scikit-image/search.html -+++ b/doc/source/themes/scikit-image/search.html -@@ -10,7 +10,15 @@ - {% extends "layout.html" %} - {% set title = _('Search') %} - {% set script_files = script_files + ['_static/searchtools.js'] %} --{% set script_files = script_files + ['searchindex.js'] %} -+{% block extrahead %} -+ <script type="text/javascript"> -+ jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); }); -+ </script> -+ {# this is used when loading the search index using $.ajax fails, -+ such as on Chrome for documents on localhost #} -+ <script type="text/javascript" id="searchindexloader"></script> -+ {{ super() }} -+{% endblock %} - {% block body %} - <h1 id="search-documentation">{{ _('Search') }}</h1> - <div id="fallback" class="admonition warning"> diff -Nru skimage-0.12.3/debian/patches/series skimage-0.13.0/debian/patches/series --- skimage-0.12.3/debian/patches/series 2017-04-28 21:04:03.000000000 +1200 +++ skimage-0.13.0/debian/patches/series 2017-07-14 16:02:47.000000000 +1200 @@ -1,7 +1,4 @@ -changeset_6807f4ee8f5501703e447f95701190c836deaae1.diff -dask-optional-dep.patch -search-html.patch fix-doc-links.patch doc-privacy.patch -fix_shape_type.patch -skip_tests_failing_on_some_architectures.patch +skip-failing-test-on-big-endian.patch +skip-failing-test-on-i386.patch diff -Nru skimage-0.12.3/debian/patches/skip-failing-test-on-big-endian.patch skimage-0.13.0/debian/patches/skip-failing-test-on-big-endian.patch --- skimage-0.12.3/debian/patches/skip-failing-test-on-big-endian.patch 1970-01-01 12:00:00.000000000 +1200 +++ skimage-0.13.0/debian/patches/skip-failing-test-on-big-endian.patch 2017-07-14 16:05:53.000000000 +1200 @@ -0,0 +1,22 @@ +--- a/skimage/io/tests/test_pil.py ++++ b/skimage/io/tests/test_pil.py +@@ -1,8 +1,10 @@ + import os.path + import numpy as np ++import sys + from numpy.testing import ( + assert_array_equal, assert_array_almost_equal, assert_raises, + assert_allclose, run_module_suite) ++from numpy.testing.decorators import skipif + + from tempfile import NamedTemporaryFile + +@@ -220,6 +222,8 @@ + color_check('pil', 'bmp') + + ++# https://github.com/scikit-image/scikit-image/issues/2120 ++@skipif(sys.byteorder == 'big') + def test_all_mono(): + mono_check('pil') + diff -Nru skimage-0.12.3/debian/patches/skip-failing-test-on-i386.patch skimage-0.13.0/debian/patches/skip-failing-test-on-i386.patch --- skimage-0.12.3/debian/patches/skip-failing-test-on-i386.patch 1970-01-01 12:00:00.000000000 +1200 +++ skimage-0.13.0/debian/patches/skip-failing-test-on-i386.patch 2017-07-14 23:13:36.000000000 +1200 @@ -0,0 +1,47 @@ +--- a/skimage/feature/tests/test_orb.py ++++ b/skimage/feature/tests/test_orb.py +@@ -1,6 +1,8 @@ ++import os + import numpy as np + from numpy.testing import (assert_equal, assert_almost_equal, run_module_suite, + assert_raises) ++from numpy.testing.decorators import skipif + from skimage.feature import ORB + from skimage import data + from skimage._shared.testing import test_parallel +@@ -69,6 +71,8 @@ + assert_almost_equal(exp_cols, detector_extractor.keypoints[:, 1]) + + ++# https://github.com/scikit-image/scikit-image/issues/2529 ++@skipif(os.uname()[4] == 'i686') + def test_descriptor_orb(): + detector_extractor = ORB(fast_n=12, fast_threshold=0.20) + +--- a/skimage/filters/rank/tests/test_rank.py ++++ b/skimage/filters/rank/tests/test_rank.py +@@ -10,6 +10,7 @@ + from skimage._shared._warnings import expected_warnings + from skimage._shared.testing import test_parallel + ++machine = os.uname()[4] + + class TestRank(): + def setup(self): +@@ -82,10 +83,12 @@ + rank.tophat(self.image, selem)) + assert_equal(refs["noise_filter"], + rank.noise_filter(self.image, selem)) +- assert_equal(refs["entropy"], +- rank.entropy(self.image, selem)) +- assert_equal(refs["otsu"], +- rank.otsu(self.image, selem)) ++ # https://github.com/scikit-image/scikit-image/issues/2528 ++ if machine != "i686": ++ assert_equal(refs["entropy"], ++ rank.entropy(self.image, selem)) ++ assert_equal(refs["otsu"], ++ rank.otsu(self.image, selem)) + assert_equal(refs["percentile"], + rank.percentile(self.image, selem)) + assert_equal(refs["windowed_histogram"], diff -Nru skimage-0.12.3/debian/patches/skip_tests_failing_on_some_architectures.patch skimage-0.13.0/debian/patches/skip_tests_failing_on_some_architectures.patch --- skimage-0.12.3/debian/patches/skip_tests_failing_on_some_architectures.patch 2017-04-28 21:04:03.000000000 +1200 +++ skimage-0.13.0/debian/patches/skip_tests_failing_on_some_architectures.patch 1970-01-01 12:00:00.000000000 +1200 @@ -1,91 +0,0 @@ -Author: Andreas Tille <ti...@debian.org> -Last-Update: Fri, 23 Dec 2016 08:45:21 +0100 -Bug-Debian: https://bugs.debian.org/840589 -Description: For the moment ignore tests failing on some architectures - ---- a/skimage/feature/tests/test_orb.py -+++ b/skimage/feature/tests/test_orb.py -@@ -67,41 +67,5 @@ - assert_almost_equal(exp_rows, detector_extractor.keypoints[:, 0]) - assert_almost_equal(exp_cols, detector_extractor.keypoints[:, 1]) - -- --def test_descriptor_orb(): -- detector_extractor = ORB(fast_n=12, fast_threshold=0.20) -- -- exp_descriptors = np.array([[0, 1, 1, 1, 0, 1, 0, 1, 0, 1], -- [1, 1, 1, 0, 0, 1, 0, 0, 1, 1], -- [1, 0, 1, 1, 0, 0, 1, 1, 0, 0], -- [0, 0, 0, 0, 0, 0, 0, 0, 1, 0], -- [0, 1, 0, 0, 0, 0, 0, 0, 1, 0], -- [1, 1, 0, 1, 1, 1, 0, 0, 1, 1], -- [1, 1, 0, 1, 0, 0, 1, 0, 1, 1], -- [0, 0, 1, 0, 1, 0, 0, 1, 1, 0], -- [1, 0, 0, 0, 1, 0, 0, 0, 0, 1], -- [0, 1, 1, 1, 1, 1, 1, 1, 1, 1], -- [1, 1, 0, 1, 0, 1, 0, 0, 1, 1], -- [1, 1, 1, 0, 0, 0, 1, 1, 1, 0], -- [1, 1, 1, 1, 1, 1, 0, 0, 0, 0], -- [1, 1, 1, 0, 1, 1, 1, 1, 0, 0], -- [1, 1, 0, 0, 1, 0, 0, 1, 0, 1], -- [1, 1, 0, 0, 0, 0, 1, 0, 0, 1], -- [0, 0, 0, 0, 1, 1, 1, 0, 1, 0], -- [0, 0, 0, 0, 1, 1, 1, 0, 0, 1], -- [0, 0, 0, 0, 0, 1, 1, 0, 1, 1], -- [0, 0, 0, 0, 1, 0, 1, 0, 1, 1]], dtype=bool) -- detector_extractor.detect(img) -- detector_extractor.extract(img, detector_extractor.keypoints, -- detector_extractor.scales, -- detector_extractor.orientations) -- assert_equal(exp_descriptors, -- detector_extractor.descriptors[100:120, 10:20]) -- -- detector_extractor.detect_and_extract(img) -- assert_equal(exp_descriptors, -- detector_extractor.descriptors[100:120, 10:20]) -- -- - if __name__ == '__main__': - run_module_suite() ---- a/skimage/filters/rank/tests/test_rank.py -+++ b/skimage/filters/rank/tests/test_rank.py -@@ -79,10 +79,10 @@ - rank.tophat(image, selem)) - assert_equal(refs["noise_filter"], - rank.noise_filter(image, selem)) -- assert_equal(refs["entropy"], -- rank.entropy(image, selem)) -- assert_equal(refs["otsu"], -- rank.otsu(image, selem)) -+ #assert_equal(refs["entropy"], -+ # rank.entropy(image, selem)) -+ #assert_equal(refs["otsu"], -+ # rank.otsu(image, selem)) - assert_equal(refs["percentile"], - rank.percentile(image, selem)) - assert_equal(refs["windowed_histogram"], ---- a/skimage/io/tests/test_pil.py -+++ b/skimage/io/tests/test_pil.py -@@ -216,10 +216,6 @@ - color_check('pil', 'bmp') - - --def test_all_mono(): -- mono_check('pil') -- -- - def test_multi_page_gif(): - img = imread(os.path.join(data_dir, 'no_time_for_that_tiny.gif')) - assert img.shape == (24, 25, 14, 3), img.shape ---- a/skimage/transform/tests/test_integral.py -+++ b/skimage/transform/tests/test_integral.py -@@ -43,7 +43,8 @@ - x[30:, 31:].sum()]) - start_pts = [(r0[i], c0[i]) for i in range(len(r0))] - end_pts = [(r1[i], c1[i]) for i in range(len(r0))] -- assert_equal(expected, integrate(s, r0, c0, r1, c1)) # test deprecated -+# see https://github.com/numpy/numpy/issues/8413 -+# assert_equal(expected, integrate(s, r0, c0, r1, c1)) # test deprecated - assert_equal(expected, integrate(s, start_pts, end_pts)) - - diff -Nru skimage-0.12.3/debian/rules skimage-0.13.0/debian/rules --- skimage-0.12.3/debian/rules 2017-04-28 21:16:36.000000000 +1200 +++ skimage-0.13.0/debian/rules 2017-07-14 13:13:35.000000000 +1200 @@ -85,7 +85,7 @@ endif override_dh_installdocs: - dh_installdocs -A CONTRIBUTORS.txt README.md CONTRIBUTING.txt TASKS.txt + dh_installdocs -A CONTRIBUTORS.txt README.md .github/CONTRIBUTING.txt TASKS.txt dh_link -ppython-skimage-doc /usr/share/twitter-bootstrap/files/js/bootstrap.min.js \ usr/share/doc/python-skimage-doc/html/_static/js/bootstrap.min.js dh_link -ppython-skimage-doc /usr/share/twitter-bootstrap/files/css/bootstrap.min.css \
-- debian-science-maintainers mailing list debian-science-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers