Package: src:python-webob
Version: 1:1.8.9-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

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

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/202512/

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 clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:317: python3.14 setup.py clean 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: MIT License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build' (and everything 
under it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.14' does not exist -- can't clean it
I: pybuild base:317: python3.13 setup.py clean 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: MIT License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build' (and everything 
under it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.13' does not exist -- can't clean it
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 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:317: python3.14 setup.py config 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: MIT License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running config
I: pybuild base:317: python3.13 setup.py config 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: MIT License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running config
   dh_auto_build -O--buildsystem=pybuild
I: pybuild base:317: /usr/bin/python3.14 setup.py build 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: MIT License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/cookies.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/static.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/dec.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/response.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/byterange.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/util.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/etag.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/exc.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/client.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/descriptors.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/multidict.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/headers.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/compat.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/cachecontrol.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/request.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/datetime_utils.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/acceptparse.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
copying src/webob/__init__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_webob/build/webob
I: pybuild base:317: /usr/bin/python3 setup.py build 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: MIT License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/cookies.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/static.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/dec.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/response.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/byterange.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/util.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/etag.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/exc.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/client.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/descriptors.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/multidict.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/headers.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/compat.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/cachecontrol.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/request.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/datetime_utils.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/acceptparse.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_webob/build/webob
copying src/webob/__init__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_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.14.2, pytest-9.0.2, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>
configfile: setup.cfg
plugins: typeguard-4.4.4
collected 2390 items

tests/test_acceptparse.py .............................................. [  1%]
........................................................................ [  4%]
........................................................................ [  7%]
........................................................................ [ 10%]
........................................................................ [ 13%]
........................................................................ [ 16%]
........................................................................ [ 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 ....                                     [ 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 ......                                      [ 59%]
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 .F                                              [ 70%]
tests/test_misc.py ...s.........s.                                       [ 70%]
tests/test_multidict.py ................................................ [ 72%]
........................................................................ [ 75%]
                                                                         [ 75%]
tests/test_request.py .................................................. [ 77%]
........................................................................ [ 80%]
........................................................................ [ 83%]
...................................................................s.s.s [ 86%]
..............................s......................................... [ 89%]
...............................................                          [ 91%]
tests/test_response.py ................................................. [ 93%]
.........x.............................................................. [ 96%]
.......................................                                  [ 98%]
tests/test_static.py ....................                                [ 99%]
tests/test_transcode.py ......                                           [ 99%]
tests/test_util.py .......                                               [100%]

=================================== FAILURES ===================================
___________________________ test_interrupted_request ___________________________

req = <Request at 0x7f2eddc8ae40 POST http://localhost:62496/readline>

    def _req_int_readline(req):
        try:
>           assert req.body_file.readline() == b'a=b\n'
                   ^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_in_wsgiref.py:91: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <LimitedLengthFile(<_io.BufferedReader name=-1>, maxlen=100000)>
buff = <memory at 0x7f2edea44a00>

    def readinto(self, buff):
        if not self.remaining:
            return 0
        sz0 = min(len(buff), self.remaining)
        data = self.file.read(sz0)
        sz = len(data)
        self.remaining -= sz
        if sz < sz0 and self.remaining:
>           raise DisconnectionError(
                "The client disconnected while sending the body "
                "(%d more bytes were expected)" % (self.remaining,)
            )
E           webob.request.DisconnectionError: The client disconnected while 
sending the body (89994 more bytes were expected)

src/webob/request.py:1542: DisconnectionError

During handling of the above exception, another exception occurred:

serve = <function serve.<locals>._serve at 0x7f2eddc9dd20>

    @pytest.mark.usefixtures("serve")
    def test_interrupted_request(serve):
        with serve(_test_app_req_interrupt) as server:
            for path in _test_ops_req_interrupt:
                _send_interrupted_req(server, path)
                try:
                    res = _global_res.get(timeout=1)
                except Empty:
                    raise AssertionError("Error during test %s", path)
                if res is not None:
                    print("Error during test:", path)
>                   reraise(res)

tests/test_in_wsgiref.py:57: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/webob/compat.py:78: in reraise
    raise exc
tests/test_in_wsgiref.py:74: in _test_app_req_interrupt
    op(req)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

req = <Request at 0x7f2eddc8ae40 POST http://localhost:62496/readline>

    def _req_int_readline(req):
        try:
            assert req.body_file.readline() == b'a=b\n'
        except IOError:
            # too early to detect disconnect
>           raise AssertionError("False disconnect alert")
E           AssertionError: False disconnect alert

tests/test_in_wsgiref.py:94: AssertionError
----------------------------- Captured stdout call -----------------------------
Error during test: /readline
=============================== warnings summary ===============================
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_cookies.py: 6 warnings
tests/test_response.py: 5 warnings
  /<<PKGBUILDDIR>>/src/webob/cookies.py:238: DeprecationWarning: 
datetime.datetime.utcnow() is deprecated and scheduled for removal in a future 
version. Use timezone-aware objects to represent datetimes in UTC: 
datetime.datetime.now(datetime.UTC).
    v = datetime.utcnow() + v

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
  /<<PKGBUILDDIR>>/tests/test_response.py:867: DeprecationWarning: 
datetime.datetime.utcnow() is deprecated and scheduled for removal in a future 
version. Use timezone-aware objects to represent datetimes in UTC: 
datetime.datetime.now(datetime.UTC).
    then = datetime.datetime.utcnow() + datetime.timedelta(days=1)

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 '

tests/test_response.py::test_set_cookie_expires_is_datetime_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:1054: DeprecationWarning: 
datetime.datetime.utcnow() is deprecated and scheduled for removal in a future 
version. Use timezone-aware objects to represent datetimes in UTC: 
datetime.datetime.now(datetime.UTC).
    max_age = expires - datetime.utcnow()

tests/test_response.py::test_cache_expires_set
tests/test_response.py::test_cache_expires_set_zero
tests/test_response.py::test_cache_expires_set_zero_then_nonzero
  /<<PKGBUILDDIR>>/src/webob/response.py:1199: DeprecationWarning: 
datetime.datetime.utcnow() is deprecated and scheduled for removal in a future 
version. Use timezone-aware objects to represent datetimes in UTC: 
datetime.datetime.now(datetime.UTC).
    self.expires = datetime.utcnow()

tests/test_response.py::test_cache_expires_set
tests/test_response.py::test_cache_expires_set_zero
tests/test_response.py::test_cache_expires_set_zero_then_nonzero
  /<<PKGBUILDDIR>>/src/webob/response.py:1201: DeprecationWarning: 
datetime.datetime.utcnow() is deprecated and scheduled for removal in a future 
version. Use timezone-aware objects to represent datetimes in UTC: 
datetime.datetime.now(datetime.UTC).
    self.last_modified = datetime.utcnow()

tests/test_response.py::test_cache_expires_set_timedelta
tests/test_response.py::test_cache_expires_set_int
tests/test_response.py::test_cache_expires_set_zero_then_nonzero
  /<<PKGBUILDDIR>>/src/webob/response.py:1206: DeprecationWarning: 
datetime.datetime.utcnow() is deprecated and scheduled for removal in a future 
version. Use timezone-aware objects to represent datetimes in UTC: 
datetime.datetime.now(datetime.UTC).
    self.expires = datetime.utcnow() + timedelta(seconds=seconds)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_in_wsgiref.py::test_interrupted_request - AssertionError: F...
====== 1 failed, 2379 passed, 9 skipped, 1 xfailed, 34 warnings in 5.04s =======
make[1]: *** [debian/rules:12: override_dh_auto_test] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:8: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to