From patchwork Wed Nov 4 00:06:25 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 102830 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.3447.1793750797322547467 for ; Tue, 03 Nov 2026 16:06:37 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@konsulko.com header.s=google header.b=oodw3YDL; spf=pass (domain: konsulko.com, ip: 209.85.214.172, mailfrom: tim.orling@konsulko.com) Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2e9d7791b00so881315ad.0 for ; Tue, 03 Nov 2026 16:06:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; t=1793750797; x=1794355597; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=AUw70Yge+8TVjO1iMgrrsL9pycDODoqX4oTggk2Qx4E=; b=oodw3YDL9O2cQe5b0Qgi67/seyIw0NOODv702l3YT/yWNVnWVLtF/+teqWFsnDznHf wXjHFQPOBB/HfYcAa1rfEO5R+VJ9NCiBqV/4925ZBXYTVKzpew8Uol4DIHKRrx1wW8Wc c/8YxGElQJMYV5BQXjPkyRKy5c+liz19LAn3c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793750797; x=1794355597; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=AUw70Yge+8TVjO1iMgrrsL9pycDODoqX4oTggk2Qx4E=; b=QGFp/R6DggjH8klN1GptqP3Hb82e5T87wnWGFoVYMcNpRdN4T5uyXCqZ8cUJnPvcxk WvEFL/e8XAY1DdswPAxXZuA69dLhvU99WUWWRCrbdU+wdMukSM/zJHR0Qiq9Sg/Nd2kn 6MKFr6G+2vewu4phu1XBjmXvQJiHeW09wK0plJIoynYj3dZqmrp4gEGFgFv1Ot2hvccF ckjLDoQKfLFlC2VJKStNih6xWg/B8pB91V5Bk3KIkr32aI6EcVl/cL17wOcurw42NIws cQH5m5UF4/goUMStW0MVaNE79Jk7s4tCbmNoqtmgMDrT5d7E/n59hNxFgC6nuua7BbXM p6EA== X-Gm-Message-State: APuU4Z8Jy/ik5a/wSdLbRP/4TFIpZfR7k+hJOq71pdHI9D107ugCvta7 rONJLKbyGFMhgu2zf71Vz1p9vnO5xl6kGwmZYepp/7eL+bv2+i8AakpWKpSdiCRqYFxIYESGukF TLc1O X-Gm-Gg: AYBFou3MfgH5vInDz7ba5a/EPaE9as93MxK2mKvG4bq/lXc6o6aDNxTSvHR4chP0tbL 5vkGj804uZqp4r8w0fbK+nuqvzKl2tvid1QJyU4lUm/w9wGCAnexydWJa5xY+Gji7t0TU4dXzsL wUpGcmgQ0PNBVHl/52VR5XcP2vqif2i+sm+ptDv694A4KDdpDZ9sepTICqh0eDUrT1GqMI466ND czVpBNiIfQfniKrLLUjzAb8iuT/eeGpCi0JCUBrp23k81Xgk26R1aDOa4TcL8DhuQbifoB+3Vwg qvX4EDL4Hk8STQT3/TBnNdz0bZZkkQmNoHyTpbHDgx90rTYAip39S822/1VlGuKCFdzxmsAeEgu DGbjwDXhWDBVz7qzAfCh/RDpKkyaxLnTDu1a2lMM6bVI88FvmiOQxaErTTs1//PEnluTmn72/u4 PUM1YTWhbT8WEcXyyQTSr9Hi+9HjR1X69K1roJd2ikt41QaFqBQ7K2kxSkGhgaio+Rx5M6Tkx5q CBz0/wdfbqh3LLyp+jhLYsAd5HcfjnbfLd1v1GuvBEPWWV9AAg7hWs+XvdWEK1VrDHx2KgK6E+P DE8uZVOP/RGrA5IAYFFbcBeCjIiSR+YgXqd71yHrnACyBjFi18OlGT7pte86K/+55v3sZSsaFJu fFpmmIYyDGOHUdyFhhOUBuZt/bC8BF/nalgWbzkxamR5Ihd91 X-Received: by 2002:a17:902:e74b:b0:2e5:70cd:b606 with SMTP id d9443c01a7336-2eb364f2b71mr134960955ad.56.1793750796550; Tue, 03 Nov 2026 16:06:36 -0800 (PST) Return-Path: Received: from thetis.home.local ([2606:c800:6024:2000:d453:884b:8607:3eb7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ed088a624esm588985ad.0.2026.11.03.16.06.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Nov 2026 16:06:35 -0800 (PST) From: tim.orling@konsulko.com To: openembedded-core@lists.openembedded.org Cc: tgamblin@baylibre.com, Tim Orling Subject: [PATCH v3 1/5] python3-uvloop: import 0.22.1 from meta-homeassistant Date: Tue, 3 Nov 2026 16:06:25 -0800 Message-ID: <20261104000629.3345377-1-tim.orling@konsulko.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261103193829.1806542-2-tim.orling@konsulko.com> References: <20261103193829.1806542-2-tim.orling@konsulko.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Wed, 04 Nov 2026 00:06:38 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/249309 From: Tim Orling uvloop is an asyncio event loop built on libuv. The python3-websockets test suite exercises it, so bring it into oe-core. Changes from the meta-homeassistant recipe: * Build against the oe-core libuv recipe through setup.cfg, instead of patching setup.py; drop the Cython pin relaxation, since ~=3.1 already allows Cython 3.2. * LICENSE is "Apache-2.0 OR MIT" (dual-licensed upstream), and the vendored libuv licenses are dropped since it is not built. * Drop aiohttp, psutil and pyopenssl from RDEPENDS; they are only test dependencies. Add python3-asyncio. * Move the maintainer entry to maintainers.inc. AI-Generated: Uses Claude Code (Claude Opus 5.5) Signed-off-by: Tim Orling --- No changes in v2 or v3. meta/conf/distro/include/maintainers.inc | 1 + .../0001-setup.cfg-use-system-libuv.patch | 21 +++++++++++++++++++ .../python/python3-uvloop_0.22.1.bb | 17 +++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 meta/recipes-devtools/python/python3-uvloop/0001-setup.cfg-use-system-libuv.patch create mode 100644 meta/recipes-devtools/python/python3-uvloop_0.22.1.bb diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 74db3e44e9..0b2b8c5b8a 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -750,6 +750,7 @@ RECIPE_MAINTAINER:pn-python3-unittest-automake-output = "Ross Burton +Subject: [PATCH] setup.cfg: use system libuv + +Build against the libuv recipe instead of the bundled copy in +vendor/libuv. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Tim Orling +--- + setup.cfg | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/setup.cfg ++++ b/setup.cfg +@@ -1,3 +1,6 @@ ++[build_ext] ++use_system_libuv = 1 ++ + [egg_info] + tag_build = + tag_date = 0 diff --git a/meta/recipes-devtools/python/python3-uvloop_0.22.1.bb b/meta/recipes-devtools/python/python3-uvloop_0.22.1.bb new file mode 100644 index 0000000000..887c262ae7 --- /dev/null +++ b/meta/recipes-devtools/python/python3-uvloop_0.22.1.bb @@ -0,0 +1,17 @@ +SUMMARY = "Fast implementation of asyncio event loop on top of libuv" +HOMEPAGE = "https://github.com/MagicStack/uvloop" +BUGTRACKER = "https://github.com/MagicStack/uvloop/issues" +LICENSE = "Apache-2.0 OR MIT" +LIC_FILES_CHKSUM = "file://LICENSE-APACHE;md5=bb92739ddad0a2811957bd98bdb90474 \ + file://LICENSE-MIT;md5=489c8bc34154e4b59f5c58e664f7d70f" + +DEPENDS += "libuv python3-wheel-native" + +SRC_URI += "file://0001-setup.cfg-use-system-libuv.patch" +SRC_URI[sha256sum] = "6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f" + +inherit pypi python_setuptools_build_meta cython + +RDEPENDS:${PN} = "python3-asyncio" + +BBCLASSEXTEND = "native nativesdk" From patchwork Wed Nov 4 00:06:26 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 102831 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.3448.1793750800506511943 for ; Tue, 03 Nov 2026 16:06:40 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@konsulko.com header.s=google header.b=DaTZcysU; spf=pass (domain: konsulko.com, ip: 209.85.214.177, mailfrom: tim.orling@konsulko.com) Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2e940d5d2beso445665ad.0 for ; Tue, 03 Nov 2026 16:06:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; t=1793750800; x=1794355600; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=yAHB4GIVxjNZ5stHTKb9MFJwvhhlYoaQFdQnyKY3K2Y=; b=DaTZcysU09zgdMTUsExJYCmP1dObAynQ5ZHcB/oCl+59MwqV0SNJkI9JHKxd+vkq2Z r9DBoKIilm8U/kX8Cvxeq7sV/WaNIVpoH7KocI06RQqSu21Z6x3OWCm71PWDO8JQeexk C5AEh7nk7XOra7r7NTM13Y95kOKMKQm0U28nc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793750800; x=1794355600; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=yAHB4GIVxjNZ5stHTKb9MFJwvhhlYoaQFdQnyKY3K2Y=; b=rzx8WoOLz1pXRr9SJCvhOccXDJiolfyoRx0pgmkPYnkJQgNdqQ88Lf2ECbhcW7JtRc lJCWL9xNHOYhWA9W5BieCdfVQx8keX6xXH9BZ9c20TTh+sN182bCU0SmMJYBePRGnTon oJDLzKJnI1a97Ew8MSp44vi7/JkuvB7XuSPzNV86askXH5BLnOn8UAU+hWxp21k0Ru8P DWEUuScKN47o11cx+mvPvIrHI0OsyeM6sBB50DD1SA2H+BB2GIC5r3x1jrCwSc4gPB8d OMZBUKoZpOEd6M3Zb1APu4ycOf6Cm8/sIbTUHSUij8EXedbiAxAO6uYhvuQHv5j8M9sM 7uNA== X-Gm-Message-State: APuU4Z96V6pyjCTkwAubxcEAmzb6otzXlQbF9aPVR1cSAAmikkitembZ tl68yNMftSS3oPTcX+CBmyLQAWP08NW+Q25WafHlVBHCuoD3QrTIj+PDwNpXGy2DZO+SvOjl98Q AXM9s X-Gm-Gg: AYBFou360/LAP7o3jioQM3PiR//iLw8LoJwhSjogGvO+3LIRGzV65MYRkAb/eSybzw7 qNgNCUT0zQShLtXQPeG0nHgBGXMQ2ju4mxTNIDHaiT0OsQwNDHy5QoyxBxkBY+M8AKrNa9FoCeV zVfjW+1xZZT1O5L/jivn8AlNfQovxciBANHrYgZ3d2hkISCupl0jyNHLzEJtJVvWZCXoiqFvQhg zdP+xmABXykF6cI80IXlwrjXZQJIz9f28+oZjhjAoOlPFqrWY13RwGPya2Gw3tkulWFaAdOxdLV CJob/BZaMbqQz6dVMyuOIj4t9tdwIkDYJm8tKVvPpadLPm/uxxzYiDku+H7VvKDqDqvEtVVwhA3 HYxRs7Ffer5QgHKj6IYdpS7a/W+/O0MudGnsr/2YR1fvrJ12NYQR+npYGAxUsUu1NI5pXDkwQrx 4PHPPd3H2j0pb/fkXkebZFZ98nTTXMaKd2ifJMjMrQGp489FF6GMjJApD+kVXN6i0y0T/RVQ1iB UJ3OjJkjNJFd9R+dfGq7kRde7L+XofmbILDhWATglx9df/7u33YqcTuMc8vd3QQR0ENrlad1LJz lITwyghrL1qu0MuzV4uTircP0Nu2ScvRE8eHiNGcbjDhBhw7+BkmoY+WJ7MEzRMWJUeHq+/P7nN PcD5PDQcxZYykrNgoqWOjH+36y2U= X-Received: by 2002:a17:902:ebd1:b0:2e2:d834:a40f with SMTP id d9443c01a7336-2eb363965d7mr133505515ad.9.1793750799764; Tue, 03 Nov 2026 16:06:39 -0800 (PST) Return-Path: Received: from thetis.home.local ([2606:c800:6024:2000:d453:884b:8607:3eb7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ed088a624esm588985ad.0.2026.11.03.16.06.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Nov 2026 16:06:39 -0800 (PST) From: tim.orling@konsulko.com To: openembedded-core@lists.openembedded.org Cc: tgamblin@baylibre.com, Tim Orling Subject: [PATCH v3 2/5] python3-uvloop: enable ptest Date: Tue, 3 Nov 2026 16:06:26 -0800 Message-ID: <20261104000629.3345377-2-tim.orling@konsulko.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261104000629.3345377-1-tim.orling@konsulko.com> References: <20261103193829.1806542-2-tim.orling@konsulko.com> <20261104000629.3345377-1-tim.orling@konsulko.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Wed, 04 Nov 2026 00:06:47 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/249310 From: Tim Orling The sdist ships the test suite. As in the python3 recipe, the recipe lists the tests to skip in SKIPPED_TESTS and writes them into run-ptest: * tests that conflict with pytest's output capture; * tests broken by libuv 1.53.0 spawning with posix_spawn() on Linux, which bypasses uvloop's preexec_fn fork hook; * DNS tests that wait for resolver timeouts without network access, which took the suite from 1 to 10 minutes over tap without NAT; * on riscv64 only (an override), TLS stress tests, the issue39 deadlock check and a socket cancellation test, whose fixed timeouts are too short for qemu without KVM. .flake8 and mypy.ini let test_sourcecode skip cleanly when flake8 and mypy are missing. Tested with core-image-ptest-python3-uvloop on qemux86-64 and qemuriscv64. It takes over 30 seconds, so add it to PTESTS_SLOW. AI-Generated: Uses Claude Code (Claude Opus 5.5) Signed-off-by: Tim Orling --- Changes in v3: - Keep the skip list in the recipe as SKIPPED_TESTS, as python3 does, with the riscv64 tests in an override instead of a uname check - Rename KEEP to DNS_FILTER and explain why -k handles test_getaddrinfo_{1,2} Changes in v2: - Skip 13 timing sensitive tests on riscv64 only, covering the qemuriscv64 AutoBuilder failures plus their counterparts in the other event loop class and test_socket_cancel_sock_sendall, found in 10 runs under load - Build the -k expression in a loop to fix patchtest's line length check - Drop the test counts from the commit message .../distro/include/ptest-packagelists.inc | 1 + .../python/python3-uvloop/run-ptest | 11 +++ .../python/python3-uvloop_0.22.1.bb | 78 ++++++++++++++++++- 3 files changed, 88 insertions(+), 2 deletions(-) create mode 100755 meta/recipes-devtools/python/python3-uvloop/run-ptest diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc index bef45bb4d5..50b971bace 100644 --- a/meta/conf/distro/include/ptest-packagelists.inc +++ b/meta/conf/distro/include/ptest-packagelists.inc @@ -154,6 +154,7 @@ PTESTS_SLOW = "\ python3-click \ python3-cryptography \ python3-numpy \ + python3-uvloop \ python3-xmltodict \ strace \ tar \ diff --git a/meta/recipes-devtools/python/python3-uvloop/run-ptest b/meta/recipes-devtools/python/python3-uvloop/run-ptest new file mode 100755 index 0000000000..04716fe101 --- /dev/null +++ b/meta/recipes-devtools/python/python3-uvloop/run-ptest @@ -0,0 +1,11 @@ +#!/bin/sh +# The recipe fills in SKIPPED_TESTS. +SKIPPED_TESTS= +# test_getaddrinfo_{1,2} wait for the resolver timeout without network access. +# --deselect and -k would also drop test_getaddrinfo_1x and _2x, so exclude +# 1 and 2 with -k and add the rest back. +DNS_FILTER="not (test_getaddrinfo_1 or test_getaddrinfo_2)" +for n in 10 11 12 13 14 15 16 17 18 19 20 21 22; do + DNS_FILTER="$DNS_FILTER or test_getaddrinfo_$n" +done +pytest --automake $SKIPPED_TESTS -k "$DNS_FILTER" diff --git a/meta/recipes-devtools/python/python3-uvloop_0.22.1.bb b/meta/recipes-devtools/python/python3-uvloop_0.22.1.bb index 887c262ae7..e414f2b470 100644 --- a/meta/recipes-devtools/python/python3-uvloop_0.22.1.bb +++ b/meta/recipes-devtools/python/python3-uvloop_0.22.1.bb @@ -7,11 +7,85 @@ LIC_FILES_CHKSUM = "file://LICENSE-APACHE;md5=bb92739ddad0a2811957bd98bdb90474 \ DEPENDS += "libuv python3-wheel-native" -SRC_URI += "file://0001-setup.cfg-use-system-libuv.patch" +SRC_URI += "\ + file://0001-setup.cfg-use-system-libuv.patch \ + file://run-ptest \ +" SRC_URI[sha256sum] = "6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f" -inherit pypi python_setuptools_build_meta cython +inherit pypi python_setuptools_build_meta cython ptest-python-pytest RDEPENDS:${PN} = "python3-asyncio" +RDEPENDS:${PN}-ptest += "\ + python3-ctypes \ + python3-io \ + python3-logging \ + python3-math \ + python3-multiprocessing \ + python3-netclient \ + python3-numbers \ + python3-pickle \ + python3-pprint \ + python3-psutil \ + python3-pyopenssl \ + python3-threading \ +" + +# These replace the stdout/stderr fds, which conflicts with pytest's output +# capture +SKIPPED_TESTS = "\ + --deselect=tests/test_process.py::Test_UV_Process::test_process_streams_redirect \ + --deselect=tests/test_process.py::Test_AIO_Process::test_process_streams_redirect \ +" + +# libuv 1.53.0 spawns with posix_spawn(), so preexec_fn never runs, and an +# empty host gives EAI_NODATA +SKIPPED_TESTS += "\ + --deselect=tests/test_process.py::Test_UV_Process::test_process_preexec_fn_1 \ + --deselect=tests/test_process.py::Test_UV_Process::test_process_preexec_fn_2 \ + --deselect=tests/test_dns.py::Test_UV_DNS::test_getaddrinfo_8 \ + --deselect=tests/test_dns.py::Test_UV_DNS::test_getaddrinfo_9 \ +" + +# Each DNS lookup waits for the resolver timeout without network access. +# run-ptest handles test_getaddrinfo_{1,2}. +SKIPPED_TESTS += "\ + --deselect=tests/test_dns.py::Test_UV_DNS::test_getaddrinfo_3 \ + --deselect=tests/test_dns.py::Test_UV_DNS::test_getaddrinfo_5 \ + --deselect=tests/test_dns.py::Test_UV_DNS::test_getaddrinfo_6 \ + --deselect=tests/test_dns.py::Test_UV_DNS::test_getaddrinfo_11 \ + --deselect=tests/test_dns.py::Test_AIO_DNS::test_getaddrinfo_3 \ + --deselect=tests/test_dns.py::Test_AIO_DNS::test_getaddrinfo_5 \ + --deselect=tests/test_dns.py::Test_AIO_DNS::test_getaddrinfo_6 \ + --deselect=tests/test_dns.py::Test_AIO_DNS::test_getaddrinfo_8 \ + --deselect=tests/test_dns.py::Test_AIO_DNS::test_getaddrinfo_9 \ + --deselect=tests/test_dns.py::Test_AIO_DNS::test_getaddrinfo_11 \ +" + +# qemu runs without KVM on riscv64, too slow for the fixed timeouts in the TLS +# stress tests, the issue39 deadlock check (signal.alarm(5)) and +# test_socket_cancel_sock_sendall, which must cancel within 0.2s +SKIPPED_TESTS:append:riscv64 = " \ + --deselect=tests/test_tcp.py::Test_UV_TCPSSL::test_create_connection_ssl_1 \ + --deselect=tests/test_tcp.py::Test_UV_TCPSSL::test_create_server_ssl_over_ssl \ + --deselect=tests/test_tcp.py::Test_UV_TCPSSL::test_renegotiation \ + --deselect=tests/test_tcp.py::Test_AIO_TCPSSL::test_create_connection_ssl_1 \ + --deselect=tests/test_tcp.py::Test_AIO_TCPSSL::test_create_server_ssl_over_ssl \ + --deselect=tests/test_tcp.py::Test_AIO_TCPSSL::test_renegotiation \ + --deselect=tests/test_unix.py::Test_UV_UnixSSL::test_create_unix_connection_ssl_1 \ + --deselect=tests/test_unix.py::Test_UV_UnixSSL::test_create_unix_server_ssl_1 \ + --deselect=tests/test_unix.py::Test_AIO_UnixSSL::test_create_unix_connection_ssl_1 \ + --deselect=tests/test_unix.py::Test_AIO_UnixSSL::test_create_unix_server_ssl_1 \ + --deselect=tests/test_regr1.py::TestIssue39Regr::test_issue39_regression \ + --deselect=tests/test_sockets.py::TestUVSockets::test_socket_cancel_sock_sendall \ + --deselect=tests/test_sockets.py::TestAIOSockets::test_socket_cancel_sock_sendall \ +" + +do_install_ptest:append() { + # test_sourcecode needs these to skip cleanly when flake8 and mypy are missing + install -m 0644 ${S}/.flake8 ${S}/mypy.ini ${D}${PTEST_PATH}/ + sed -i -e "s|^SKIPPED_TESTS=$|SKIPPED_TESTS=\"${SKIPPED_TESTS}\"|" ${D}${PTEST_PATH}/run-ptest +} + BBCLASSEXTEND = "native nativesdk" From patchwork Wed Nov 4 00:06:27 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 102832 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.3449.1793750802734086961 for ; Tue, 03 Nov 2026 16:06:42 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@konsulko.com header.s=google header.b=FRlkKZ/G; spf=pass (domain: konsulko.com, ip: 209.85.216.46, mailfrom: tim.orling@konsulko.com) Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-3ad41b47541so153982a91.1 for ; Tue, 03 Nov 2026 16:06:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; t=1793750802; x=1794355602; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=QLSlCqjgjc9HeOKNswVsGYYSGgtNRl6bbcpseGUmw4c=; b=FRlkKZ/GAt7iUWXgxN4OFd0oi4pti1KY0/tpUO1ATq1OOHxN9abfc11Dn8w5Br3XNh rloKR7vpISaEXBZrQVYfGQuyNkt8sYDZB4RHMI/OrCD8Csg525xXcodlccHqAnldd7jv pY3f7nvvpN99Iv2KZEY+Xmvm+Rkmx5z7MFOmM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793750802; x=1794355602; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=QLSlCqjgjc9HeOKNswVsGYYSGgtNRl6bbcpseGUmw4c=; b=pNnbVDLLMPxDmmomAao6tcYLoIJ6zdr2oKPj3OtwMVr8+jrbGNBtOx6JDGhXaK9Fpa RlfG/gmxuAVOd17lCpNe8zxMPmMKKEuJ8+nvG0HIvqNT23tajLgJQrNBmXaiN81HodwB VcCXm+BChCrxIzbNiaQUZXOpFkG2uVmzrQyPO8Li4ya9MZ9lQgeEG/FiJu3aPdYKmJfE Ira+3ZRs6lbFACrxHVXlmkm6EZd1P1fTqE4OBL6BztT99gcHUYLotaYjo0PnLnze6qxX 8mq0/jXqIzRtjY5LOqFBN/4ROYjwhdUYPkTDpWAEkzEjxnDAMiLbjpVkfZu+JzYgyLAU BpBQ== X-Gm-Message-State: APuU4Z9h0+Lp3XR0RuKhT/QZscTygodHHnc3vzRHN6iZAlvMSVyvWHLU Ge+LXzixYTfyd8hrztq9vmuiASgb8nLYwZjZjT4gH2BuniN9dI47ki7+/vSpZkawSOs6zKMdYsy TDppN X-Gm-Gg: AYBFou0YbJGzSuC+6dLQmBwjRZFu3ROS26FzHSErozQ31M97SrrnyspJWP2axv5HJU9 1lq0oXZNo0yOOVc9uLR3sFS7RKsm6Pbr7TJIQFfd6QIe1HL1mINThl2jCRekMXmzln/YqQEZHfJ J8E92RpP2q551i2XX/qLj1fXSIo7H+sZxlOZVKVTxuZpXa425jydkc0bSi3aEdmE6OOo0fjNRRj yY5bcse/gkOEYSo6OqABaAPJLelUEMPIS4CDV7CHmNBef6HBs5zGRSkZT8hACBb7GlKu2Rm//6E 1EPflpUacqrJ8D3XOpzeMT6B7TWNzM7xnNOfceyobKUuOwLKYMrjGJzbymZPoPhCFmBRuDjAyd+ w0DikCq5sXf4rRJ89id6CvCyvQ0GuBqbpxuKxai0U3tTL+fF54iCspQAJSMQEfGoPLZ/liMt+Pv KpuWdntAe2qqkGAF1m9gvW2JsYYdxdGZI18cZoR2PWZWfCS0gXXG9H+pTU+yAxTcKuS3raYADIh V6YW/YOrjiKyWzWZmXPL7+teD4ovnEqMqL92P1xvj7PPQxJaIKBL4A9F7EUhRu345tbPr7f14kP UgbmBKZMS8tCzFk6Vs2UtJhzGveulQuNfkoK1odT47wMqy0y5Pqp3ic4D8mE9dQxTQH5O6d0UT4 X/S4OUg81haidt1L6ro03rSwZto0= X-Received: by 2002:a17:90b:5686:b0:3ac:9c37:9430 with SMTP id 98e67ed59e1d1-3ae89724b1dmr12188501a91.21.1793750801967; Tue, 03 Nov 2026 16:06:41 -0800 (PST) Return-Path: Received: from thetis.home.local ([2606:c800:6024:2000:d453:884b:8607:3eb7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ed088a624esm588985ad.0.2026.11.03.16.06.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Nov 2026 16:06:41 -0800 (PST) From: tim.orling@konsulko.com To: openembedded-core@lists.openembedded.org Cc: tgamblin@baylibre.com, Tim Orling Subject: [PATCH v3 3/5] python3-uvloop: upgrade 0.22.1 -> 0.23.0 Date: Tue, 3 Nov 2026 16:06:27 -0800 Message-ID: <20261104000629.3345377-3-tim.orling@konsulko.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261104000629.3345377-1-tim.orling@konsulko.com> References: <20261103193829.1806542-2-tim.orling@konsulko.com> <20261104000629.3345377-1-tim.orling@konsulko.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Wed, 04 Nov 2026 00:06:47 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/249311 From: Tim Orling Upstream replaced the wheel build dependency with packaging. https://github.com/MagicStack/uvloop/releases/tag/v0.23.0 https://github.com/MagicStack/uvloop/compare/v0.22.1...v0.23.0 Tested with core-image-ptest-python3-uvloop on qemux86-64 and qemuriscv64. AI-Generated: Uses Claude Code (Claude Opus 5.5) Signed-off-by: Tim Orling --- Changes in v3: none Changes in v2: - Drop the test counts from the commit message .../{python3-uvloop_0.22.1.bb => python3-uvloop_0.23.0.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename meta/recipes-devtools/python/{python3-uvloop_0.22.1.bb => python3-uvloop_0.23.0.bb} (96%) diff --git a/meta/recipes-devtools/python/python3-uvloop_0.22.1.bb b/meta/recipes-devtools/python/python3-uvloop_0.23.0.bb similarity index 96% rename from meta/recipes-devtools/python/python3-uvloop_0.22.1.bb rename to meta/recipes-devtools/python/python3-uvloop_0.23.0.bb index e414f2b470..3aa5e2fbe9 100644 --- a/meta/recipes-devtools/python/python3-uvloop_0.22.1.bb +++ b/meta/recipes-devtools/python/python3-uvloop_0.23.0.bb @@ -5,13 +5,13 @@ LICENSE = "Apache-2.0 OR MIT" LIC_FILES_CHKSUM = "file://LICENSE-APACHE;md5=bb92739ddad0a2811957bd98bdb90474 \ file://LICENSE-MIT;md5=489c8bc34154e4b59f5c58e664f7d70f" -DEPENDS += "libuv python3-wheel-native" +DEPENDS += "libuv python3-packaging-native" SRC_URI += "\ file://0001-setup.cfg-use-system-libuv.patch \ file://run-ptest \ " -SRC_URI[sha256sum] = "6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f" +SRC_URI[sha256sum] = "28d160f51ab4da3b187063652e643dea6831072add4adc1e6d62afbe73b6be27" inherit pypi python_setuptools_build_meta cython ptest-python-pytest From patchwork Wed Nov 4 00:06:28 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 102833 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.3532.1793750805297069349 for ; Tue, 03 Nov 2026 16:06:45 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@konsulko.com header.s=google header.b=FQWfaBKJ; spf=pass (domain: konsulko.com, ip: 209.85.214.171, mailfrom: tim.orling@konsulko.com) Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2e7e742a2c7so381485ad.0 for ; Tue, 03 Nov 2026 16:06:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; t=1793750805; x=1794355605; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=aASdy4wuXrbU7Wp8eYSSURymXzbRt35Q4TgVifCKDNk=; b=FQWfaBKJiB+mHkSZmP7Yw2NPJq96lM4VYgR1ZDBhFhwuifMJv10QIjGRjC8r8pooRX gtWicUF9c2cVU3kke58E2sA+vcGM9zKs92xiyt+IXc2s+fVqgQot5atjSMaytrv6X2y3 qzzhZvMIVubcCHQ16KnMuhgD3xY/z+11AxFQk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793750805; x=1794355605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=aASdy4wuXrbU7Wp8eYSSURymXzbRt35Q4TgVifCKDNk=; b=ymHrUpBMmlqVZe/PbQ/gF60XEINKfkfbRfxg7BiT6SROrQEZHvpBJH2zV5B8hOaadr QQVRyWeiKc00M5keTEs5SaG6Sz63Y5g3wEdZe2C9Ne43I4o4WAopbKh0XIxvUKa9IVQa skediOKyYnpvxke9l2fTeKo/QCl9k39o6eghhd5vKfonD9YfCfjvHZ3SsArT8puEm4Ue 3w/5yy9DsnoSvGiGlhwKK0g9p92nuEHlbK/cDZ+HTHIK2flNc1suu2bS1Mu9891SmtoL RjYI4cbiyEmRrNuVu722iiunpv5wFPhDkQNhDSRIWjan5UsvHAqVx0p5uri6a7r2gtO9 SmJQ== X-Gm-Message-State: APuU4Z+p2d7jZhbN4l5b1LRvd/I5oa5YBVCvzRJi9L0oqrvanSjGED54 RjkUuYN+p3Oep8mY+SbNX5KI371UPRN/PuQxRTIUDH5Yzq3R2AFgAb+1dP5p1RP1wNBiZX69BGk 7Z3Qy X-Gm-Gg: AYBFou0NPxLrFDP6CsKyCTLDIHSs452IMhYO6s8cEI+lmWRCRc/9jJczVIdJJv3cePu o7L188w+oDoX7V1o2e1M4kYkdsDM9OVVyDNfTtzOT0Mv4fbBogMDiT34mqXB9+LvZdD0zBqsNuu IhQrsmXBSJBEfm+viRCKk+L5HrTJ+cN9e1oWYkCPGy7kkZIj/esZlS3hSFkpwu4Gb6hzoiIR/dJ 3bUuP5bS3nnvxDFqRb8mTqnq+7mnAbQwOUlWtuUYpjFnabOdE5w4SxGfxn+v1YAjCfh3S153Gyf tFTcgNALz2ERtpZ4+9qqaUirGpd0qy6Y1FEhf3NZgyn+xFjD5MBs45iIoPfyhyzBqzg97mmITaz USCTNKqo4ietT2Y3/4wJtt/WCN7LeHg6CNG69Ul2SFpsIjVPVMrZGpR+KEPx9mj8ceVcckeODaM LsBBIg3M6K14vGjoefTDpKuus7pfkL0+Qr9jv+0FwLb6Ksgrj8PXbY0qzmpXNLBt0kf3RYy53z6 Z/VsN0zKjZJyiFBoY2RwEjXsm9lQiVHSru5B774fp//mA533jnlmwOTVQWVD6b9NTpDyizl2Osk xgg16jO/ORflSN5laE9lfIqY5KnEx0HyH9ZPq7xX6nQmgPp7ycDhlfzi4J1/aq5GE7FP/xG/FSJ Mu+oiIfwy/KGDNIRt0aFxEmuAhHY= X-Received: by 2002:a17:903:32c3:b0:2e9:484d:693 with SMTP id d9443c01a7336-2eb1aab52d9mr123449925ad.5.1793750804605; Tue, 03 Nov 2026 16:06:44 -0800 (PST) Return-Path: Received: from thetis.home.local ([2606:c800:6024:2000:d453:884b:8607:3eb7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ed088a624esm588985ad.0.2026.11.03.16.06.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Nov 2026 16:06:44 -0800 (PST) From: tim.orling@konsulko.com To: openembedded-core@lists.openembedded.org Cc: tgamblin@baylibre.com, Tim Orling Subject: [PATCH v3 4/5] python3-websockets: enable ptest; use git fetcher Date: Tue, 3 Nov 2026 16:06:28 -0800 Message-ID: <20261104000629.3345377-4-tim.orling@konsulko.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261104000629.3345377-1-tim.orling@konsulko.com> References: <20261103193829.1806542-2-tim.orling@konsulko.com> <20261104000629.3345377-1-tim.orling@konsulko.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Wed, 04 Nov 2026 00:06:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/249312 From: Tim Orling The PyPI sdist prunes tests/, so fetch the 17.1 tag from git. This re-enables ptest, reverted in a0488f2e1d when the sdist dropped the tests. Upstream advises packagers against running the suite because timeout tests can flake on slow build farms; under ptest it runs on the target, and it passed repeatedly on qemux86-64. tests/trio is ignored because python3-trio is not in oe-core. python3-misc provides tracemalloc for the test utilities. Set CVE_PRODUCT to the NVD websockets_project:websockets, since the pypi default no longer applies and never matched. Tested with core-image-ptest-python3-websockets on qemux86-64. It takes over 30 seconds, so add it to PTESTS_SLOW. AI-Generated: Uses Claude Code (Claude Opus 5.5) Signed-off-by: Tim Orling --- Changes in v3: none Changes in v2: - Drop the test counts from the commit message meta/conf/distro/include/ptest-packagelists.inc | 1 + .../python/python3-websockets/run-ptest | 3 +++ .../python/python3-websockets_17.1.bb | 15 +++++++++++++-- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100755 meta/recipes-devtools/python/python3-websockets/run-ptest diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc index 50b971bace..7ec75757bc 100644 --- a/meta/conf/distro/include/ptest-packagelists.inc +++ b/meta/conf/distro/include/ptest-packagelists.inc @@ -155,6 +155,7 @@ PTESTS_SLOW = "\ python3-cryptography \ python3-numpy \ python3-uvloop \ + python3-websockets \ python3-xmltodict \ strace \ tar \ diff --git a/meta/recipes-devtools/python/python3-websockets/run-ptest b/meta/recipes-devtools/python/python3-websockets/run-ptest new file mode 100755 index 0000000000..a71ba0b951 --- /dev/null +++ b/meta/recipes-devtools/python/python3-websockets/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +# tests/trio requires python3-trio, which is not in oe-core +pytest --automake --ignore=tests/trio diff --git a/meta/recipes-devtools/python/python3-websockets_17.1.bb b/meta/recipes-devtools/python/python3-websockets_17.1.bb index b5ee3ec661..d1bec373e0 100644 --- a/meta/recipes-devtools/python/python3-websockets_17.1.bb +++ b/meta/recipes-devtools/python/python3-websockets_17.1.bb @@ -4,12 +4,23 @@ HOMEPAGE = "https://github.com/aaugustin/websockets" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=51924a6af4495b8cfaee1b1da869b6f4" -inherit pypi python_setuptools_build_meta +# The PyPI sdist prunes tests, so fetch from git for ptest +SRC_URI = "\ + git://github.com/python-websockets/websockets;branch=main;protocol=https;tag=${PV} \ + file://run-ptest \ +" +SRCREV = "e87ea9be0373edd5065b5e94dfa714cfde23023b" + +CVE_PRODUCT = "websockets_project:websockets" -SRC_URI[sha256sum] = "acfea4c20bf54384883ea33b1240fc1db4f52e190823a4e2b334bc3e8bfca96a" +inherit python_setuptools_build_meta ptest-python-pytest BBCLASSEXTEND = "native nativesdk" RDEPENDS:${PN} = " \ python3-asyncio \ " + +RDEPENDS:${PN}-ptest += "\ + python3-misc \ +" From patchwork Wed Nov 4 00:06:29 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 102834 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.3450.1793750807734291127 for ; Tue, 03 Nov 2026 16:06:47 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@konsulko.com header.s=google header.b=CUT5Z6Wn; spf=pass (domain: konsulko.com, ip: 209.85.214.181, mailfrom: tim.orling@konsulko.com) Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2e987b4a710so6891065ad.1 for ; Tue, 03 Nov 2026 16:06:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; t=1793750807; x=1794355607; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=+tjvmJUpqPcMh6D8tR2G+c6dV01mUh6m6gPvVBe58Pc=; b=CUT5Z6WnaMm/mSJPqkaFGW3zlVGFVHcsIf4/8za9Tg6CjEZWXvcACqipzN6k+N3LXs 60JtxHbX9AlZ15rk5eQdJMdjEj88ocGlydJPMSSWpmcFvUsMCb5pnlBr73UpAj5CJk3h 3YAacLzxydKLgdoPxuNeDEf9dNF5jDgMgrGcc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793750807; x=1794355607; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=+tjvmJUpqPcMh6D8tR2G+c6dV01mUh6m6gPvVBe58Pc=; b=Ke2UNtbIRRL3ax2vexkwHCnwoO3XbdXwPZc5TVS40Mss4WAEFcZoxBLI0aAVHif4pF /IDZGvPOyNaBLcr/ETk9XnG/EEh3RQ7LNgQp4HRGCXHllzN8+Y/q02jgqNMa6X3uf++j 7GXYEkfbD3l9dY0mzGnvIt+sn2y7sMgi8Ve2leDyOS7YDOGvOQlvDuaMx9TpdIp6b9Js MyPLoQkaZjkKAF/GJyuua1lDNpZnirgH47+aD1ckrLRkfcHweS8EVWZgOcEBPgippJsd IIIL64rx1kw/z6OvY9vsSdaz1ic77qfT2JgmTBH7UMKkaHZ/sQfuwmN7GkEnhvFeJAuf QNvQ== X-Gm-Message-State: APuU4Z+fdLf6H+rXgm+ykjzzv+xV9prailrBttTm8NnKXAKwVhAYghKi 3T1mcT40DDNQWLeMDP+IlJeZe7r9IoiqZgoF7BCWCgxvyVCmMDw3IszODRvJZY/XhnUQOpSIsAv 5BDcl X-Gm-Gg: AYBFou1I0W76PtOWxRO9OroY/XL/NW1Ee85kp8H5ja9Ad+RvlQMl9JNbPzfA4Vxsu3q Smdz5sv5UROIB0iT8KykmOUA2KKR+egM/1MWS8ME7umxKlW5x43IO3RTRK802WsAivH5FASYt4W u7E0tk0R/kWluFQkujKB9XEMgyikXr9LI33WF+83358wNUMeJRwlP7eTb0fsEdF7Mz0u/uJSv3L 7O3XCIC096D48/QGIzd54E+8DPSoJVz/ZMAkdLASyh/xd7GJmo7wIe1/tGRfLJW3zerN4HttoQi 2udm0oa1ntn+l5tzFo6Nd18SA7CNbLCIi6G0qJWoKGaHrY352H0zCcg3kABQ/63D0OFiIzc8pDW Ahz/vX2bFYdgjYYPsOdcFMNHVkqKajwQkVcg+dVzjhyj6WBOfAVnHNbwUuAxtrIi3EHAyJhtSt3 ufo5VK0Xl1KZKNNvYlwsvMtMmnACIffuIRvIiDg0a4orpv/JS1MRxdLAp0WGmsNFLI2Gs66GTOA LJZnkDNE8bCx6WD+M6fQXLflcnLP6LpnDbpw9zLwWkZTUTnc6rDIJ/2Mp9k7rFXPVKTaK7CsLgp IZPgigyrC+qySPgdRnZti6CEx1alHEL5z2MhiCj6QKDTsARwDXhTzwUbmLTovYiJ880fS7494Wb ApJMescIKxWcVCrC7pBhNNtC3+jc= X-Received: by 2002:a17:902:d2cd:b0:2e9:5d1f:dfee with SMTP id d9443c01a7336-2eb364d1483mr96737025ad.25.1793750807075; Tue, 03 Nov 2026 16:06:47 -0800 (PST) Return-Path: Received: from thetis.home.local ([2606:c800:6024:2000:d453:884b:8607:3eb7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ed088a624esm588985ad.0.2026.11.03.16.06.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Nov 2026 16:06:46 -0800 (PST) From: tim.orling@konsulko.com To: openembedded-core@lists.openembedded.org Cc: tgamblin@baylibre.com, Tim Orling Subject: [PATCH v3 5/5] python3-websockets: upgrade 17.1 -> 17.4 Date: Tue, 3 Nov 2026 16:06:29 -0800 Message-ID: <20261104000629.3345377-5-tim.orling@konsulko.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20261104000629.3345377-1-tim.orling@konsulko.com> References: <20261103193829.1806542-2-tim.orling@konsulko.com> <20261104000629.3345377-1-tim.orling@konsulko.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Wed, 04 Nov 2026 00:06:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/249313 From: Tim Orling 17.4 fixes a denial of service by memory exhaustion: recv() now rejects fragmented messages split into more than 4096 frames (tunable via WEBSOCKETS_MAX_FRAGMENTS). 17.2 and 17.3 are bug fix releases. 17.3 added uvloop variants of the asyncio tests, so add python3-uvloop to the ptest dependencies. https://websockets.readthedocs.io/en/stable/project/changelog.html https://github.com/python-websockets/websockets/compare/17.1...17.4 Tested with core-image-ptest-python3-websockets on qemux86-64 and qemuriscv64. AI-Generated: Uses Claude Code (Claude Opus 5.5) Signed-off-by: Tim Orling --- Changes in v3: none Changes in v2: - Drop the test counts from the commit message .../{python3-websockets_17.1.bb => python3-websockets_17.4.bb} | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename meta/recipes-devtools/python/{python3-websockets_17.1.bb => python3-websockets_17.4.bb} (89%) diff --git a/meta/recipes-devtools/python/python3-websockets_17.1.bb b/meta/recipes-devtools/python/python3-websockets_17.4.bb similarity index 89% rename from meta/recipes-devtools/python/python3-websockets_17.1.bb rename to meta/recipes-devtools/python/python3-websockets_17.4.bb index d1bec373e0..a2357ebee6 100644 --- a/meta/recipes-devtools/python/python3-websockets_17.1.bb +++ b/meta/recipes-devtools/python/python3-websockets_17.4.bb @@ -9,7 +9,7 @@ SRC_URI = "\ git://github.com/python-websockets/websockets;branch=main;protocol=https;tag=${PV} \ file://run-ptest \ " -SRCREV = "e87ea9be0373edd5065b5e94dfa714cfde23023b" +SRCREV = "625a59ed613ac60e60d577dd64b8641d59ecb2b1" CVE_PRODUCT = "websockets_project:websockets" @@ -23,4 +23,5 @@ RDEPENDS:${PN} = " \ RDEPENDS:${PN}-ptest += "\ python3-misc \ + python3-uvloop \ "