• Bug#1103116: haversine: FTBFS in testing/i386: dh_auto_test: error: pyb

    From Lucas Nussbaum@21:1/5 to All on Mon Apr 14 13:50:15 2025
    Source: haversine
    Version: 2.9.0-1
    Severity: serious
    Justification: FTBFS
    Tags: trixie sid ftbfs
    User: lucas@debian.org
    Usertags: ftbfs-20250414 ftbfs-trixie

    Hi,

    During a rebuild of all packages in testing (trixie), your package failed
    to build on i386.


    Relevant part (hopefully):
    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
    dh_auto_build -O--buildsystem=pybuild
    I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module
    I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/haversine-2.9.0/.pybuild/cpython3_3.13_haversine
    * Building wheel...
    running bdist_wheel /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:124: SetuptoolsDeprecationWarning: bdist_wheel.universal is deprecated
    !!

    ********************************************************************************
    With Python 2.7 end-of-life, support for building universal wheels
    (i.e., wheels that support both Python 2 and Python 3)
    is being obviated.
    Please discontinue using this option, or if you still need it,
    file an issue with pypa/setuptools describing your use case.

    By 2025-Aug-30, you need to update your project and remove deprecated calls
    or your builds will no longer be supported.
    ********************************************************************************

    !!
    self.finalize_options()
    running build
    running build_py
    creating build/lib/haversine
    copying haversine/haversine.py -> build/lib/haversine
    copying haversine/__init__.py -> build/lib/haversine
    running egg_info
    creating haversine.egg-info
    writing haversine.egg-info/PKG-INFO
    writing dependency_links to haversine.egg-info/dependency_links.txt
    writing top-level names to haversine.egg-info/top_level.txt
    writing manifest file 'haversine.egg-info/SOURCES.txt'
    reading manifest file 'haversine.egg-info/SOURCES.txt'
    adding license file 'LICENSE'
    writing manifest file 'haversine.egg-info/SOURCES.txt'
    installing to build/bdist.linux-i686/wheel
    running install
    running install_lib
    creating build/bdist.linux-i686/wheel
    creating build/bdist.linux-i686/wheel/haversine
    copying build/lib/haversine/haversine.py -> build/bdist.linux-i686/wheel/./haversine
    copying build/lib/haversine/__init__.py -> build/bdist.linux-i686/wheel/./haversine
    running install_egg_info
    Copying haversine.egg-info to build/bdist.linux-i686/wheel/./haversine-2.9.0.egg-info
    running install_scripts
    creating build/bdist.linux-i686/wheel/haversine-2.9.0.dist-info/WHEEL creating '/build/reproducible-path/haversine-2.9.0/.pybuild/cpython3_3.13_haversine/.tmp-ngh8mwsh/haversine-2.9.0-py2.py3-none-any.whl' and adding 'build/bdist.linux-i686/wheel' to it
    adding 'haversine/__init__.py'
    adding 'haversine/haversine.py'
    adding 'haversine-2.9.0.dist-info/LICENSE'
    adding 'haversine-2.9.0.dist-info/METADATA'
    adding 'haversine-2.9.0.dist-info/WHEEL'
    adding 'haversine-2.9.0.dist-info/top_level.txt'
    adding 'haversine-2.9.0.dist-info/RECORD'
    removing build/bdist.linux-i686/wheel
    Successfully built haversine-2.9.0-py2.py3-none-any.whl
    I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module
    dh_auto_test -O--buildsystem=pybuild
    I: pybuild base:311: cd /build/reproducible-path/haversine-2.9.0/.pybuild/cpython3_3.13_haversine/build; python3.13 -m pytest tests -k "not test_inverse_haversine"
    ============================= test session starts ==============================
    platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0
    rootdir: /build/reproducible-path/haversine-2.9.0
    plugins: typeguard-4.4.2
    collected 76 items / 24 deselected / 52 selected

    tests/test_haversine.py ........................... [ 51%]
    tests/test_haversine_vector.py FFF.............. [ 84%]
    tests/test_performance.py ...s...s [100%]

    =================================== FAILURES ===================================
    ________________________________ test_pair[km] _________________________________

    unit = <Unit.KILOMETERS: 'km'>

    @pytest.mark.parametrize(
    'unit', [Unit.KILOMETERS, Unit.METERS, Unit.INCHES]
    )
    def test_pair(unit):
    def test_lyon_paris(unit):
    expected_lyon_paris = EXPECTED_LYON_PARIS[unit]
    assert haversine_vector(LYON, PARIS, unit=unit) == expected_lyon_paris
    assert isinstance(unit.value, str)
    assert haversine_vector(
    LYON, PARIS, unit=unit.value) == expected_lyon_paris

    return test_lyon_paris(unit)

    tests/test_haversine_vector.py:19:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    unit = <Unit.KILOMETERS: 'km'>

    def test_lyon_paris(unit):
    expected_lyon_paris = EXPECTED_LYON_PARIS[unit]
    assert haversine_vector(LYON, PARIS, unit=unit) == expected_lyon_paris
    E AssertionError: assert array([392.21725956]) == 392.2172595594006
    E + where array([392.21725956]) = haversine_vector((45.7597, 4.8422), (48.8567, 2.3508), unit=<Unit.KILOMETERS: 'km'>)

    tests/test_haversine_vector.py:14: AssertionError _________________________________ test_pair[m] _________________________________

    unit = <Unit.METERS: 'm'>

    @pytest.mark.parametrize(
    'unit', [Unit.KILOMETERS, Unit.METERS, Unit.INCHES]
    )
    def test_pair(unit):
    def test_lyon_paris(unit):
    expected_lyon_paris = EXPECTED_LYON_PARIS[unit]
    assert haversine_vector(LYON, PARIS, unit=unit) == expected_lyon_paris
    assert isinstance(unit.value, str)
    assert haversine_vector(
    LYON, PARIS, unit=unit.value) == expected_lyon_paris

    return test_lyon_paris(unit)

    tests/test_haversine_vector.py:19:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    unit = <Unit.METERS: 'm'>

    def test_lyon_paris(unit):
    expected_lyon_paris = EXPECTED_LYON_PARIS[unit]
    assert haversine_vector(LYON, PARIS, unit=unit) == expected_lyon_paris
    E AssertionError: assert array([392217.2595594]) == 392217.2595594006
    E + where array([392217.2595594]) = haversine_vector((45.7597, 4.8422), (48.8567, 2.3508), unit=<Unit.METERS: 'm'>)

    tests/test_haversine_vector.py:14: AssertionError ________________________________ test_pair[in] _________________________________

    unit = <Unit.INCHES: 'in'>

    @pytest.mark.parametrize(
    'unit', [Unit.KILOMETERS, Unit.METERS, Unit.INCHES]
    )
    def test_pair(unit):
    def test_lyon_paris(unit):
    expected_lyon_paris = EXPECTED_LYON_PARIS[unit]
    assert haversine_vector(LYON, PARIS, unit=unit) == expected_lyon_paris
    assert isinstance(unit.value, str)
    assert haversine_vector(
    LYON, PARIS, unit=unit.value) == expected_lyon_paris

    return test_lyon_paris(unit)

    tests/test_haversine_vector.py:19:
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    unit = <Unit.INCHES: 'in'>

    def test_lyon_paris(unit):
    expected_lyon_paris = EXPECTED_LYON_PARIS[unit]
    assert haversine_vector(LYON, PARIS, unit=unit) == expected_lyon_paris
    E AssertionError: assert array([15441624.39210257]) == 15441624.392102592
    E + where array([15441624.39210257]) = haversine_vector((45.7597, 4.8422), (48.8567, 2.3508), unit=<Unit.INCHES: 'in'>)

    tests/test_haversine_vector.py:14: AssertionError
    =========================== short test summary info ============================
    FAILED tests/test_haversine_vector.py::test_pair[km] - AssertionError: assert...
    FAILED tests/test_haversine_vector.py::test_pair[m] - AssertionError: assert ...
    FAILED tests/test_haversine_vector.py::test_pair[in] - AssertionError: assert...
    =========== 3 failed, 47 passed, 2 skipped, 24 deselected in 12.89s ============
    E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /build/reproducible-path/haversine-2.9.0/.pybuild/cpython3_3.13_haversine/build; python3.13 -m pytest tests -k "not test_inverse_haversine"
    dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13


    The full build log is available from: http://qa-logs.debian.net/2025/04/14/haversine_2.9.0-1_testing-i386.log

    All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250414;users=lucas@debian.org
    or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250414&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

    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 mark 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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Debian Bug Tracking System@21:1/5 to All on Tue Apr 22 19:30:01 2025
    This is a multi-part message in MIME format...

    Your message dated Tue, 22 Apr 2025 17:19:16 +0000
    with message-id <E1u7HHA-008ngv-SY@fasolo.debian.org>
    and subject line Bug#1103116: fixed in haversine 2.9.0-2
    has caused the Debian Bug report #1103116,
    regarding haversine: FTBFS in testing/i386: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13
    to be marked as done.

    This means that you claim that the problem has been dealt with.
    If this is not the case it is now your responsibility to reopen the
    Bug report if necessary, and/or fix the problem forthwith.

    (NB: If you are a system administrator and have no idea what this
    message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org
    immediately.)


    --
    1103116: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1103116
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    Received: (at submit) by bugs.debian.org; 14 Apr 2025 11:43:46 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
    (2021-04-09) on buxtehude.debian.org
    X-Spam-Level:
    X-Spam-Status: No, score=-105.1 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
    DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FOURLA,
    FROMDEVELOPER,SPF_HELO_NONE,SPF_NONE,UNPARSEABLE_RELAY,
    USER_IN_DKIM_WELCOMELIST,USER_IN_DKIM_WHITELIST autolearn=ham
    autolearn_force=no version=3.4.6-bugs.debian.org_2005_01_02 X-Spam-Bayes: score:0.0000 Tokens: new, 65; hammy, 150; neutral, 284; spammy,
    0. spammytokens:
    hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
    0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
    0.000-+--H*RT:311, 0.000-+--H*RT:108
    Return-path: <lucas@debian.org>
    Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:10