Package: src:asyncpg
Version: 0.27.0-1
Severity: serious
Control: close -1 0.30.0-1.1
Tags: ftbfs bookworm
Dear maintainer:
During a rebuild of all packages in bookworm, your package failed to build:
[ Note: The bug is closed with the version in trixie/sid, but
packages in bookworm must still build in bookworm ].
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --with python3 --buildsystem=pybuild
dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:240: python3.11 setup.py clean
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build' (and everything under it)
'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.11' does not exist -- can't clean it
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
debian/rules binary
dh binary --with python3 --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
running config
dh_auto_build -O--buildsystem=pybuild
I: pybuild base:240: /usr/bin/python3 setup.py build build_ext --cython-always running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/connection.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/pool.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/cluster.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/types.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/prepared_stmt.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/connect_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/compat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/transaction.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/serverversion.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/connresource.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/introspection.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
copying asyncpg/cursor.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/exceptions
copying asyncpg/exceptions/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/exceptions
copying asyncpg/exceptions/_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/exceptions
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto copying asyncpg/pgproto/types.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/_testbase
copying asyncpg/_testbase/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/_testbase
copying asyncpg/_testbase/fuzzer.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/_testbase
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol copying asyncpg/protocol/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs
copying asyncpg/protocol/codecs/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs
copying asyncpg/pgproto/frb.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/buffer.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/pgproto.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/uuid.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/cpythonx.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/hton.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/__init__.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/pgproto.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/buffer.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/tohex.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/frb.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/debug.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/pgproto/consts.pxi -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto
copying asyncpg/protocol/prepared_stmt.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/coreproto.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/settings.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/scram.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/protocol.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/encodings.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/prepared_stmt.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/settings.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/cpythonx.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/protocol.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/coreproto.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/scram.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/consts.pxi -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/pgtypes.pxi -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol
copying asyncpg/protocol/codecs/range.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs
copying asyncpg/protocol/codecs/array.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs
copying asyncpg/protocol/codecs/base.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs
copying asyncpg/protocol/codecs/textutils.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs
copying asyncpg/protocol/codecs/record.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs
copying asyncpg/protocol/codecs/pgproto.pyx -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs
copying asyncpg/protocol/codecs/base.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/codecs
running build_ext
building 'asyncpg.pgproto.pgproto' extension
creating build
creating build/temp.linux-x86_64-cpython-311
creating build/temp.linux-x86_64-cpython-311/asyncpg
creating build/temp.linux-x86_64-cpython-311/asyncpg/pgproto x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-
time -D_FORTIFY_SOURCE=2 -fPIC -I./asyncpg/pgproto -I/usr/include/python3.11 -c asyncpg/pgproto/pgproto.c -o build/temp.linux-x86_64-cpython-311/asyncpg/pgproto/pgproto.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion
x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 -Wl,-z,relro -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-
cpython-311/asyncpg/pgproto/pgproto.o -L/usr/lib/x86_64-linux-gnu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/pgproto/pgproto.cpython-311-x86_64-linux-gnu.so
building 'asyncpg.protocol.protocol' extension
creating build/temp.linux-x86_64-cpython-311/asyncpg/protocol
creating build/temp.linux-x86_64-cpython-311/asyncpg/protocol/record x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-
time -D_FORTIFY_SOURCE=2 -fPIC -I./asyncpg/pgproto -Iasyncpg/pgproto/ -I/usr/include/python3.11 -c asyncpg/protocol/protocol.c -o build/temp.linux-x86_64-cpython-311/asyncpg/protocol/protocol.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion
x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-
time -D_FORTIFY_SOURCE=2 -fPIC -I./asyncpg/pgproto -Iasyncpg/pgproto/ -I/usr/include/python3.11 -c asyncpg/protocol/record/recordobj.c -o build/temp.linux-x86_64-cpython-311/asyncpg/protocol/record/recordobj.o -O2 -fsigned-char -Wall -Wsign-compare -
Wconversion
asyncpg/protocol/record/recordobj.c: In function ‘record_dealloc’: asyncpg/protocol/record/recordobj.c:101:5: warning: ‘UsingDeprecatedTrashcanMacro’ is deprecated [-Wdeprecated-declarations]
101 | Py_TRASHCAN_SAFE_BEGIN(o)
| ^~~~~~~~~~~~~~~~~~~~~~
x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 -Wl,-z,relro -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-
cpython-311/asyncpg/protocol/protocol.o build/temp.linux-x86_64-cpython-311/asyncpg/protocol/record/recordobj.o -L/usr/lib/x86_64-linux-gnu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build/asyncpg/protocol/protocol.cpython-311-x86_64-linux-gnu.so
dh_auto_test -O--buildsystem=pybuild
I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build; python3.11 -m pytest -k "not test_flake8"
============================= test session starts ==============================
platform linux -- Python 3.11.2, pytest-7.2.1, pluggy-1.0.0+repack
rootdir: /<<PKGBUILDDIR>>
collected 293 items / 1 deselected / 292 selected
tests/test__environment.py ss [ 0%] tests/test_adversity.py ... [ 1%] tests/test_cache_invalidation.py ......... [ 4%] tests/test_cancellation.py .... [ 6%] tests/test_codecs.py .................................... [ 18%] tests/test_connect.py ..............F............................. [ 33%] tests/test_copy.py ....................... [ 41%] tests/test_cursor.py .......... [ 44%] tests/test_exceptions.py ... [ 45%] tests/test_execute.py ................... [ 52%] tests/test_introspection.py ....... [ 54%] tests/test_listeners.py .......... [ 58%] tests/test_pool.py ........................................... [ 72%] tests/test_prepare.py .................................. [ 84%] tests/test_record.py ......................... [ 93%] tests/test_test.py .. [ 93%] tests/test_timeout.py ......... [ 96%] tests/test_transaction.py ...... [ 98%] tests/test_types.py . [ 99%] tests/test_utils.py .. [100%]
=================================== FAILURES ===================================
____________________ TestConnectParams.test_connect_params _____________________
self = <tests.test_connect.TestConnectParams testMethod=test_connect_params>
def test_connect_params(self):
for testcase in self.TESTS:
self.run_testcase(testcase)
tests/test_connect.py:881:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_connect.py:810: in run_testcase
addrs, params = connect_utils._parse_connect_dsn_and_args( asyncpg/connect_utils.py:266: in _parse_connect_dsn_and_args
parsed = urllib.parse.urlparse(dsn) /usr/lib/python3.11/urllib/parse.py:395: in urlparse
splitresult = urlsplit(url, scheme, allow_fragments) /usr/lib/python3.11/urllib/parse.py:516: in urlsplit
_check_bracketed_netloc(netloc)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
netloc = 'user@[2001:db8::1234%25eth0],[::1]'
def _check_bracketed_netloc(netloc):
# Note that this function must mirror the splitting
# done in NetlocResultMixins._hostinfo().
hostname_and_port = netloc.rpartition('@')[2]
before_bracket, have_open_br, bracketed = hostname_and_port.partition('[')
if have_open_br:
# No data is allowed before a bracket.
if before_bracket:
raise ValueError("Invalid IPv6 URL")
hostname, _, port = bracketed.partition(']')
# No data is allowed after the bracket but before the port delimiter.
if port and not port.startswith(":"):
raise ValueError("Invalid IPv6 URL")
E ValueError: Invalid IPv6 URL
/usr/lib/python3.11/urllib/parse.py:451: ValueError
=========================== short test summary info ============================
FAILED tests/test_connect.py::TestConnectParams::test_connect_params - ValueE...
====== 1 failed, 289 passed, 2 skipped, 1 deselected in 61.09s (0:01:01) =======
E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncpg/build; python3.11 -m pytest -k "not test_flake8"
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
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 could not 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:asyncpg, so that this is still
visible in the BTS web page for this package.
Note: The following packages fail in a similar weird way:
asyncpg
python-taskflow
python-w3lib
yarl
Maybe there is a common reason, or maybe the packages need to adapt anyway.
Thanks.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)