--- Begin Message ---
Source: textdistance
Version: 4.2.0-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20211023 ftbfs-bookworm
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> dpkg-buildpackage
> -----------------
>
> Command: dpkg-buildpackage -us -uc -sa -rfakeroot
> dpkg-buildpackage: info: source package textdistance
> dpkg-buildpackage: info: source version 4.2.0-2
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Julian Gilbey <j...@debian.org>
> dpkg-source --before-build .
> dpkg-buildpackage: info: host architecture amd64
> debian/rules clean
> dh clean --buildsystem=pybuild
> dh_auto_clean -O--buildsystem=pybuild
> I: pybuild base:232: python3.9 setup.py clean
> /usr/lib/python3/dist-packages/setuptools/dist.py:717: UserWarning: Usage of
> dash-separated 'description-file' will not be supported in future versions.
> Please use the underscore name 'description_file' instead
> warnings.warn(
> running clean
> removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build' (and everything under
> it)
> 'build/bdist.linux-x86_64' does not exist -- can't clean it
> 'build/scripts-3.9' does not exist -- can't clean it
> dh_autoreconf_clean -O--buildsystem=pybuild
> dh_clean -O--buildsystem=pybuild
> dpkg-source -b .
> dpkg-source: info: using source format '3.0 (quilt)'
> dpkg-source: info: building textdistance using existing
> ./textdistance_4.2.0.orig.tar.gz
> dpkg-source: info: using patch list from debian/patches/series
> dpkg-source: info: building textdistance in textdistance_4.2.0-2.debian.tar.xz
> dpkg-source: info: building textdistance in textdistance_4.2.0-2.dsc
> debian/rules binary
> dh binary --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:232: python3.9 setup.py config
> /usr/lib/python3/dist-packages/setuptools/dist.py:717: UserWarning: Usage of
> dash-separated 'description-file' will not be supported in future versions.
> Please use the underscore name 'description_file' instead
> warnings.warn(
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:232: /usr/bin/python3 setup.py build
> /usr/lib/python3/dist-packages/setuptools/dist.py:717: UserWarning: Usage of
> dash-separated 'description-file' will not be supported in future versions.
> Please use the underscore name 'description_file' instead
> warnings.warn(
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance
> copying textdistance/libraries.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance
> copying textdistance/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance
> copying textdistance/benchmark.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance
> copying textdistance/utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/algorithms/simple.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/algorithms/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/algorithms/compression_based.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/algorithms/token_based.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/algorithms/phonetic.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/algorithms/sequence_based.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/algorithms/vector_based.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/algorithms/edit_based.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/algorithms/base.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance/algorithms
> copying textdistance/libraries.json ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/textdistance
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:232: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build;
> python3.9 -m pytest tests
> ============================= test session starts
> ==============================
> platform linux -- Python 3.9.7, pytest-6.2.5, py-1.10.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg
> plugins: hypothesis-5.43.3
> collected 398 items
>
> tests/test_common.py ................................................... [
> 12%]
> ........................................................................ [
> 30%]
> ............................................. [
> 42%]
> tests/test_external.py ...F....F...... [
> 45%]
> tests/test_compression/test_arith_ncd.py .... [
> 46%]
> tests/test_compression/test_bwtrle_ncd.py .. [
> 47%]
> tests/test_compression/test_bz2_ncd.py .. [
> 47%]
> tests/test_compression/test_common.py ............................ [
> 55%]
> tests/test_compression/test_entropy_ncd.py ........ [
> 57%]
> tests/test_compression/test_sqrt_ncd.py ....... [
> 58%]
> tests/test_edit/test_damerau_levenshtein.py ............... [
> 62%]
> tests/test_edit/test_editex.py ............ [
> 65%]
> tests/test_edit/test_gotoh.py ..... [
> 66%]
> tests/test_edit/test_hamming.py ...... [
> 68%]
> tests/test_edit/test_jaro.py ........ [
> 70%]
> tests/test_edit/test_jaro_winkler.py ..F.... [
> 72%]
> tests/test_edit/test_levenshtein.py ...... [
> 73%]
> tests/test_edit/test_matrix.py .......... [
> 76%]
> tests/test_edit/test_mlipns.py ........... [
> 78%]
> tests/test_edit/test_needleman_wunsch.py ..... [
> 80%]
> tests/test_edit/test_smith_waterman.py ..... [
> 81%]
> tests/test_edit/test_strcmp95.py .... [
> 82%]
> tests/test_phonetic/test_editex.py .............................. [
> 89%]
> tests/test_sequence/test_lcsseq.py ........... [
> 92%]
> tests/test_sequence/test_lcsstr.py .......... [
> 95%]
> tests/test_token/test_bag.py .... [
> 96%]
> tests/test_token/test_cosine.py .. [
> 96%]
> tests/test_token/test_jaccard.py ..... [
> 97%]
> tests/test_token/test_monge_elkan.py .. [
> 98%]
> tests/test_token/test_overlap.py ... [
> 99%]
> tests/test_token/test_sorensen.py ...
> [100%]
>
> =================================== FAILURES
> ===================================
> __________________________ test_compare[JaroWinkler]
> ___________________________
>
> alg = 'JaroWinkler'
>
> @pytest.mark.external
> > @pytest.mark.parametrize('alg', libraries.get_algorithms())
> @hypothesis.given(
> left=hypothesis.strategies.text(min_size=1),
> right=hypothesis.strategies.text(min_size=1),
> )
>
> tests/test_external.py:17:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> left = ':', right = ':0', alg = 'JaroWinkler'
>
> @pytest.mark.external
> @pytest.mark.parametrize('alg', libraries.get_algorithms())
> @hypothesis.given(
> left=hypothesis.strategies.text(min_size=1),
> right=hypothesis.strategies.text(min_size=1),
> )
> def test_compare(left, right, alg):
> for lib in libraries.get_libs(alg):
> conditions = lib.conditions or {}
> internal_func = getattr(textdistance, alg)(external=False,
> **conditions)
> external_func = lib.get_function()
> if external_func is None:
> raise RuntimeError('cannot import {}'.format(str(lib)))
>
> if not lib.check_conditions(internal_func, left, right):
> continue
>
> int_result = internal_func(left, right)
> s1, s2 = lib.prepare(left, right)
> ext_result = external_func(s1, s2)
> > assert isclose(int_result, ext_result), str(lib)
> E AssertionError: jellyfish.jaro_winkler_similarity
> E assert False
> E + where False = isclose(0.8333333333333334, 0.8500000000000001)
>
> tests/test_external.py:36: AssertionError
> ---------------------------------- Hypothesis
> ----------------------------------
> Falsifying example: test_compare(
> left=':', right=':0', alg='JaroWinkler',
> )
> ____________________________ test_qval[JaroWinkler]
> ____________________________
>
> alg = 'JaroWinkler'
>
> > ???
>
> tests/test_external.py:40:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> left = ':', right = ':0', alg = 'JaroWinkler'
>
> @pytest.mark.external
> @pytest.mark.parametrize('alg', libraries.get_algorithms())
> @hypothesis.given(
> left=hypothesis.strategies.text(min_size=1),
> right=hypothesis.strategies.text(min_size=1),
> )
> def test_qval(left, right, alg):
> for lib in libraries.get_libs(alg):
> conditions = lib.conditions or {}
> internal_func = getattr(textdistance, alg)(external=False,
> **conditions)
> external_func = lib.get_function()
> # algorithm doesn't support q-grams
> if not hasattr(internal_func, 'qval'):
> continue
> for qval in (None, 1, 2, 3):
> internal_func.qval = qval
> # if qval unsopporting already set for lib
> s1, s2 = internal_func._get_sequences(left, right)
> if not lib.check_conditions(internal_func, s1, s2):
> continue
>
> # test
> int_result = internal_func(left, right)
> s1, s2 = lib.prepare(s1, s2)
> ext_result = external_func(s1, s2)
> > assert isclose(int_result, ext_result), str(lib)
> E AssertionError: jellyfish.jaro_winkler_similarity
> E assert False
> E + where False = isclose(0.8333333333333334, 0.8500000000000001)
>
> tests/test_external.py:64: AssertionError
> ---------------------------------- Hypothesis
> ----------------------------------
> Falsifying example: test_qval(
> left=':', right=':0', alg='JaroWinkler',
> )
> _____________________ test_distance[frog-fog-0.916666666]
> ______________________
>
> left = 'frog', right = 'fog', expected = 0.916666666
>
> @pytest.mark.parametrize('left, right, expected', [
> ('elephant', 'hippo', 0.44166666666666665),
> ('fly', 'ant', 0.0),
> ('frog', 'fog', 0.916666666),
> ('MARTHA', 'MARHTA', 0.9611111111111111),
> ('DWAYNE', 'DUANE', 0.84),
> ('DIXON', 'DICKSONX', 0.8133333333333332),
>
> # https://github.com/life4/textdistance/issues/39
> ('duck donald', 'duck daisy', 0.867272727272),
> ])
> def test_distance(left, right, expected):
> actual = ALG(winklerize=True, external=False)(left, right)
> assert isclose(actual, expected)
>
> actual = ALG(winklerize=True, external=True)(left, right)
> > assert isclose(actual, expected)
> E assert False
> E + where False = isclose(0.9249999999999999, 0.916666666)
>
> tests/test_edit/test_jaro_winkler.py:30: AssertionError
> =========================== short test summary info
> ============================
> FAILED tests/test_external.py::test_compare[JaroWinkler] - AssertionError:
> je...
> FAILED tests/test_external.py::test_qval[JaroWinkler] - AssertionError:
> jelly...
> FAILED
> tests/test_edit/test_jaro_winkler.py::test_distance[frog-fog-0.916666666]
> ======================== 3 failed, 395 passed in 30.30s
> ========================
> E: pybuild pybuild:354: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; python3.9 -m pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9
> returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2021/10/23/textdistance_4.2.0-2_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---