#1137052 python-webob: FTBFS in bookworm and trixie

#1137052#5
Date:
2026-05-18 23:19:22 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in bookworm, this package failed to build.

[ Note: I can't mark the bug as fixed in forky/sid because the version is
  the same. Packages in bookworm/trixie must still build in bookworm/trixie ].

[ Note: There is already a FTBFS bug in forky/sid but the way it fails seems
  to be different, for that reason I'm filing a different bug ].

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/bookworm/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-webob, so that this is still
visible in the BTS web page for this package.

Thanks.
--------------------------------------------------------------------------------
[...]
 debian/rules build
dh build --with python3,sphinxdoc --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
I: pybuild base:240: python3.11 setup.py config
/usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:515: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
  warnings.warn(msg, warning_class)
running config
   dh_auto_build -O--buildsystem=pybuild
I: pybuild base:240: /usr/bin/python3 setup.py build
/usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:515: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
  warnings.warn(msg, warning_class)
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/cookies.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/dec.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/exc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/request.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/static.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/datetime_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/util.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/client.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/byterange.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/acceptparse.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/response.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/cachecontrol.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/descriptors.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/multidict.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/etag.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/headers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
copying src/webob/compat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_webob/build/webob
   debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# enable network, tests.test_in_wsgiref.test_request_reading needs it
set -e ; for vers in `py3versions -vr` ; do \
	http_proxy='' PYTHONPATH=.:/<<PKGBUILDDIR>>/src python$vers -m pytest tests ; \
done
py3versions: no X-Python3-Version in control file, using supported versions
============================= test session starts ==============================
platform linux -- Python 3.11.2, pytest-7.2.1, pluggy-1.0.0+repack
rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg
collected 2388 items

tests/test_acceptparse.py .............................................. [  1%]
........................................................................ [  4%]
........................................................................ [  7%]
........................................................................ [ 10%]
........................................................................ [ 13%]
........................................................................ [ 17%]
........................................................................ [ 20%]
........................................................................ [ 23%]
........................................................................ [ 26%]
........................................................................ [ 29%]
........................................................................ [ 32%]
........................................................................ [ 35%]
........................................................................ [ 38%]
........................................................................ [ 41%]
........................................................................ [ 44%]
........................................................................ [ 47%]
........................................................................ [ 50%]
........................................................                 [ 52%]
tests/test_byterange.py ...............                                  [ 53%]
tests/test_cachecontrol.py ...............................               [ 54%]
tests/test_client.py .............                                       [ 54%]
tests/test_client_functional.py ..F.                                     [ 55%]
tests/test_compat.py ...........                                         [ 55%]
tests/test_cookies.py .............................................s.s.s [ 57%]
................................................                         [ 59%]
tests/test_cookies_bw.py .                                               [ 59%]
tests/test_datetime_utils.py ......                                      [ 60%]
tests/test_dec.py .........................                              [ 61%]
tests/test_descriptors.py .............................................. [ 62%]
........................................................................ [ 65%]
.........                                                                [ 66%]
tests/test_etag.py ..........................                            [ 67%]
tests/test_etag_nose.py .......                                          [ 67%]
tests/test_exc.py ........................................               [ 69%]
tests/test_headers.py .................                                  [ 70%]
tests/test_in_wsgiref.py ..                                              [ 70%]
tests/test_misc.py ...s.........s.                                       [ 70%]
tests/test_multidict.py ................................................ [ 72%]
........................................................................ [ 75%]
                                                                         [ 75%]
tests/test_request.py .................................................. [ 77%]
........................................................................ [ 80%]
........................................................................ [ 84%]
...................................................................s.s.s [ 87%]
..............................s......................................... [ 90%]
...............................................                          [ 92%]
tests/test_response.py ................................................. [ 94%]
........x............................................................... [ 97%]
.....................................                                    [ 98%]
tests/test_static.py ....................                                [ 99%]
tests/test_transcode.py ......                                           [ 99%]
tests/test_util.py .......                                               [100%]

=================================== FAILURES ===================================


tests/test_client_functional.py:80:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/webob/request.py:1313: in send
    status, headers, app_iter = self.call_application(
src/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
src/webob/client.py:94: in __call__
    res = conn.getresponse()
/usr/lib/python3.11/http/client.py:1394: in getresponse
    response.begin()
/usr/lib/python3.11/http/client.py:323: in begin
    version, status, reason = self._read_status()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <http.client.HTTPResponse object at 0x7fc4aa91ab90>

    def _read_status(self):
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
        if len(line) > _MAXLINE:
            raise LineTooLong("status line")
        if self.debuglevel > 0:
            print("reply:", repr(line))
        if not line:
            # Presumably, the server closed the connection before
            # sending a valid response.
/usr/lib/python3.11/http/client.py:292: RemoteDisconnected
=============================== warnings summary ===============================
src/webob/compat.py:5
  /<<PKGBUILDDIR>>/src/webob/compat.py:5: DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
    from cgi import parse_header

tests/test_client_functional.py::test_client
tests/test_client_functional.py::test_no_content_length
tests/test_client_functional.py::test_client_cookies
tests/test_client_functional.py::test_client_slow
tests/test_in_wsgiref.py::test_request_reading
tests/test_in_wsgiref.py::test_interrupted_request
  /<<PKGBUILDDIR>>/tests/conftest.py:53: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
    worker.setDaemon(True)

tests/test_request.py::TestRequest_functional::test_request_put
  /<<PKGBUILDDIR>>/src/webob/acceptparse.py:1262: DeprecationWarning: The behavior of .__contains__ for the Accept classes is currently being maintained for backward compatibility, but it will change in the future to better conform to the RFC.
    warnings.warn(

tests/test_request.py::TestRequest_functional::test_request_put
  /<<PKGBUILDDIR>>/src/webob/acceptparse.py:645: DeprecationWarning: The behavior of AcceptValidHeader.__contains__ is currently being maintained for backward compatibility, but it will change in the future to better conform to the RFC.
    warnings.warn(

tests/test_response.py::test_set_cookie_expires_is_datetime_and_max_age_is_None
tests/test_response.py::test_set_cookie_expires_is_timedelta_and_max_age_is_None
tests/test_response.py::test_set_cookie_expires_is_datetime_tz_and_max_age_is_None
  /<<PKGBUILDDIR>>/src/webob/response.py:1037: DeprecationWarning: Argument "expires" will be removed in a future version of WebOb, please use "max_age".
    warn_deprecation('Argument "expires" will be removed in a future '