From patchwork Sat Sep 12 23:51:36 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 98096 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 04B99C88E53 for ; Sat, 12 Sep 2026 23:51:51 +0000 (UTC) Received: from mail-pz2-f12.google.com (mail-pz2-f12.google.com [74.125.228.12]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.16568.1789257105775887830 for ; Sat, 12 Sep 2026 16:51:45 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=F7F8F87E; spf=pass (domain: gmail.com, ip: 74.125.228.12, mailfrom: raj.khem@gmail.com) Received: by mail-pz2-f12.google.com with SMTP id 41be03b00d2f7-cc4aa0f1766so566596a12.0 for ; Sat, 12 Sep 2026 16:51:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789257105; x=1789861905; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=gIlSg1sDcIyfJJfNlVA453Qun8wNaJXnSQcrDz/QXlM=; b=F7F8F87ECrAKyrneiHgnrNYtQeQ8r5dFk3Mnn4EWIfwqxlZ3cmIdeGRiOmvQm3mWaF RLN1qTIyly4ek6wrJv8tVWZLecMRcG/T84Uv3idtX8oRbm33PSl+6jQbjiCCWTogwP34 3IT9A2WqM+S61U5Zy4yPIFC6L1rZTaSMA+jorvuWcHK+NRhAv1Bi47WUWZooASoXEhRj vlOtkyHMyNsD2xUGrfIioSi9ZNDuMNCosck4t+aRevBZZLUxSmCszI2K4TU+o1Igl371 cyoZgYauJBopmdIpMHNvCP6CCN3RRnuk5NHoaxY9JyCq5Y/G5teZYZETAeX4xTJxMbxN fm9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789257105; x=1789861905; h=content-transfer-encoding:mime-version: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=gIlSg1sDcIyfJJfNlVA453Qun8wNaJXnSQcrDz/QXlM=; b=sTu8j0mfur4MLVo8cP+bgPRR9KB2+rUeGzrtBOGoPGohbvhb7+NE9rJmuvabKykgTJ rF8IBChDT7MDe757ycUIWdHxHOfOKfZayErrBYTqp0Scn69kR73QZr+VjxUNykf/urJb niIijzojqDQWZbXmx/3fR7KxguJs9WR2rT5gmuv+pyQ6drFcd3ywTxkPQPftE14my7aF DhleW3yHOaWAoj5bS2GfvF30x+SgzI4RvsEWZGU6k7P8kQf4drG/yhn+Yb4+twquJ64c 4u/9zdinnVZQOqGRcRWgvC4e469+j4acZ+AkoVn6jdsePKEOFEDNWVtB44Rio9HOWevw ty/A== X-Gm-Message-State: AFuF++ndotp4E7VcOQ1aN0otBklojAcLnchc+9JpHSChQJ51qAIemsY5 kf0fyioFAkTXZGdUgYnlN9INx9J70fgEFpoWsEH6NqRFWn+GlCnqPGtqnzPkkw== X-Gm-Gg: AYBFou2gttH2DqA9SfoswQGwQ1+Bv2sj/CocM5guJK+k2xW3uWMgqDYkUDrdTBDpwZS IfltD+u2JS5aeJH7ka2aGIe8+ITbDPblaoxm7cyXScXAHtn2+ijmPPVIUFmk0EJZCPEQctXsxke L+ANCwWqFy661H0aGY54vFVjIgiJvrIQ87CoqaFSXOFkA5BxbU7lJ9ywpc5+PQrtM5IOprUuUaL axWdwdShl7DC5HdwwBLiqLUS9OwTENkv5wfunk39s/WO7zMeDgAZCC+pNAdeipb0cizhRymoi8L JBVgs/NYeCsYpSL/pUVREfl+kBBze6MgyyHY3OxfHbd/emrcs1CSTtlfitYlTuJRi5DxuMpyH1a OLG6M+YlE35TANeNOKMuzq0EWngEkJ/STVLi4Ry9ndDmfPxltq3FyIduTKpR2eoO8wGVKJ4RYFj ohh8OwZhkrR7PtGqeUViUZXQprbZ+Z5yKN7/Ot5zbE6hw9swpI3/b/OdKA5GGL4k0VpsZ122hPx YsFo9wz1yEsquqlhNEqS/+AGVq04btAcYfCQgU0AbPbYGs+rgGAFkpruHr6mhDmsbkYLdjJZ3GJ YD1cLD75VFqVSACfLEdwUgb3nGkc6uxbaJObywlY7fCtH4Jacdh8GH3yQz7/9EkHpccNAgGdhoE e5xQdJiJ4KPOupFTL8CXsseILC3MVqRk8O3VnfEDQHm6L9uMZicVlu6mK X-Received: by 2002:a17:90b:2c90:b0:36b:bec8:94c5 with SMTP id 98e67ed59e1d1-39dbc1d2546mr8646168a91.10.1789257104838; Sat, 12 Sep 2026 16:51:44 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33ba4e52a60sm16093307eec.6.2026.09.12.16.51.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Sep 2026 16:51:44 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-python][PATCH 1/5] python3-betamax: skip the live-network hook tests in ptest Date: Sat, 12 Sep 2026 16:51:36 -0700 Message-ID: <20260912235141.2355852-1-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 12 Sep 2026 23:51:51 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129981 tests/integration/test_hooks.py records live https://httpbin.org requests (no cassettes are shipped for them), so the ptest fails whenever the service resets the connection, e.g.: FAIL: tests/integration/test_hooks.py:TestHooks.test_post_start_hook requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')) The same tests pass when the service behaves (3 out of 3 runs in a qemux86-64 VM), so they are flaky rather than broken. Leave them out of the ptest run. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- .../recipes-devtools/python/python3-betamax/run-ptest | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta-python/recipes-devtools/python/python3-betamax/run-ptest b/meta-python/recipes-devtools/python/python3-betamax/run-ptest index 531af4d015..0acad79f97 100644 --- a/meta-python/recipes-devtools/python/python3-betamax/run-ptest +++ b/meta-python/recipes-devtools/python/python3-betamax/run-ptest @@ -8,4 +8,7 @@ if ! nslookup httpbin.org >/dev/null 2>&1 ; then echo "nameserver 8.8.8.8" > /etc/resolv.conf fi -pytest --automake +# tests/integration/test_hooks.py records live https://httpbin.org requests +# (no cassettes are shipped for it) and fails whenever the service resets +# the connection, so leave it out. +pytest --automake --ignore=tests/integration/test_hooks.py From patchwork Sat Sep 12 23:51:37 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 98097 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1FF00C88E63 for ; Sat, 12 Sep 2026 23:51:51 +0000 (UTC) Received: from mail-pj2-f13.google.com (mail-pj2-f13.google.com [74.125.227.141]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.16731.1789257106488076251 for ; Sat, 12 Sep 2026 16:51:46 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=KswJZUQ6; spf=pass (domain: gmail.com, ip: 74.125.227.141, mailfrom: raj.khem@gmail.com) Received: by mail-pj2-f13.google.com with SMTP id 98e67ed59e1d1-396ccd66bb5so676445a91.0 for ; Sat, 12 Sep 2026 16:51:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789257106; x=1789861906; 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=WCfMwhbNzSK3H/l3WnsZ92zNJTldP8iWxwLNVBYNejg=; b=KswJZUQ6V+HyQiQfLpWoDaiX8HDf2Q4WiSMCxjJdmwQjPEB81krFwkjGqf+LgHzpw3 TW70YqKepFJWzyukKex4IRi/u0/+2JcIms4/Hrl+C9FCy5nCx8A2jLEut6PlcSYtSxet ZoDCGdfg/773CgKGHvEZZc+eYEzjVp6SA1oZxx8LEyX3jMkWgl6GATtkN1HFjxlQgyWv yvJ8/1fnm3oneiAgtXPXym50GOMxSYQE0sYSHMtAtnIwqpn7SEVa4x6ziJE99VZdCBzc wMOw/CONARofBWLHORyo/uFbkhB02NsNsWvxkHrg41V+hA0xH3CkK5He3zmUQMyDFTdz OfPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789257106; x=1789861906; 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=WCfMwhbNzSK3H/l3WnsZ92zNJTldP8iWxwLNVBYNejg=; b=byWHSbMgFPy+SfF+jfFEh0DUZqzI//DPAWFnMS/7/glLkAHitQBgqpkq/iEhn9AdV1 paQQPYjDVux14RLwO96P7XBca9bfXwml1Re51Ez3gy/vr3ZquTLHZ8rC7eNX6hApkfYh INNzKbXKZl82ksz1OyxKGUJdVCPogf+3YdUnc+sDNGj6Hdpj99wXhaQK8sSdox5qnAJd rahOLtrn2z/WcxnipVrelCeFblIOu/2Oewh1KAy1HJmMcJApobELuIcd7XSFzkzT0KTo jiXAq/4QH6LPx0YtugyoNB22T9yJ4k8jXO4Q/Zb0zP7kU+iq5ni1HWSq7wpwNDbrMYQs 7ckA== X-Gm-Message-State: AFuF++nImFl+fY7+/lLf4K2en8G5sH3HSFoN2512UCdK0NFYc/hpj/8m ztgQTwaD6NQFdolVkIexNx/S2GGTG+QNDocH+ftmC2nEZAcqqBDAs+9v0wP/tQ== X-Gm-Gg: AYBFou2rhKYby1MXxsMwIub68K5J8jf/1oraSx1VUkwcAaREmalWDhRG01KeE0KVcSb B8kU+dxWJE5M14AebRkxvnZgRDWl3rSysvomsmoja/HYsnv8puqG1pRB5JhqqZ/LBM06eQT1sQ6 pqDIXVZFGRxwbR0bpmK7fp8aaG4hAuRj1eMwhu1ceTNaR1huBkj5DG1VdnFqV+ZccvKePTpx/BU 41XDED/+HoYzvjeWHxrQgIwliilhDAr/iS/knpgFTxwetgekFZeZyc/rZ9R/kRbZ2drQchsofZ1 oM+VGkpcydRiCaZlYvysP0VrOEXGDEAYQETAbl7+HM9YQQrtB/SL+SnY+w9rRRIsl/ek2LumZCi JVUCrkFn1BWKy/fUA9tUspN2q6Pj1YJhxQCCzIGxr51q2XJWfk7lU/DUNs2Xc1LNNfq4KM9sm0e n15bhm/lRw4OuVctR73I3K/pa9srsAmtyt4gDM2zuTvbYw4hzOL6N7YzgGex2Pr+tgbIcxfWCPZ Cu/d/RazAF7CRA+2sdbDW5ky5TQwDL5Yb6bEnnuMfQFeeoyYlIn6TJeqqak+76huDY3HcGMHXo4 lzVRrkx4QcPNRbYvCgTVG4IOjiY7QYzl5/9KDe60b1QhZwh6dKALTIUCrdcZSs2knGPqI9Wtl8R W9Y0aqSpSi+SntAL1lpJn6n33hVSJ+R+nARtylZWBh0nSyXfKyF7FG4EO X-Received: by 2002:a17:90b:5408:b0:39b:3109:10ce with SMTP id 98e67ed59e1d1-39dbc6a0196mr9153580a91.16.1789257105801; Sat, 12 Sep 2026 16:51:45 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33ba4e52a60sm16093307eec.6.2026.09.12.16.51.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Sep 2026 16:51:45 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-python][PATCH 2/5] python3-glances: install config and test data for ptest Date: Sat, 12 Sep 2026 16:51:37 -0700 Message-ID: <20260912235141.2355852-2-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260912235141.2355852-1-khem.raj@oss.qualcomm.com> References: <20260912235141.2355852-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 12 Sep 2026 23:51:51 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129982 tests/test_core.py runs glances with ./conf/glances.conf and reads plugin test data from ./tests-data, both relative to the ptest directory. Neither was installed, and tests-data is not part of the pypi sdist, so four tests failed: test_023_get_alert: AssertionError: 'DEFAULT' != 'OK_LOG' test_025_npu: IndexError: list index out of range test_026_mpp: AssertionError: 0 != 3 : Expected 3 MPP engines test_108_fs_zfs_: AssertionError: False is not true Fetch tests-data from the v4.5.6 tag and install it, together with conf/, next to the tests. Only tests-data/plugins is used by the tests. With these in place tests/test_core.py passes 52/52 on qemux86-64. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- .../recipes-devtools/python/python3-glances_4.5.6.bb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-glances_4.5.6.bb b/meta-python/recipes-devtools/python/python3-glances_4.5.6.bb index 41516e07bc..311d38cac3 100644 --- a/meta-python/recipes-devtools/python/python3-glances_4.5.6.bb +++ b/meta-python/recipes-devtools/python/python3-glances_4.5.6.bb @@ -11,7 +11,19 @@ inherit pypi python_setuptools_build_meta ptest-python-pytest SRC_URI += " \ file://run-ptest \ + git://github.com/nicolargo/glances.git;protocol=https;branch=master;name=testsdata;subpath=tests-data;destsuffix=glances-tests-data \ " +# tests-data/ is used by tests/test_core.py but not shipped in the pypi sdist, +# take it from the v4.5.6 tag +SRCREV_testsdata = "ce2f8506289c71e48ed8bf186f2c04d8256203d5" + +# tests/test_core.py runs glances with ./conf/glances.conf and reads plugin +# test data from ./tests-data, both relative to the ptest directory +do_install_ptest:append() { + install -d ${D}${PTEST_PATH}/conf ${D}${PTEST_PATH}/tests-data + cp -rf ${S}/conf/* ${D}${PTEST_PATH}/conf/ + cp -rf ${UNPACKDIR}/glances-tests-data/plugins ${D}${PTEST_PATH}/tests-data/ +} # psutil/jinja2/packaging are oe-core; fastapi/uvicorn/defusedxml are # meta-python. From patchwork Sat Sep 12 23:51:38 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 98095 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 13863C88E56 for ; Sat, 12 Sep 2026 23:51:51 +0000 (UTC) Received: from mail-pz2-f12.google.com (mail-pz2-f12.google.com [74.125.228.12]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.16570.1789257107494546893 for ; Sat, 12 Sep 2026 16:51:47 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=BLJN4fbt; spf=pass (domain: gmail.com, ip: 74.125.228.12, mailfrom: raj.khem@gmail.com) Received: by mail-pz2-f12.google.com with SMTP id 41be03b00d2f7-cc4c3304833so614204a12.3 for ; Sat, 12 Sep 2026 16:51:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789257107; x=1789861907; 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=yt0ZkcTB8+KY6wrYbeR/lTqcsPrmKVSQbsW/wv2YXL4=; b=BLJN4fbtATtlNxx9omhz6I2FvW1a/hNUfj0ohITTt+eE5rB5IYDBRaJz0e8pUsT+PF m364FQRXpdaGm8htVC+3hgdWA+ofhs3VclOS/YrHnuPdICwfRNrcY/msGoPux6Dx2GLh Qq2JEps5hEs0CrCPrL6ghHHnCuOYIpcvfBGUJen+jrwUFBuFzCqZxIQ21r3LnKGg8n/4 V3Kb8NnAqPRqhSGg7o9yAzP8ji9EEpj46XoHNW8RzBiNZHNGFweHEdRotEZkqcTwIQMR BY7WiBc77exm53SSZ0Sujx9/1LeNL48JNP8qefEu4wGjibMZSC5vVgRActihxKfGx3MU mLYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789257107; x=1789861907; 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=yt0ZkcTB8+KY6wrYbeR/lTqcsPrmKVSQbsW/wv2YXL4=; b=LYdUqCSl/F4PRco/FZbzGRWXjSy46VLRTzPl0L62upwotRZ67iaKNaKZfH0ddwQyW2 JoehkQvyYMBx0y3/n1PvH2JAkvChoIegxAEyUuUBdrH7af0J6sFTubyp1MVcy7AgqB9h PPHW6joWd/3ofkaPqd72g80wsPpZslqQSj9n2U0Lhmud8EQ2zTQRNvEavQJJAeM2TBg9 MCezoWaVU6SPsbixCN9Up8SNr0N2eFzvD6q7SJSoFY20arM8cN+1gDjixGkAzlrWDPFS R/3VbGMJWCpTZUGIhSGo3Nh0PDel51BwvJGyV86GBCGuWcVkLEPctk9lHNUj/twpxKWO 8uEQ== X-Gm-Message-State: AFuF++kuuqeC4s26ZQzw6io7kVG3A7Lk7R+SaCFrdm0TWEdk7qAKIKtt d3HdrjC+EfRCqr/M+YSnC0o1MiDcgeU7aw7Rf5iO86iey/7JQ0yJZgVHkwETuQ== X-Gm-Gg: AYBFou1OOp1zwLJDs3TU5ikWpTZIkmX8NbcKAls1oURD6n1UBCTbEyVfls50v9fe4dS LoLgxf4m+w/obYrndDGaMcdP3+lrLs7xib+ZFJLLRkiht17iVimKaOaVPuhOcW66TqMPSGFwtK8 RVPoNAZm69Fqtq9DN6KkTFP87J58x38ImN3SytWxEzBev44otg3zKCdeF4Bey83FXlN1yJuQT4d CODt761xE69SDofkEoqLmnwNDtBEffYQAtGhyTdki4OhgnqqWRVUvFpU8x+gZLOOJPyBRS/78sa JhPNniNfN/8LDeKtTXp5PucjR0geghxgSj3K5uReBYVXqwV8KlmKY9t8lNvc3/3YK37+EAoAdaI el5+I1+Hh57mPS5bBvDnSdXegh+2r0oqC9FMiyf3Xe2KK1soa2SX/xpPxn27coeXI+tI1jN7U1S X2HjJs/JaC0LFNAVapUNpuyq7lMlsMDqfOPkX3yEc1SETBMJtwGSUt4MSgXvFYlq7l0zkvYmIzd tDjh9kJwDkqYMjYrJCz85G9uLHRaXbMP0Soh6D3/3Gk8JmEsRt4/FYuAOJ4A1VU1gbiCoH9FOfq Voe1W25XQ1SbBx+BvsIM7HREx0lQlsdoULrMGkpnIuEYGxSqTbJycTW6FINIRy4baDi52RlsrA5 TuGCiXlgamMtzBoSGIrUCcjdV9/6TUmMVvldU6S83Uf+hH2kzVqZm3oqo X-Received: by 2002:a17:90b:580f:b0:39d:b769:3067 with SMTP id 98e67ed59e1d1-39dbbc723bamr8171937a91.0.1789257106807; Sat, 12 Sep 2026 16:51:46 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33ba4e52a60sm16093307eec.6.2026.09.12.16.51.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Sep 2026 16:51:46 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-python][PATCH 3/5] python3-fastnumbers: fix denoise of large floats when built with clang Date: Sat, 12 Sep 2026 16:51:38 -0700 Message-ID: <20260912235141.2355852-3-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260912235141.2355852-1-khem.raj@oss.qualcomm.com> References: <20260912235141.2355852-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 12 Sep 2026 23:51:51 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129983 float_as_int_without_noise() returns early when the floored value fits in a long, checking it with floor_val == static_cast(floor_val). For values outside the range of long the conversion is undefined behavior; clang -O2 folds the round trip into "floor_val is integral", which is always true, so the denoising is skipped: FAIL: tests/test_fastnumbers_examples.py:test_try_real FAIL: tests/test_fastnumbers_examples.py:test_try_forceint assert 3452999999999999737856 == 3453000000000000000000 Add a patch that only does the conversion when the value is in range. A reduced reproducer returns the wrong answer with the recipe's clang++ at -O2 and the right one with the fix (and with -O0 or gcc). AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- ...efined-double-to-long-conversion-in-.patch | 46 +++++++++++++++++++ .../python/python3-fastnumbers_5.2.0.bb | 1 + 2 files changed, 47 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-fastnumbers/0001-parser-avoid-undefined-double-to-long-conversion-in-.patch diff --git a/meta-python/recipes-devtools/python/python3-fastnumbers/0001-parser-avoid-undefined-double-to-long-conversion-in-.patch b/meta-python/recipes-devtools/python/python3-fastnumbers/0001-parser-avoid-undefined-double-to-long-conversion-in-.patch new file mode 100644 index 0000000000..52275c1d8e --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-fastnumbers/0001-parser-avoid-undefined-double-to-long-conversion-in-.patch @@ -0,0 +1,46 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 12 Sep 2026 00:00:00 -0700 +Subject: [PATCH] parser: avoid undefined double to long conversion in + float_as_int_without_noise + +float_as_int_without_noise() returns early when the floored value fits +in a long: + + if (floor_val == static_cast(floor_val)) + +For values outside the range of long (e.g. 3.453e21) the conversion is +undefined behavior. clang (-O2) takes advantage of that and folds the +round trip into "floor_val is integral", which is always true, so the +denoising is skipped and try_real(3.453e21, denoise=True) returns +3452999999999999737856 instead of 3453000000000000000000: + + tests/test_fastnumbers_examples.py::test_try_real FAILED + tests/test_fastnumbers_examples.py::test_try_forceint FAILED + +Only do the conversion when the value is within the range of long. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/cpp/parser.cpp | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +--- a/src/cpp/parser.cpp ++++ b/src/cpp/parser.cpp +@@ -92,8 +92,14 @@ + + // If the given float can fit a C long without loss then no need + // to go through the below rounding steps. ++ // Converting a double that is outside the range of long is undefined ++ // behavior, and clang uses that to fold this check into "floor_val is ++ // integral", which is always true and skips the denoising below for large ++ // values. Make sure the value is in range before converting. + const double floor_val = std::floor(val); +- if (floor_val == static_cast(floor_val)) { ++ constexpr double long_limit = -static_cast(std::numeric_limits::min()); ++ if (floor_val >= -long_limit && floor_val < long_limit ++ && floor_val == static_cast(floor_val)) { + return val_int; + } + diff --git a/meta-python/recipes-devtools/python/python3-fastnumbers_5.2.0.bb b/meta-python/recipes-devtools/python/python3-fastnumbers_5.2.0.bb index 65d7fcea3f..d067e44938 100644 --- a/meta-python/recipes-devtools/python/python3-fastnumbers_5.2.0.bb +++ b/meta-python/recipes-devtools/python/python3-fastnumbers_5.2.0.bb @@ -4,6 +4,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=d32431d1b650010945da4e078011c8fa" +SRC_URI += "file://0001-parser-avoid-undefined-double-to-long-conversion-in-.patch" SRC_URI[sha256sum] = "07266a2fca9e08eeb5a6c70be4c8db3637db9b930ea5198facbbb9b0b31d4d03" inherit pypi python_setuptools_build_meta ptest-python-pytest From patchwork Sat Sep 12 23:51:39 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 98099 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62652C88E65 for ; Sat, 12 Sep 2026 23:51:51 +0000 (UTC) Received: from mail-pj2-f12.google.com (mail-pj2-f12.google.com [74.125.227.140]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.16732.1789257110017717184 for ; Sat, 12 Sep 2026 16:51:50 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=Tc+vDI0Y; spf=pass (domain: gmail.com, ip: 74.125.227.140, mailfrom: raj.khem@gmail.com) Received: by mail-pj2-f12.google.com with SMTP id d9443c01a7336-2d8fe517774so13166315ad.0 for ; Sat, 12 Sep 2026 16:51:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789257109; x=1789861909; 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=akOkxOQsaA02wR8AA0+UpkTaYGsFdcAN6U526c7YQIw=; b=Tc+vDI0YC/CyfKMz9cxguNbFd495eaWmDmwUWWoJjajHuSHBbNqErD2uOz3CdXvvUU Czs8MxqYXE8IPDQlVQksCXL3Mf4GBfdvPT2lcfNWz+RgYcjsmtOhQ5GHwVMfV+IL0x7c cpFi8obfn0tTvgvMTDpAGm5QAOXw1Sj1aX8PklaZRVPLeBpMsy0p6DsQrTL964xTR0OV 8k39x35AYf8hUJFfQJCKASe68TbjKsyZSkBSHImkcVDeBptarjsjEClInWXmn+ArQYfs dZ1kOC34NJBQJA14KAg5vo/wHBHyUSTrutDTR1TM5pmxwklQC21bZHstui/hVHSCjDQM abJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789257109; x=1789861909; 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=akOkxOQsaA02wR8AA0+UpkTaYGsFdcAN6U526c7YQIw=; b=Ayr6jv/yGUPQ+fsfd3v644sE79oUdq13aZCTGi+gt93TWrvoE/3KIGJVsreA6S8k0j zHpSw5lQMZndkYaMNtwPDXcHIT5o7zH72m0j0187bViZMFvNR3gK3obqusVxKVQyb0ca XuoU+7f4uCPsdJyFlESg2HW3Ub0WWh2yZ3QbwiwD1jNakZkNUYPMS+wkuHSK5FQH+EIM SE2jSlIC3DI1skcnufCEtveyqwgwftRJU1aFALgTpvALPzRYR4nLJTolzDkLHm++5WZX FyMmJuMK7lKXS08gW6sOtDDwPVWMnfoTNGpmv4ExsHc48mBh7PZ9YSndLjmDITNV8eJo f7IA== X-Gm-Message-State: AFuF++kzwK9gbT8VWrHFsPCul20h8o2WM5eeor1qJbSuKHzlVoLyNRQd ScSddIkyGpzwTp6eDvzYA9cYGNrsfBIxjV5VdtEqrywkl7PO3kD2grq8hL98yA== X-Gm-Gg: AYBFou2weXhsaPui7YdSLqbkbS01bMYMPvrsWj7msCi4jXh4iDqDTOgIh2APShDTu6O qT8HESvABlvZ7X56cJbAdRSoOqMPOVzounSqkxI138XkUMzhuqbYaTFbzSI9x/IvO0MvFKSC+0M Ycfq6AWHktfCc+fWcHtQhnig2yKZ8wURJaUURT62S2dxfIw9PuWXiwPH9j2hircwjeU9HyxYaWi V/H6T+AYlyht4KoOlYJy8jkjdcVC8X38cjmHYI6Y7qndSItr4ksqNgFBrB2/ffcWW73D74Iyiwu Wie3zgFMQMrpp7wIgcadMgaiFui13bKowkS9AHcV5w4+lvYm2w6hrKBrxTZIh8nS0KOULlvOk8c ZsWKoG4tZYujOSHHtG8BIz+jfDuWq9GYVBuRVzTDJDQJIS3AD2kpBnP6niCltj/DDxkmLwvt3PG +vMnACEiXzISaQGpM8o3D/dTC9Z3K9M1aj6+gvnCTWqcZSgluBcgpNENDx2a8o/Xwyyr6a4FoG8 Hf+3xJ5cztxYcUCzTMGHYxlh2S6JQ1stNapSlUyXRCziKi4wdgXMXd16xhDhhbWnpDEP0zeaLWZ InJ0E6rO3fFkqZXBLRTD0KCNe6cpl1IXIdkpgJAxG9nBqNR/45thyg/W4xysLDIuzWn29vrr0W6 GbWqHuZdlIIn9tMY2Av9VAZq3pXGJ+ezgORYgtYf7woAvcLLhoGypiLw3 X-Received: by 2002:a17:902:f610:b0:2dd:64:12ac with SMTP id d9443c01a7336-2dd2a343053mr229043195ad.11.1789257109222; Sat, 12 Sep 2026 16:51:49 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33ba4e52a60sm16093307eec.6.2026.09.12.16.51.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Sep 2026 16:51:47 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-python][PATCH 4/5] python3-dnspython: skip DDR tests when DDR is not available Date: Sat, 12 Sep 2026 16:51:39 -0700 Message-ID: <20260912235141.2355852-4-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260912235141.2355852-1-khem.raj@oss.qualcomm.com> References: <20260912235141.2355852-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 12 Sep 2026 23:51:51 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129984 test_basic_ddr_sync and test_basic_ddr_async only check that the Internet is reachable. On networks that intercept port 53, 1.1.1.1 and 8.8.8.8 still answer ordinary queries but return NXDOMAIN for _dns.resolver.arpa SVCB, so try_ddr() cannot upgrade the nameservers and the tests fail: FAIL: tests/test_ddr.py:test_basic_ddr_sync FAIL: tests/test_ddr.py:test_basic_ddr_async assert isinstance('1.1.1.1', dns.nameserver.Nameserver) Add a patch to skip them unless both resolvers return DDR SVCB records. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- ...ests-when-the-resolvers-do-not-answe.patch | 70 +++++++++++++++++++ .../python/python3-dnspython_2.8.0.bb | 1 + 2 files changed, 71 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-dnspython/0001-tests-skip-DDR-tests-when-the-resolvers-do-not-answe.patch diff --git a/meta-python/recipes-devtools/python/python3-dnspython/0001-tests-skip-DDR-tests-when-the-resolvers-do-not-answe.patch b/meta-python/recipes-devtools/python/python3-dnspython/0001-tests-skip-DDR-tests-when-the-resolvers-do-not-answe.patch new file mode 100644 index 0000000000..991604682e --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-dnspython/0001-tests-skip-DDR-tests-when-the-resolvers-do-not-answe.patch @@ -0,0 +1,70 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 12 Sep 2026 00:00:00 -0700 +Subject: [PATCH] tests: skip DDR tests when the resolvers do not answer DDR + +test_basic_ddr_sync and test_basic_ddr_async only check that the +Internet is reachable. On networks that intercept port 53 with a +transparent DNS proxy, 1.1.1.1 and 8.8.8.8 still answer ordinary +queries but return NXDOMAIN for _dns.resolver.arpa SVCB, so try_ddr() +cannot upgrade the nameservers and the tests fail: + + assert isinstance('1.1.1.1', dns.nameserver.Nameserver) + +Skip the tests unless both resolvers return DDR SVCB records. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + tests/test_ddr.py | 27 +++++++++++++++++++++++++-- + 1 file changed, 25 insertions(+), 2 deletions(-) + +--- a/tests/test_ddr.py ++++ b/tests/test_ddr.py +@@ -6,13 +6,36 @@ + + import dns.asyncbackend + import dns.asyncresolver ++import dns.message + import dns.nameserver ++import dns.query ++import dns.rdatatype + import dns.resolver + import tests.util + + ++def _ddr_available(): ++ """Check that the public resolvers answer the DDR SVCB query. ++ ++ Networks that intercept port 53 (e.g. a transparent DNS proxy) answer ++ _dns.resolver.arpa with NXDOMAIN, so DDR cannot work there even though ++ the Internet is reachable. ++ """ ++ if not tests.util.is_internet_reachable(): ++ return False ++ for nameserver in ["1.1.1.1", "8.8.8.8"]: ++ q = dns.message.make_query("_dns.resolver.arpa", dns.rdatatype.SVCB) ++ try: ++ r = dns.query.udp(q, nameserver, timeout=5) ++ except Exception: ++ return False ++ if not r.answer: ++ return False ++ return True ++ ++ + @pytest.mark.skipif( +- not tests.util.is_internet_reachable(), reason="Internet not reachable" ++ not _ddr_available(), reason="Internet not reachable or DDR not available" + ) + @tests.util.retry_on_timeout + def test_basic_ddr_sync(): +@@ -26,7 +49,7 @@ + + + @pytest.mark.skipif( +- not tests.util.is_internet_reachable(), reason="Internet not reachable" ++ not _ddr_available(), reason="Internet not reachable or DDR not available" + ) + @tests.util.retry_on_timeout + def test_basic_ddr_async(): diff --git a/meta-python/recipes-devtools/python/python3-dnspython_2.8.0.bb b/meta-python/recipes-devtools/python/python3-dnspython_2.8.0.bb index aa14caed15..859b71bcda 100644 --- a/meta-python/recipes-devtools/python/python3-dnspython_2.8.0.bb +++ b/meta-python/recipes-devtools/python/python3-dnspython_2.8.0.bb @@ -11,6 +11,7 @@ inherit pypi python_hatchling ptest SRC_URI += " \ file://run-ptest \ + file://0001-tests-skip-DDR-tests-when-the-resolvers-do-not-answe.patch \ " RDEPENDS:${PN}-ptest += " \ From patchwork Sat Sep 12 23:51:40 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 98098 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8FCFBC88E66 for ; Sat, 12 Sep 2026 23:51:52 +0000 (UTC) Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.16571.1789257111047899735 for ; Sat, 12 Sep 2026 16:51:51 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=jks6c404; spf=pass (domain: gmail.com, ip: 209.85.215.180, mailfrom: raj.khem@gmail.com) Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-cc4902427c1so1727722a12.1 for ; Sat, 12 Sep 2026 16:51:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789257110; x=1789861910; darn=lists.openembedded.org; h=content-transfer-encoding:content-type: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=3eQ64dybskEOOIGjNAus/5xvuGcoyewGRNeH5KgowXE=; b=jks6c404UI8+pu0shDjZDmeSNIJAzcWw0krfdWz8kSOSIN114jZs1uETwFuUe4zDWX 0AWpDG3BSiJNVgq8m13McvTGTeMZGBTPp7kNZAzrgT3vE+4vqUkgorOcNiw/rqHnvhZf URsrGtQu+z0y+OqeXkBFZmn8pt4dFJ+bSw+gSDoBq1AmPqDUgw4qdQk4uIfIKXzQANKI P+6MldaAxCV0NNE+MmFFLv/Hpq0fry1T3cgCvvWyaHT+CL9fZNTkvwgO2cXlwBID8A8D LQ7vhopoHgwBkowgaAEZTauv8bYi7e+soA2LaT2xLeMRfuQIfNx0Fh3Q0VIF9QV73uNY 8s2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789257110; x=1789861910; h=content-transfer-encoding:content-type: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=3eQ64dybskEOOIGjNAus/5xvuGcoyewGRNeH5KgowXE=; b=Jvfb+Cyd4Tt6BMKupiYRhlqs+Ei4JYQ67e9tN6ecN8l4n/5ADQIii717uskVyOfKPz 1yBEhK//SiQtqixvgkxhyt2p/3OB2IxDmiQ7P8Qm6FQweOnPAs74w6dBqtIc7UTTuF1d 5yQF0Q/42dAUnPpCC0YbegN4vZcx15A6fD8Jw5gUnMT2lBAtFI8pQCbmfZpzj5nQGBSb 9+dm/AUteQyORwVWN751T2c+cozmKMFVezri99ROnESoJfdJPQEFw6nN6tAQDv1XHkva pnVmKw1PQa/Bc3QX26O9rCLHi7032VE/pI3mi1mLeXMcv6R6nix/9egcB9qmuFotHLG4 EpPg== X-Gm-Message-State: AFuF++mXM7+g/WPWNKvnyLQgSByr/jskRoxm27zhfH6U2VLZCedh4LiN FeQ9GopqGJYRmCpuqHquol0Qv6F40Lbxxq0nzspGsbed3QwNMH03KUb1eTCJSg== X-Gm-Gg: AYBFou3W1vMbkrpfVzsfewljUtUp5nPjyhDR8fK/HswgE57WPB6kmdD9wUn2hLdPRAJ kYIkUo3B0JDTs88ciQwspMqJr9SKW6wuwDW5q1ngWgJtY4phNzrTjiZmHg6LPeRmNyuYHDQJ65f EiDyc3yjJVm55YKWUe+i5D89Q6hP1ZfGP2NnEYpmtTlruNlNAf/ZisX3QpreXrnmw/a7J056Vvj B+cxbJaYbXzBMGxQmlWMaQsUaZVQ8zwB83tLetLQ11p4rHuD7V3jHgTqBQi5IM8wTW18GqyN7CO JMU6Gmn7Snyw8WZYfm0MqVoVni0M+PAp9tGE9/JveTvXVAmwUhKVTxqBEiY4ctl+hc4JaJYq+CP GJR/19ac0VE/7fheXwnU+NowimUSD8hJjR4iZ28d5iBmn9wcdPDO6Kq9EGR0xdMh9S9DudZHxtz I81QFE6QT842KNuGO03HaxdPSGh3WW9dA+atCNVjqawIUsaXe7NIhwIJotEEp8+ReHBhfxJ4qq/ BVA1moFp2hl7ZYMnhgX19TaHdHjuWle5XlmqZThjgmE1IovImbvDzFqrYcsFSDLEtL5H18dgzi0 iZaxj7MgJZzyyiz4YScXfv9cD2vWiARMfx7dlRBb4FYtEbIgcHsAgAOJ4jC7cwYhSbxCemuAsgL ZgK6J1Muchxja43v8ZRfE8Nj+OrOe9eFDMLcwnfuwIJDaYxPGQ5V1JvrOHpOnP72yd4Mw X-Received: by 2002:a05:6a20:4327:b0:3db:b3b:5343 with SMTP id adf61e73a8af0-3db26cf8ce7mr374924637.12.1789257110221; Sat, 12 Sep 2026 16:51:50 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33ba4e52a60sm16093307eec.6.2026.09.12.16.51.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Sep 2026 16:51:49 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-python][PATCH 5/5] python3-pylint: fix crash with astroid >= 4.2 Date: Sat, 12 Sep 2026 16:51:40 -0700 Message-ID: <20260912235141.2355852-5-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260912235141.2355852-1-khem.raj@oss.qualcomm.com> References: <20260912235141.2355852-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 12 Sep 2026 23:51:52 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129985 pylint 4.0.8 passes asname=False to Import.infer(), a keyword argument astroid 4.2 removed. With the astroid 4.3.1 in meta-python this makes pylint crash on any import of a missing submodule: TypeError: NodeNG.infer() got an unexpected keyword argument 'asname' which shows up in ptest as astroid-error in three functional tests: FAIL: tests/test_functional.py:test_functional[fallback_import_enabled] FAIL: tests/test_functional.py:test_functional[import_error] FAIL: tests/test_functional.py:test_functional[no_name_in_module] Backport the pylint/ part of upstream commit 554b1d192434 ("Bump astroid to 4.2.0b4"), which drops the argument. meta-python-image-ptest-python3-pylint on qemux86-64 now passes 872 tests with none failing. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- ...s-do-not-pass-asname-to-Import.infer.patch | 39 +++++++++++++++++++ .../python/python3-pylint_4.0.8.bb | 1 + 2 files changed, 40 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-pylint/0004-checkers-variables-do-not-pass-asname-to-Import.infer.patch diff --git a/meta-python/recipes-devtools/python/python3-pylint/0004-checkers-variables-do-not-pass-asname-to-Import.infer.patch b/meta-python/recipes-devtools/python/python3-pylint/0004-checkers-variables-do-not-pass-asname-to-Import.infer.patch new file mode 100644 index 0000000000..411ba313fc --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pylint/0004-checkers-variables-do-not-pass-asname-to-Import.infer.patch @@ -0,0 +1,39 @@ +From 554b1d1924342ce2e5b4d8f79dd62eab7cd67501 Mon Sep 17 00:00:00 2001 +From: Daniƫl van Noord <13665637+DanielNoord@users.noreply.github.com> +Date: Sat, 4 Jul 2026 23:17:33 +0200 +Subject: [PATCH] checkers/variables: do not pass asname to Import.infer() + +astroid 4.2 removed the asname keyword argument from Import/ImportFrom +inference (astroid commit fe29fb1f7e3e, "Remove `asname` kwarg from +Import/ImportFrom `_infer`"). With astroid >= 4.2, pylint 4.0.8 then +crashes on any module that imports a missing submodule of a package: + + TypeError: NodeNG.infer() got an unexpected keyword argument 'asname' + ... (astroid-error) + +which breaks the fallback_import_enabled, import_error and +no_name_in_module functional tests with the astroid 4.3.1 in meta-python. + +This is the pylint/ part of upstream commit 554b1d192434 +("Bump `astroid` to `4.2.0b4` (#11153)"); the astroid version pin +changes in pyproject.toml and requirements_test_min.txt are left out. + +Upstream-Status: Backport [https://github.com/pylint-dev/pylint/commit/554b1d192434] +Signed-off-by: Khem Raj +--- + pylint/checkers/variables.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pylint/checkers/variables.py b/pylint/checkers/variables.py +index 3ce7dc63410..7e5f27b70ef 100644 +--- a/pylint/checkers/variables.py ++++ b/pylint/checkers/variables.py +@@ -217,7 +217,7 @@ class C: ... + def _infer_name_module(node: nodes.Import, name: str) -> Generator[InferenceResult]: + context = astroid.context.InferenceContext() + context.lookupname = name +- return node.infer(context, asname=False) # type: ignore[no-any-return] ++ return node.infer(context) # type: ignore[no-any-return] + + + def _fix_dot_imports( diff --git a/meta-python/recipes-devtools/python/python3-pylint_4.0.8.bb b/meta-python/recipes-devtools/python/python3-pylint_4.0.8.bb index 90ee93e4f9..9ae03295e7 100644 --- a/meta-python/recipes-devtools/python/python3-pylint_4.0.8.bb +++ b/meta-python/recipes-devtools/python/python3-pylint_4.0.8.bb @@ -8,6 +8,7 @@ SRC_URI += "git://github.com/pylint-dev/pylint;branch=main;protocol=https;tag=v$ file://0001-Adjust-test-expectations-for-ptest.patch \ file://0002-pyproject.toml-Keep-tool.setuptools.license-files.patch \ file://0003-astroid-4.1.2-endlineno.patch \ + file://0004-checkers-variables-do-not-pass-asname-to-Import.infer.patch \ file://run-ptest \ "