Your message dated Thu, 11 Jun 2026 12:34:18 +0000
with message-id <[email protected]>
and subject line Bug#1139423: fixed in vcr.py 8.1.1-3
has caused the Debian Bug report #1139423,
regarding vcr.py: FTBFS with aiohttp 3.14
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 [email protected]
immediately.)
--
1139423: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1139423
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:python-awair
Version: 0.2.5-1
Severity: serious
Tags: ftbfs forky sid
User: [email protected]
Usertags: aiohttp-3.14
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/202606/
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-awair, 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
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
dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:142: Building wheel for python3.14 with "build"
module
I: pybuild base:385: python3.14 -m build --skip-dependency-check --no-isolation
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14
[... snipped ...]
log = logging.getLogger(__name__)
> class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E AttributeError: module 'aiohttp.streams' has no attribute
'AsyncStreamReaderMixin'
/usr/lib/python3/dist-packages/vcr/stubs/aiohttp_stubs.py:21: AttributeError
__________________________ test_sensor_creation_gen2 ___________________________
async def test_sensor_creation_gen2() -> Any:
"""Test that an Awair gen2 creates expected sensors."""
target = datetime(2020, 4, 10, 10, 38, 30)
async with aiohttp.ClientSession() as session:
> with VCR.use_cassette("awair-r2.yaml"), time_travel(target):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_python_awair.py:340:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/vcr/cassette.py:84: in __enter__
return next(self.__finish)
^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/cassette.py:58: in _patch_generator
for patcher in CassettePatcherBuilder(cassette).build():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:129: in
_build_patchers_from_mock_triples
for args in mock_triples:
^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:301: in _aiohttp
from .stubs.aiohttp_stubs import vcr_request
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"""Stubs for aiohttp HTTP clients"""
import asyncio
import functools
import json
import logging
from collections.abc import Mapping
from http.cookies import CookieError, Morsel, SimpleCookie
from aiohttp import ClientConnectionError, ClientResponse, CookieJar,
RequestInfo, hdrs, streams
from aiohttp.helpers import strip_auth_from_url
from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
from yarl import URL
from vcr.errors import CannotOverwriteExistingCassetteException
from vcr.request import Request
log = logging.getLogger(__name__)
> class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E AttributeError: module 'aiohttp.streams' has no attribute
'AsyncStreamReaderMixin'
/usr/lib/python3/dist-packages/vcr/stubs/aiohttp_stubs.py:21: AttributeError
__________________________ test_sensor_creation_glow ___________________________
async def test_sensor_creation_glow() -> Any:
"""Test that an Awair glow creates expected sensors."""
target = datetime(2020, 4, 10, 10, 38, 30)
async with aiohttp.ClientSession() as session:
> with VCR.use_cassette("glow.yaml"), time_travel(target):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_python_awair.py:380:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/vcr/cassette.py:84: in __enter__
return next(self.__finish)
^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/cassette.py:58: in _patch_generator
for patcher in CassettePatcherBuilder(cassette).build():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:129: in
_build_patchers_from_mock_triples
for args in mock_triples:
^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:301: in _aiohttp
from .stubs.aiohttp_stubs import vcr_request
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"""Stubs for aiohttp HTTP clients"""
import asyncio
import functools
import json
import logging
from collections.abc import Mapping
from http.cookies import CookieError, Morsel, SimpleCookie
from aiohttp import ClientConnectionError, ClientResponse, CookieJar,
RequestInfo, hdrs, streams
from aiohttp.helpers import strip_auth_from_url
from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
from yarl import URL
from vcr.errors import CannotOverwriteExistingCassetteException
from vcr.request import Request
log = logging.getLogger(__name__)
> class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E AttributeError: module 'aiohttp.streams' has no attribute
'AsyncStreamReaderMixin'
/usr/lib/python3/dist-packages/vcr/stubs/aiohttp_stubs.py:21: AttributeError
______________________________ test_auth_failure _______________________________
async def test_auth_failure() -> Any:
"""Test that we can raise on bad auth."""
async with aiohttp.ClientSession() as session:
with pytest.raises(AwairError):
Awair(session=session)
> with VCR.use_cassette("bad_auth.yaml"):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_python_awair.py:423:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/vcr/cassette.py:84: in __enter__
return next(self.__finish)
^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/cassette.py:58: in _patch_generator
for patcher in CassettePatcherBuilder(cassette).build():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:129: in
_build_patchers_from_mock_triples
for args in mock_triples:
^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:301: in _aiohttp
from .stubs.aiohttp_stubs import vcr_request
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"""Stubs for aiohttp HTTP clients"""
import asyncio
import functools
import json
import logging
from collections.abc import Mapping
from http.cookies import CookieError, Morsel, SimpleCookie
from aiohttp import ClientConnectionError, ClientResponse, CookieJar,
RequestInfo, hdrs, streams
from aiohttp.helpers import strip_auth_from_url
from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
from yarl import URL
from vcr.errors import CannotOverwriteExistingCassetteException
from vcr.request import Request
log = logging.getLogger(__name__)
> class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E AttributeError: module 'aiohttp.streams' has no attribute
'AsyncStreamReaderMixin'
/usr/lib/python3/dist-packages/vcr/stubs/aiohttp_stubs.py:21: AttributeError
________________________________ test_bad_query ________________________________
async def test_bad_query() -> Any:
"""Test that we can raise on bad query."""
async with aiohttp.ClientSession() as session:
> with VCR.use_cassette("bad_params.yaml"):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_python_awair.py:432:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/vcr/cassette.py:84: in __enter__
return next(self.__finish)
^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/cassette.py:58: in _patch_generator
for patcher in CassettePatcherBuilder(cassette).build():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:129: in
_build_patchers_from_mock_triples
for args in mock_triples:
^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:301: in _aiohttp
from .stubs.aiohttp_stubs import vcr_request
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"""Stubs for aiohttp HTTP clients"""
import asyncio
import functools
import json
import logging
from collections.abc import Mapping
from http.cookies import CookieError, Morsel, SimpleCookie
from aiohttp import ClientConnectionError, ClientResponse, CookieJar,
RequestInfo, hdrs, streams
from aiohttp.helpers import strip_auth_from_url
from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
from yarl import URL
from vcr.errors import CannotOverwriteExistingCassetteException
from vcr.request import Request
log = logging.getLogger(__name__)
> class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E AttributeError: module 'aiohttp.streams' has no attribute
'AsyncStreamReaderMixin'
/usr/lib/python3/dist-packages/vcr/stubs/aiohttp_stubs.py:21: AttributeError
________________________________ test_not_found ________________________________
async def test_not_found() -> Any:
"""Test that we can raise on 404."""
async with aiohttp.ClientSession() as session:
> with VCR.use_cassette("not_found.yaml"):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_python_awair.py:446:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/vcr/cassette.py:84: in __enter__
return next(self.__finish)
^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/cassette.py:58: in _patch_generator
for patcher in CassettePatcherBuilder(cassette).build():
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:129: in
_build_patchers_from_mock_triples
for args in mock_triples:
^^^^^^^^^^^^
/usr/lib/python3/dist-packages/vcr/patch.py:301: in _aiohttp
from .stubs.aiohttp_stubs import vcr_request
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"""Stubs for aiohttp HTTP clients"""
import asyncio
import functools
import json
import logging
from collections.abc import Mapping
from http.cookies import CookieError, Morsel, SimpleCookie
from aiohttp import ClientConnectionError, ClientResponse, CookieJar,
RequestInfo, hdrs, streams
from aiohttp.helpers import strip_auth_from_url
from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
from yarl import URL
from vcr.errors import CannotOverwriteExistingCassetteException
from vcr.request import Request
log = logging.getLogger(__name__)
> class MockStream(asyncio.StreamReader, streams.AsyncStreamReaderMixin):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E AttributeError: module 'aiohttp.streams' has no attribute
'AsyncStreamReaderMixin'
/usr/lib/python3/dist-packages/vcr/stubs/aiohttp_stubs.py:21: AttributeError
=========================== short test summary info ============================
FAILED tests/test_python_awair.py::test_get_user - AttributeError: module 'ai...
FAILED tests/test_python_awair.py::test_custom_auth - AttributeError: module ...
FAILED tests/test_python_awair.py::test_get_devices - AttributeError: module ...
FAILED tests/test_python_awair.py::test_get_local_devices - AttributeError: m...
FAILED tests/test_python_awair.py::test_get_local_backplate_devices - Attribu...
FAILED tests/test_python_awair.py::test_get_latest - AttributeError: module '...
FAILED tests/test_python_awair.py::test_get_latest_local - AttributeError: mo...
FAILED tests/test_python_awair.py::test_get_latest_local_backplate - Attribut...
FAILED tests/test_python_awair.py::test_get_five_minute - AttributeError: mod...
FAILED tests/test_python_awair.py::test_get_fifteen_minute - AttributeError: ...
FAILED tests/test_python_awair.py::test_get_raw - AttributeError: module 'aio...
FAILED tests/test_python_awair.py::test_sensor_creation_gen1 - AttributeError...
FAILED tests/test_python_awair.py::test_sensor_creation_omni - AttributeError...
FAILED tests/test_python_awair.py::test_sensor_creation_mint - AttributeError...
FAILED tests/test_python_awair.py::test_sensor_creation_gen2 - AttributeError...
FAILED tests/test_python_awair.py::test_sensor_creation_glow - AttributeError...
FAILED tests/test_python_awair.py::test_auth_failure - AttributeError: module...
FAILED tests/test_python_awair.py::test_bad_query - AttributeError: module 'a...
FAILED tests/test_python_awair.py::test_not_found - AttributeError: module 'a...
========================= 19 failed, 4 passed in 0.52s =========================
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest -o
asyncio_mode=auto
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14
3.13" --parallel=2 returned exit code 13
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit
status 2
--------------------------------------------------------------------------------
--- End Message ---
--- Begin Message ---
Source: vcr.py
Source-Version: 8.1.1-3
Done: Tianyu Chen <[email protected]>
We believe that the bug you reported is fixed in the latest version of
vcr.py, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Tianyu Chen <[email protected]> (supplier of updated vcr.py package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Wed, 10 Jun 2026 23:22:45 +0800
Source: vcr.py
Architecture: source
Version: 8.1.1-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Tianyu Chen <[email protected]>
Closes: 1139423
Changes:
vcr.py (8.1.1-3) unstable; urgency=medium
.
* Team upload.
* Fix aiohttp 3.14 compatibility. (Closes: #1139423)
* Remove redundant Priority: optional from source stanza.
* Update standards version to 4.7.4, no changes needed.
* Drop redundant Rules-Requires-Root: no.
* Update watchfile to version 5.
Checksums-Sha1:
436bad68860a6f1611c9a69b4c5fbaed7b1587b1 2924 vcr.py_8.1.1-3.dsc
eca5208f9f8cb4d1be7b04fcc38725ffdfa7f82a 8292 vcr.py_8.1.1-3.debian.tar.xz
a6dd032a56ccf482f186aa0b33e3ff37dc19f2ec 9721 vcr.py_8.1.1-3_source.buildinfo
Checksums-Sha256:
9b99bb91300dff296f55593a78544216a3e0354e9762a4bf7859467e495dab16 2924
vcr.py_8.1.1-3.dsc
84744185ba9dda0335a0a3a1fb05f780c39ea7a2e3bcd8f224ec4c3a7a557584 8292
vcr.py_8.1.1-3.debian.tar.xz
2642e269cc949177f9b344193ea5b6e327944d7bcf5aedbc9bf23f524a1a27d0 9721
vcr.py_8.1.1-3_source.buildinfo
Files:
287e6bb7c19594a1a55b5c3ac50e1745 2924 python optional vcr.py_8.1.1-3.dsc
79adaced03be48edd7348036192b22ee 8292 python optional
vcr.py_8.1.1-3.debian.tar.xz
e62fbbde60f97fc6f8c16538ebf93daa 9721 python optional
vcr.py_8.1.1-3_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEiGk+iSMUlxR0m46kHr/P6QviVc0FAmoqpOwACgkQHr/P6Qvi
Vc1s1BAApaH5D6dQhm2dv3fe3FMm7cmoprNpAx6NibOsUpIsQl/D8iGqquwudG77
wF+kv8+UEsbxfoebPqYKjqk+6C9LEl4dPqX/WN7IE0FX/z5WBOggMNfrgArFrHt+
UOKiHXbq7U/PDgygmm7Fs3hdTI60MNCdvW6vN0Y3+ws6NcYRXZmSa1up+YCPeLFh
KfZVfp73FYEdeDK9oxBWfuI48N7b2S9sAH7v9RcsAsoqlyctYMjlEEUsh5tT2zXK
kXX3sqUgMcdbVCFBpD0fsHYlNsv9tu6iMd+mtjBkaCzRCTzK2dlkiod03Y/nHXqu
4qPRDu4TRLvHEvxL+kNGZOVsHbkZ/XgGE6k8xzDBPAs/Aq21aJNp2AhrXvrFiEj+
TaeWWVM0a898BPmmSywVna08XrxgPcA6zaHqgvoMA/yQgasFgDw414+P55kQe1mM
Eerh8XAHANrRzK3aS6oiiybtKX9TJdGo8C0IJaa20tqJSzLJQlY4edvmO35hsall
1Uj0OeqpYZsZE+Zo4booaeagolXUWOFP6eOX5qcLV22Ulvvb9yVrJTfCovdu3n55
bpUFd4Qtb7WboshthE94sYUDjudOp8Xtupos6QX+FESCEcc6Eau/BNuzBhwv9eac
SLlgYlhOpJZFbfasLtwdyXLvy1lCb85TsT8tfc1HLPORM1RUNrA=
=Cf9z
-----END PGP SIGNATURE-----
pgpj1zVN1Ea5U.pgp
Description: PGP signature
--- End Message ---