From patchwork Thu Dec 4 18:09:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 75911 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 1A990D24462 for ; Thu, 4 Dec 2025 18:09:58 +0000 (UTC) Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.50686.1764871797233148774 for ; Thu, 04 Dec 2025 10:09:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre-com.20230601.gappssmtp.com header.s=20230601 header.b=vGO2+r64; spf=pass (domain: baylibre.com, ip: 209.85.160.169, mailfrom: tgamblin@baylibre.com) Received: by mail-qt1-f169.google.com with SMTP id d75a77b69052e-4edb7c8232aso15422941cf.3 for ; Thu, 04 Dec 2025 10:09:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1764871795; x=1765476595; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=079SwmiRACzm9MoDxHCwnIgeN7EWaC/zu7UYpUeUado=; b=vGO2+r64q71DjlsPZNyChU/F8QjRhkDSfBp5WddidmQNa+b6mTE+ISN1NeTCMiWou5 t82yobQDpXrFfbSCwGD4SX7MkITo2G1w8p4Es1WiammNI/XSGBTdvhlQSnvdxv10dOOO GxVylnqSb4TM91nRhJtWaTxstEW8c7zjfUjVMEtU8+ZetsxuSJ81H6KqhvvESWKKKXdd BS38OEB3PFFko0Avmexsgc7nQ1mZZvEvJ0xdP/L3RZ5/+IVroPBQfkPadK/YzzeJyRX6 wJMoXzQXmTLr6Lqo/qhA+bGStbbukFpZ5lpKC/4MaGeJGGepqK6eJUL3D7Ib1oXyqjqH nOVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871795; x=1765476595; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=079SwmiRACzm9MoDxHCwnIgeN7EWaC/zu7UYpUeUado=; b=R1IGQrfy5qqusoPN2VrBqBc4YTlk8q/CuNkEFyNf5cwPNeP3k0DSfLn7Pn+GN/hgVn dkYWbh8eaJB6tQx5y44HtWeqs3+It9vjaJKyVjzk6/6M37IbRyle+KLrkacApsqqHWH1 ToEEKWa/qbIp+wiksyi85+nXXpSzjIHxhsVbia/UE+8M+wnohm7Y1OJxBcySI9yvEZM1 fW92h0kts5hfsV7MO5OSzSXgOnpKtryi3yvxgd/S7RY0/6RMRpHEUE1sRNB/4e+IwUEc od+jccSC5ovUf+n9wioTsLn2b1y/1c8No13/FvBYtQOZ1TySWK8ccW5AJSoaR7epRBqG n+zA== X-Gm-Message-State: AOJu0YxJqED/fFqy+K0RUL0/xGg7X3Jm/sTRblZqyLdO+tYx/+4L0m3M cUGV/c0Smw1OLXG+CZq1W9P8eldJg1UMclAjRhwlOZNKK6+TIYEjh2zXiX7fl2WF8Ms50TzdKYc Zg70hFCI= X-Gm-Gg: ASbGnctexPQ0iLRzVGs2aTBefjDJKAZ5A7KG8WSavCTHI35RJXwtloCITMVay6IQ1pr gb+47VORqnmi32F+KdZxEQevBPdwrda0lkFA53nCW1ufg8nDpKrH1vPOUSUZxTPKsL8lvLmG2cv PGSfRnVhzISQHN1JgL9UERU494igvvNEEoVbzt9T8+VSlut/m9oMfgPjJArdSwn3WmjfXLw1xrZ sYTx6CZabr6+oETFfkAVUPNkjR/fPqz8rsLOd8XGhPF4+Md2yZyCQLWmxowJIi4Jy5guoRZdnnr tN77jZlAwDsdbrRaSHsa6D6C/DG/ZRTSxP9Unh+zh/+QeBLvxFzgiAPczSQxrhdxrztItbKOVxr rN8Xw824ZjFHPB2SEr72JbVHyTEqlGhwwt1xJChedYCLu4ftayhmQxATjlyV11hBne92AfTgVad 3SxIagB1ajAEjEImThKfd27TvHMg== X-Google-Smtp-Source: AGHT+IGURpf1qWJq3rjH7n9eSi3XNTucmDFqvVut2pTvLqSu91QDbZp8r9ZGXCi3lEYlmeIWn3GK2Q== X-Received: by 2002:ac8:5f0d:0:b0:4ee:1301:ebac with SMTP id d75a77b69052e-4f0176a745fmr102091881cf.57.1764871794185; Thu, 04 Dec 2025 10:09:54 -0800 (PST) Received: from localhost ([2001:1970:3847:e000:8598:5636:16ad:2a8f]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4f027d56ebbsm12171301cf.31.2025.12.04.10.09.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:09:53 -0800 (PST) From: Trevor Gamblin To: openembedded-core@lists.openembedded.org Subject: [OE-core][PATCH 1/6] python3: upgrade 3.13.9 -> 3.14.0 Date: Thu, 4 Dec 2025 13:09:40 -0500 Message-ID: <20251204180945.3112334-2-tgamblin@baylibre.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251204180945.3112334-1-tgamblin@baylibre.com> References: <20251204180945.3112334-1-tgamblin@baylibre.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 ; Thu, 04 Dec 2025 18:09:58 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227316 Changelog: https://docs.python.org/3.14/whatsnew/changelog.html#python-3-14-0-final - Recipe changes: - Remove '0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch' as this fix was submitted upstream and is included in 3.14.0. - Modify three existing patches to apply on 3.14.0: - 0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch - 0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch - 0001-test_active_children-skip-problematic-test.patch - Add three new ptest skip patches: - 0001-test_cmd-skip-bang-completion-test.patch - editline issues with tab completion off of bangs (!). - 0001-test_pyrepl-skip-test_unix_console.test_cursor_back_.patch - change in curses dependency in PyREPL leads to issues with a test that expects the ICH1 terminal capability. - 0001-test_sysconfig-skip-test_sysconfig.test_sysconfigdat.patch - OE builds customize prefixes and compiler flags in a way that the test doesn't expect. - Add zstd to the DEPENDS since Python3 now provides support for the Zstandard compression standard. - In py_package_preprocess(), handle reproducibility issues with the _sysconfig_vars*.json files that the build generates by stripping paths from them. Modify python3-manifest.json to reflect the removal/replacement of stringold with a new string module directory. Also update python3-dir Python version to 3.14. Reproducibility looks OK: |2025-12-03 17:23:39,179 - oe-selftest - INFO - Reproducibility summary for deb: same=2261 different=0 different_excluded=0 missing=0 total=2261 |unused_exclusions=[] |2025-12-03 17:23:39,179 - oe-selftest - INFO - Checking ipk packages for differences... |2025-12-03 17:23:41,631 - oe-selftest - INFO - Reproducibility summary for ipk: same=2261 different=0 different_excluded=0 missing=0 total=2261 |unused_exclusions=[] |2025-12-03 17:23:41,631 - oe-selftest - INFO - Checking rpm packages for differences... |2025-12-03 17:23:43,952 - oe-selftest - INFO - Reproducibility summary for rpm: same=2261 different=0 different_excluded=0 missing=0 total=2261 |unused_exclusions=[] |2025-12-03 17:23:43,952 - oe-selftest - INFO - ... ok |2025-12-03 17:24:32,829 - oe-selftest - INFO - ---------------------------------------------------------------------- |2025-12-03 17:24:32,830 - oe-selftest - INFO - Ran 1 test in 1616.811s |2025-12-03 17:24:32,830 - oe-selftest - INFO - OK |2025-12-03 17:24:36,170 - oe-selftest - INFO - RESULTS: |2025-12-03 17:24:36,170 - oe-selftest - INFO - RESULTS - reproducible.ReproducibleTests.test_reproducible_builds: PASSED (1567.51s) |2025-12-03 17:24:38,017 - oe-selftest - INFO - SUMMARY: |2025-12-03 17:24:38,017 - oe-selftest - INFO - oe-selftest () - Ran 1 test in 1616.811s |2025-12-03 17:24:38,018 - oe-selftest - INFO - oe-selftest - OK - All required tests passed (successes=1, skipped=0, failures=0, errors=0) ptests look OK (with new skips): |== Tests result: SUCCESS == | |28 tests skipped: | test.test_asyncio.test_windows_events | test.test_asyncio.test_windows_utils test.test_gdb.test_backtrace | test.test_gdb.test_cfunction test.test_gdb.test_cfunction_full | test.test_gdb.test_misc test.test_gdb.test_pretty_print | test_android test_apple test_asdl_parser test_clinic test_devpoll | test_free_threading test_generated_cases test_idle test_kqueue | test_launcher test_msvcrt test_startfile test_tcl test_tkinter | test_ttk test_ttk_textonly test_turtle test_winapi | test_winconsoleio test_winreg test_wmi | |8 tests skipped (resource denied): | test_curses test_peg_generator test_smtpnet test_socketserver | test_urllib2net test_urllibnet test_winsound test_zipfile64 | |455 tests OK. | |Total duration: 3 min 5 sec |Total tests: run=46,110 skipped=2,364 |Total test files: run=483/491 skipped=28 resource_denied=8 |Result: SUCCESS |DURATION: 186 |END: /usr/lib/python3/ptest |2025-12-04T00:20 |STOP: ptest-runner |TOTAL: 1 FAIL: 0 buildall-qemu result: BUILDALL-QEMU LOG FOR python3 START TIME: 2025-12-03_10:08:36 HOSTNAME: megalith HOST OS: Fedora Linux 43 (Server Edition) HOST KERNEL: 6.17.8-300.fc43.x86_64 =============== BUILD RESULTS: [glibc] PASS: qemuarm PASS: qemuarm64 PASS: qemuarmv5 PASS: qemuloongarch64 PASS: qemumips PASS: qemumips64 PASS: qemuppc PASS: qemuppc64 PASS: qemuriscv32 PASS: qemuriscv64 PASS: qemux86-64 PASS: qemux86 [musl] PASS: qemuarm PASS: qemuarm64 PASS: qemuarmv5 FAIL: qemuloongarch64 PASS: qemumips PASS: qemumips64 PASS: qemuppc PASS: qemuppc64 PASS: qemuriscv32 PASS: qemuriscv64 PASS: qemux86-64 PASS: qemux86 =============== PASSED: 23 FAILED: 1 License-Update: Update copyright example in body Signed-off-by: Trevor Gamblin --- meta/classes-recipe/python3-dir.bbclass | 2 +- ...r-OpenSSL-3.4-and-add-it-to-multissl.patch | 1452 ----------------- ...-use-prefix-value-from-build-configu.patch | 35 +- ...sts-due-to-load-variability-on-YP-AB.patch | 37 +- ...ctive_children-skip-problematic-test.patch | 17 +- ...1-test_cmd-skip-bang-completion-test.patch | 31 + ...-test_unix_console.test_cursor_back_.patch | 46 + ...kip-test_sysconfig.test_sysconfigdat.patch | 32 + .../python/python3/python3-manifest.json | 3 +- .../{python3_3.13.9.bb => python3_3.14.0.bb} | 20 +- 10 files changed, 191 insertions(+), 1484 deletions(-) delete mode 100644 meta/recipes-devtools/python/python3/0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch create mode 100644 meta/recipes-devtools/python/python3/0001-test_cmd-skip-bang-completion-test.patch create mode 100644 meta/recipes-devtools/python/python3/0001-test_pyrepl-skip-test_unix_console.test_cursor_back_.patch create mode 100644 meta/recipes-devtools/python/python3/0001-test_sysconfig-skip-test_sysconfig.test_sysconfigdat.patch rename meta/recipes-devtools/python/{python3_3.13.9.bb => python3_3.14.0.bb} (95%) diff --git a/meta/classes-recipe/python3-dir.bbclass b/meta/classes-recipe/python3-dir.bbclass index 0f4e7e7773..3eb0dea9b2 100644 --- a/meta/classes-recipe/python3-dir.bbclass +++ b/meta/classes-recipe/python3-dir.bbclass @@ -4,7 +4,7 @@ # SPDX-License-Identifier: MIT # -PYTHON_BASEVERSION = "3.13" +PYTHON_BASEVERSION = "3.14" PYTHON_ABI = "" PYTHON_DIR = "python${PYTHON_BASEVERSION}" PYTHON_PN = "python3" diff --git a/meta/recipes-devtools/python/python3/0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch b/meta/recipes-devtools/python/python3/0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch deleted file mode 100644 index 327124e4e3..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch +++ /dev/null @@ -1,1452 +0,0 @@ -From db5c5763f3e3172f1dd011355b41469770dafc0f Mon Sep 17 00:00:00 2001 -From: Petr Viktorin -Date: Thu, 28 Nov 2024 13:29:27 +0100 -Subject: [PATCH] gh-127330: Update for OpenSSL 3.4 & document+improve the - update process (GH-127331) - -- Add `git describe` output to headers generated by `make_ssl_data.py` - - This info is more important than the date when the file was generated. - It does mean that the tool now requires a Git checkout of OpenSSL, - not for example a release tarball. - -- Regenerate the older file to add the info. - To the other older file, add a note about manual edits. - -- Add notes on how to add a new OpenSSL version - -- Add 3.4 error messages and multissl tests - -Upstream-Status: Submitted [https://github.com/python/cpython/commit/db5c5763f3e3172f1dd011355b41469770dafc0f] -Signed-off-by: Peter Marko ---- - Modules/_ssl.c | 2 +- - Modules/_ssl_data_111.h | 4 +- - Modules/_ssl_data_300.h | 5 +- - Modules/{_ssl_data_31.h => _ssl_data_34.h} | 674 ++++++++++++++++++++- - Tools/c-analyzer/cpython/_parser.py | 4 +- - Tools/ssl/make_ssl_data.py | 34 +- - Tools/ssl/multissltests.py | 1 + - 7 files changed, 714 insertions(+), 10 deletions(-) - rename Modules/{_ssl_data_31.h => _ssl_data_34.h} (92%) - -diff --git a/Modules/_ssl.c b/Modules/_ssl.c -index b6b5ebf094c..e5b8bf21002 100644 ---- a/Modules/_ssl.c -+++ b/Modules/_ssl.c -@@ -121,7 +121,7 @@ static void _PySSLFixErrno(void) { - - /* Include generated data (error codes) */ - #if (OPENSSL_VERSION_NUMBER >= 0x30100000L) --#include "_ssl_data_31.h" -+#include "_ssl_data_34.h" - #elif (OPENSSL_VERSION_NUMBER >= 0x30000000L) - #include "_ssl_data_300.h" - #elif (OPENSSL_VERSION_NUMBER >= 0x10101000L) -diff --git a/Modules/_ssl_data_111.h b/Modules/_ssl_data_111.h -index 093c786e6a2..061fac2bd58 100644 ---- a/Modules/_ssl_data_111.h -+++ b/Modules/_ssl_data_111.h -@@ -1,4 +1,6 @@ --/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 2023-06-01T02:58:04.081473 */ -+/* File generated by Tools/ssl/make_ssl_data.py */ -+/* Generated on 2024-11-27T12:48:46.194048+00:00 */ -+/* Generated from Git commit OpenSSL_1_1_1w-0-ge04bd3433f */ - static struct py_ssl_library_code library_codes[] = { - #ifdef ERR_LIB_ASN1 - {"ASN1", ERR_LIB_ASN1}, -diff --git a/Modules/_ssl_data_300.h b/Modules/_ssl_data_300.h -index dc66731f6b6..b687ce43c77 100644 ---- a/Modules/_ssl_data_300.h -+++ b/Modules/_ssl_data_300.h -@@ -1,4 +1,7 @@ --/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 2023-06-01T03:03:52.163218 */ -+/* File generated by Tools/ssl/make_ssl_data.py */ -+/* Generated on 2023-06-01T03:03:52.163218 */ -+/* Manually edited to add definitions from 1.1.1 (GH-105174) */ -+ - static struct py_ssl_library_code library_codes[] = { - #ifdef ERR_LIB_ASN1 - {"ASN1", ERR_LIB_ASN1}, -diff --git a/Modules/_ssl_data_31.h b/Modules/_ssl_data_34.h -similarity index 92% -rename from Modules/_ssl_data_31.h -rename to Modules/_ssl_data_34.h -index c589c501f4e..d4af3e1c1fa 100644 ---- a/Modules/_ssl_data_31.h -+++ b/Modules/_ssl_data_34.h -@@ -1,4 +1,6 @@ --/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 2023-06-01T03:04:00.275280 */ -+/* File generated by Tools/ssl/make_ssl_data.py */ -+/* Generated on 2024-11-27T12:35:52.276767+00:00 */ -+/* Generated from Git commit openssl-3.4.0-0-g98acb6b028 */ - static struct py_ssl_library_code library_codes[] = { - #ifdef ERR_LIB_ASN1 - {"ASN1", ERR_LIB_ASN1}, -@@ -300,6 +302,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"FIRST_NUM_TOO_LARGE", 13, 122}, - #endif -+ #ifdef ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT -+ {"GENERALIZEDTIME_IS_TOO_SHORT", ERR_LIB_ASN1, ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT}, -+ #else -+ {"GENERALIZEDTIME_IS_TOO_SHORT", 13, 232}, -+ #endif - #ifdef ASN1_R_HEADER_TOO_LONG - {"HEADER_TOO_LONG", ERR_LIB_ASN1, ASN1_R_HEADER_TOO_LONG}, - #else -@@ -730,6 +737,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNSUPPORTED_TYPE", 13, 196}, - #endif -+ #ifdef ASN1_R_UTCTIME_IS_TOO_SHORT -+ {"UTCTIME_IS_TOO_SHORT", ERR_LIB_ASN1, ASN1_R_UTCTIME_IS_TOO_SHORT}, -+ #else -+ {"UTCTIME_IS_TOO_SHORT", 13, 233}, -+ #endif - #ifdef ASN1_R_WRONG_INTEGER_TYPE - {"WRONG_INTEGER_TYPE", ERR_LIB_ASN1, ASN1_R_WRONG_INTEGER_TYPE}, - #else -@@ -845,6 +857,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"LISTEN_V6_ONLY", 32, 136}, - #endif -+ #ifdef BIO_R_LOCAL_ADDR_NOT_AVAILABLE -+ {"LOCAL_ADDR_NOT_AVAILABLE", ERR_LIB_BIO, BIO_R_LOCAL_ADDR_NOT_AVAILABLE}, -+ #else -+ {"LOCAL_ADDR_NOT_AVAILABLE", 32, 111}, -+ #endif - #ifdef BIO_R_LOOKUP_RETURNED_NOTHING - {"LOOKUP_RETURNED_NOTHING", ERR_LIB_BIO, BIO_R_LOOKUP_RETURNED_NOTHING}, - #else -@@ -860,6 +877,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"NBIO_CONNECT_ERROR", 32, 110}, - #endif -+ #ifdef BIO_R_NON_FATAL -+ {"NON_FATAL", ERR_LIB_BIO, BIO_R_NON_FATAL}, -+ #else -+ {"NON_FATAL", 32, 112}, -+ #endif - #ifdef BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED - {"NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED", ERR_LIB_BIO, BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED}, - #else -@@ -880,6 +902,26 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"NO_SUCH_FILE", 32, 128}, - #endif -+ #ifdef BIO_R_PEER_ADDR_NOT_AVAILABLE -+ {"PEER_ADDR_NOT_AVAILABLE", ERR_LIB_BIO, BIO_R_PEER_ADDR_NOT_AVAILABLE}, -+ #else -+ {"PEER_ADDR_NOT_AVAILABLE", 32, 114}, -+ #endif -+ #ifdef BIO_R_PORT_MISMATCH -+ {"PORT_MISMATCH", ERR_LIB_BIO, BIO_R_PORT_MISMATCH}, -+ #else -+ {"PORT_MISMATCH", 32, 150}, -+ #endif -+ #ifdef BIO_R_TFO_DISABLED -+ {"TFO_DISABLED", ERR_LIB_BIO, BIO_R_TFO_DISABLED}, -+ #else -+ {"TFO_DISABLED", 32, 106}, -+ #endif -+ #ifdef BIO_R_TFO_NO_KERNEL_SUPPORT -+ {"TFO_NO_KERNEL_SUPPORT", ERR_LIB_BIO, BIO_R_TFO_NO_KERNEL_SUPPORT}, -+ #else -+ {"TFO_NO_KERNEL_SUPPORT", 32, 108}, -+ #endif - #ifdef BIO_R_TRANSFER_ERROR - {"TRANSFER_ERROR", ERR_LIB_BIO, BIO_R_TRANSFER_ERROR}, - #else -@@ -920,6 +962,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNABLE_TO_REUSEADDR", 32, 139}, - #endif -+ #ifdef BIO_R_UNABLE_TO_TFO -+ {"UNABLE_TO_TFO", ERR_LIB_BIO, BIO_R_UNABLE_TO_TFO}, -+ #else -+ {"UNABLE_TO_TFO", 32, 109}, -+ #endif - #ifdef BIO_R_UNAVAILABLE_IP_FAMILY - {"UNAVAILABLE_IP_FAMILY", ERR_LIB_BIO, BIO_R_UNAVAILABLE_IP_FAMILY}, - #else -@@ -1230,6 +1277,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"ERROR_VALIDATING_SIGNATURE", 58, 171}, - #endif -+ #ifdef CMP_R_EXPECTED_POLLREQ -+ {"EXPECTED_POLLREQ", ERR_LIB_CMP, CMP_R_EXPECTED_POLLREQ}, -+ #else -+ {"EXPECTED_POLLREQ", 58, 104}, -+ #endif - #ifdef CMP_R_FAILED_BUILDING_OWN_CHAIN - {"FAILED_BUILDING_OWN_CHAIN", ERR_LIB_CMP, CMP_R_FAILED_BUILDING_OWN_CHAIN}, - #else -@@ -1250,16 +1302,51 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"FAIL_INFO_OUT_OF_RANGE", 58, 129}, - #endif -+ #ifdef CMP_R_GENERATE_CERTREQTEMPLATE -+ {"GENERATE_CERTREQTEMPLATE", ERR_LIB_CMP, CMP_R_GENERATE_CERTREQTEMPLATE}, -+ #else -+ {"GENERATE_CERTREQTEMPLATE", 58, 197}, -+ #endif -+ #ifdef CMP_R_GENERATE_CRLSTATUS -+ {"GENERATE_CRLSTATUS", ERR_LIB_CMP, CMP_R_GENERATE_CRLSTATUS}, -+ #else -+ {"GENERATE_CRLSTATUS", 58, 198}, -+ #endif -+ #ifdef CMP_R_GETTING_GENP -+ {"GETTING_GENP", ERR_LIB_CMP, CMP_R_GETTING_GENP}, -+ #else -+ {"GETTING_GENP", 58, 192}, -+ #endif -+ #ifdef CMP_R_GET_ITAV -+ {"GET_ITAV", ERR_LIB_CMP, CMP_R_GET_ITAV}, -+ #else -+ {"GET_ITAV", 58, 199}, -+ #endif - #ifdef CMP_R_INVALID_ARGS - {"INVALID_ARGS", ERR_LIB_CMP, CMP_R_INVALID_ARGS}, - #else - {"INVALID_ARGS", 58, 100}, - #endif -+ #ifdef CMP_R_INVALID_GENP -+ {"INVALID_GENP", ERR_LIB_CMP, CMP_R_INVALID_GENP}, -+ #else -+ {"INVALID_GENP", 58, 193}, -+ #endif -+ #ifdef CMP_R_INVALID_KEYSPEC -+ {"INVALID_KEYSPEC", ERR_LIB_CMP, CMP_R_INVALID_KEYSPEC}, -+ #else -+ {"INVALID_KEYSPEC", 58, 202}, -+ #endif - #ifdef CMP_R_INVALID_OPTION - {"INVALID_OPTION", ERR_LIB_CMP, CMP_R_INVALID_OPTION}, - #else - {"INVALID_OPTION", 58, 174}, - #endif -+ #ifdef CMP_R_INVALID_ROOTCAKEYUPDATE -+ {"INVALID_ROOTCAKEYUPDATE", ERR_LIB_CMP, CMP_R_INVALID_ROOTCAKEYUPDATE}, -+ #else -+ {"INVALID_ROOTCAKEYUPDATE", 58, 195}, -+ #endif - #ifdef CMP_R_MISSING_CERTID - {"MISSING_CERTID", ERR_LIB_CMP, CMP_R_MISSING_CERTID}, - #else -@@ -1425,6 +1512,21 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TRANSFER_ERROR", 58, 159}, - #endif -+ #ifdef CMP_R_UNCLEAN_CTX -+ {"UNCLEAN_CTX", ERR_LIB_CMP, CMP_R_UNCLEAN_CTX}, -+ #else -+ {"UNCLEAN_CTX", 58, 191}, -+ #endif -+ #ifdef CMP_R_UNEXPECTED_CERTPROFILE -+ {"UNEXPECTED_CERTPROFILE", ERR_LIB_CMP, CMP_R_UNEXPECTED_CERTPROFILE}, -+ #else -+ {"UNEXPECTED_CERTPROFILE", 58, 196}, -+ #endif -+ #ifdef CMP_R_UNEXPECTED_CRLSTATUSLIST -+ {"UNEXPECTED_CRLSTATUSLIST", ERR_LIB_CMP, CMP_R_UNEXPECTED_CRLSTATUSLIST}, -+ #else -+ {"UNEXPECTED_CRLSTATUSLIST", 58, 201}, -+ #endif - #ifdef CMP_R_UNEXPECTED_PKIBODY - {"UNEXPECTED_PKIBODY", ERR_LIB_CMP, CMP_R_UNEXPECTED_PKIBODY}, - #else -@@ -1435,11 +1537,21 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNEXPECTED_PKISTATUS", 58, 185}, - #endif -+ #ifdef CMP_R_UNEXPECTED_POLLREQ -+ {"UNEXPECTED_POLLREQ", ERR_LIB_CMP, CMP_R_UNEXPECTED_POLLREQ}, -+ #else -+ {"UNEXPECTED_POLLREQ", 58, 105}, -+ #endif - #ifdef CMP_R_UNEXPECTED_PVNO - {"UNEXPECTED_PVNO", ERR_LIB_CMP, CMP_R_UNEXPECTED_PVNO}, - #else - {"UNEXPECTED_PVNO", 58, 153}, - #endif -+ #ifdef CMP_R_UNEXPECTED_SENDER -+ {"UNEXPECTED_SENDER", ERR_LIB_CMP, CMP_R_UNEXPECTED_SENDER}, -+ #else -+ {"UNEXPECTED_SENDER", 58, 106}, -+ #endif - #ifdef CMP_R_UNKNOWN_ALGORITHM_ID - {"UNKNOWN_ALGORITHM_ID", ERR_LIB_CMP, CMP_R_UNKNOWN_ALGORITHM_ID}, - #else -@@ -1450,6 +1562,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNKNOWN_CERT_TYPE", 58, 135}, - #endif -+ #ifdef CMP_R_UNKNOWN_CRL_ISSUER -+ {"UNKNOWN_CRL_ISSUER", ERR_LIB_CMP, CMP_R_UNKNOWN_CRL_ISSUER}, -+ #else -+ {"UNKNOWN_CRL_ISSUER", 58, 200}, -+ #endif - #ifdef CMP_R_UNKNOWN_PKISTATUS - {"UNKNOWN_PKISTATUS", ERR_LIB_CMP, CMP_R_UNKNOWN_PKISTATUS}, - #else -@@ -1465,6 +1582,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNSUPPORTED_KEY_TYPE", 58, 137}, - #endif -+ #ifdef CMP_R_UNSUPPORTED_PKIBODY -+ {"UNSUPPORTED_PKIBODY", ERR_LIB_CMP, CMP_R_UNSUPPORTED_PKIBODY}, -+ #else -+ {"UNSUPPORTED_PKIBODY", 58, 101}, -+ #endif - #ifdef CMP_R_UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC - {"UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC", ERR_LIB_CMP, CMP_R_UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC}, - #else -@@ -1825,6 +1947,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"NO_SIGNERS", 46, 135}, - #endif -+ #ifdef CMS_R_OPERATION_UNSUPPORTED -+ {"OPERATION_UNSUPPORTED", ERR_LIB_CMS, CMS_R_OPERATION_UNSUPPORTED}, -+ #else -+ {"OPERATION_UNSUPPORTED", 46, 182}, -+ #endif - #ifdef CMS_R_PEER_KEY_ERROR - {"PEER_KEY_ERROR", ERR_LIB_CMS, CMS_R_PEER_KEY_ERROR}, - #else -@@ -1960,6 +2087,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNSUPPORTED_RECIPIENT_TYPE", 46, 154}, - #endif -+ #ifdef CMS_R_UNSUPPORTED_SIGNATURE_ALGORITHM -+ {"UNSUPPORTED_SIGNATURE_ALGORITHM", ERR_LIB_CMS, CMS_R_UNSUPPORTED_SIGNATURE_ALGORITHM}, -+ #else -+ {"UNSUPPORTED_SIGNATURE_ALGORITHM", 46, 195}, -+ #endif - #ifdef CMS_R_UNSUPPORTED_TYPE - {"UNSUPPORTED_TYPE", ERR_LIB_CMS, CMS_R_UNSUPPORTED_TYPE}, - #else -@@ -1985,6 +2117,31 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"WRAP_ERROR", 46, 159}, - #endif -+ #ifdef COMP_R_BROTLI_DECODE_ERROR -+ {"BROTLI_DECODE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_DECODE_ERROR}, -+ #else -+ {"BROTLI_DECODE_ERROR", 41, 102}, -+ #endif -+ #ifdef COMP_R_BROTLI_DEFLATE_ERROR -+ {"BROTLI_DEFLATE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_DEFLATE_ERROR}, -+ #else -+ {"BROTLI_DEFLATE_ERROR", 41, 103}, -+ #endif -+ #ifdef COMP_R_BROTLI_ENCODE_ERROR -+ {"BROTLI_ENCODE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_ENCODE_ERROR}, -+ #else -+ {"BROTLI_ENCODE_ERROR", 41, 106}, -+ #endif -+ #ifdef COMP_R_BROTLI_INFLATE_ERROR -+ {"BROTLI_INFLATE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_INFLATE_ERROR}, -+ #else -+ {"BROTLI_INFLATE_ERROR", 41, 104}, -+ #endif -+ #ifdef COMP_R_BROTLI_NOT_SUPPORTED -+ {"BROTLI_NOT_SUPPORTED", ERR_LIB_COMP, COMP_R_BROTLI_NOT_SUPPORTED}, -+ #else -+ {"BROTLI_NOT_SUPPORTED", 41, 105}, -+ #endif - #ifdef COMP_R_ZLIB_DEFLATE_ERROR - {"ZLIB_DEFLATE_ERROR", ERR_LIB_COMP, COMP_R_ZLIB_DEFLATE_ERROR}, - #else -@@ -2000,6 +2157,26 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"ZLIB_NOT_SUPPORTED", 41, 101}, - #endif -+ #ifdef COMP_R_ZSTD_COMPRESS_ERROR -+ {"ZSTD_COMPRESS_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_COMPRESS_ERROR}, -+ #else -+ {"ZSTD_COMPRESS_ERROR", 41, 107}, -+ #endif -+ #ifdef COMP_R_ZSTD_DECODE_ERROR -+ {"ZSTD_DECODE_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_DECODE_ERROR}, -+ #else -+ {"ZSTD_DECODE_ERROR", 41, 108}, -+ #endif -+ #ifdef COMP_R_ZSTD_DECOMPRESS_ERROR -+ {"ZSTD_DECOMPRESS_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_DECOMPRESS_ERROR}, -+ #else -+ {"ZSTD_DECOMPRESS_ERROR", 41, 109}, -+ #endif -+ #ifdef COMP_R_ZSTD_NOT_SUPPORTED -+ {"ZSTD_NOT_SUPPORTED", ERR_LIB_COMP, COMP_R_ZSTD_NOT_SUPPORTED}, -+ #else -+ {"ZSTD_NOT_SUPPORTED", 41, 110}, -+ #endif - #ifdef CONF_R_ERROR_LOADING_DSO - {"ERROR_LOADING_DSO", ERR_LIB_CONF, CONF_R_ERROR_LOADING_DSO}, - #else -@@ -2085,6 +2262,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"RECURSIVE_DIRECTORY_INCLUDE", 14, 111}, - #endif -+ #ifdef CONF_R_RECURSIVE_SECTION_REFERENCE -+ {"RECURSIVE_SECTION_REFERENCE", ERR_LIB_CONF, CONF_R_RECURSIVE_SECTION_REFERENCE}, -+ #else -+ {"RECURSIVE_SECTION_REFERENCE", 14, 126}, -+ #endif - #ifdef CONF_R_RELATIVE_PATH - {"RELATIVE_PATH", ERR_LIB_CONF, CONF_R_RELATIVE_PATH}, - #else -@@ -2370,6 +2552,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TOO_MANY_BYTES", 15, 113}, - #endif -+ #ifdef CRYPTO_R_TOO_MANY_NAMES -+ {"TOO_MANY_NAMES", ERR_LIB_CRYPTO, CRYPTO_R_TOO_MANY_NAMES}, -+ #else -+ {"TOO_MANY_NAMES", 15, 132}, -+ #endif - #ifdef CRYPTO_R_TOO_MANY_RECORDS - {"TOO_MANY_RECORDS", ERR_LIB_CRYPTO, CRYPTO_R_TOO_MANY_RECORDS}, - #else -@@ -2560,6 +2747,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INVALID_SECRET", 5, 128}, - #endif -+ #ifdef DH_R_INVALID_SIZE -+ {"INVALID_SIZE", ERR_LIB_DH, DH_R_INVALID_SIZE}, -+ #else -+ {"INVALID_SIZE", 5, 129}, -+ #endif - #ifdef DH_R_KDF_PARAMETER_ERROR - {"KDF_PARAMETER_ERROR", ERR_LIB_DH, DH_R_KDF_PARAMETER_ERROR}, - #else -@@ -2610,6 +2802,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"PEER_KEY_ERROR", 5, 111}, - #endif -+ #ifdef DH_R_Q_TOO_LARGE -+ {"Q_TOO_LARGE", ERR_LIB_DH, DH_R_Q_TOO_LARGE}, -+ #else -+ {"Q_TOO_LARGE", 5, 130}, -+ #endif - #ifdef DH_R_SHARED_INFO_ERROR - {"SHARED_INFO_ERROR", ERR_LIB_DH, DH_R_SHARED_INFO_ERROR}, - #else -@@ -3545,6 +3742,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"GENERATE_ERROR", 6, 214}, - #endif -+ #ifdef EVP_R_GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED -+ {"GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED", ERR_LIB_EVP, EVP_R_GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED}, -+ #else -+ {"GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED", 6, 229}, -+ #endif - #ifdef EVP_R_GET_RAW_KEY_FAILED - {"GET_RAW_KEY_FAILED", ERR_LIB_EVP, EVP_R_GET_RAW_KEY_FAILED}, - #else -@@ -3745,6 +3947,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE", 6, 150}, - #endif -+ #ifdef EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE -+ {"OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE", ERR_LIB_EVP, EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE}, -+ #else -+ {"OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE", 6, 226}, -+ #endif - #ifdef EVP_R_OUTPUT_WOULD_OVERFLOW - {"OUTPUT_WOULD_OVERFLOW", ERR_LIB_EVP, EVP_R_OUTPUT_WOULD_OVERFLOW}, - #else -@@ -3795,6 +4002,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"SET_DEFAULT_PROPERTY_FAILURE", 6, 209}, - #endif -+ #ifdef EVP_R_SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE -+ {"SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE", ERR_LIB_EVP, EVP_R_SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE}, -+ #else -+ {"SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE", 6, 228}, -+ #endif - #ifdef EVP_R_TOO_MANY_RECORDS - {"TOO_MANY_RECORDS", ERR_LIB_EVP, EVP_R_TOO_MANY_RECORDS}, - #else -@@ -3825,6 +4037,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNABLE_TO_SET_CALLBACKS", 6, 217}, - #endif -+ #ifdef EVP_R_UNKNOWN_BITS -+ {"UNKNOWN_BITS", ERR_LIB_EVP, EVP_R_UNKNOWN_BITS}, -+ #else -+ {"UNKNOWN_BITS", 6, 166}, -+ #endif - #ifdef EVP_R_UNKNOWN_CIPHER - {"UNKNOWN_CIPHER", ERR_LIB_EVP, EVP_R_UNKNOWN_CIPHER}, - #else -@@ -3840,6 +4057,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNKNOWN_KEY_TYPE", 6, 207}, - #endif -+ #ifdef EVP_R_UNKNOWN_MAX_SIZE -+ {"UNKNOWN_MAX_SIZE", ERR_LIB_EVP, EVP_R_UNKNOWN_MAX_SIZE}, -+ #else -+ {"UNKNOWN_MAX_SIZE", 6, 167}, -+ #endif - #ifdef EVP_R_UNKNOWN_OPTION - {"UNKNOWN_OPTION", ERR_LIB_EVP, EVP_R_UNKNOWN_OPTION}, - #else -@@ -3850,6 +4072,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNKNOWN_PBE_ALGORITHM", 6, 121}, - #endif -+ #ifdef EVP_R_UNKNOWN_SECURITY_BITS -+ {"UNKNOWN_SECURITY_BITS", ERR_LIB_EVP, EVP_R_UNKNOWN_SECURITY_BITS}, -+ #else -+ {"UNKNOWN_SECURITY_BITS", 6, 168}, -+ #endif - #ifdef EVP_R_UNSUPPORTED_ALGORITHM - {"UNSUPPORTED_ALGORITHM", ERR_LIB_EVP, EVP_R_UNSUPPORTED_ALGORITHM}, - #else -@@ -4040,6 +4267,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"RESPONSE_PARSE_ERROR", 61, 104}, - #endif -+ #ifdef HTTP_R_RESPONSE_TOO_MANY_HDRLINES -+ {"RESPONSE_TOO_MANY_HDRLINES", ERR_LIB_HTTP, HTTP_R_RESPONSE_TOO_MANY_HDRLINES}, -+ #else -+ {"RESPONSE_TOO_MANY_HDRLINES", 61, 130}, -+ #endif - #ifdef HTTP_R_RETRY_TIMEOUT - {"RETRY_TIMEOUT", ERR_LIB_HTTP, HTTP_R_RETRY_TIMEOUT}, - #else -@@ -4530,6 +4762,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNSUPPORTED_PUBLIC_KEY_TYPE", 9, 110}, - #endif -+ #ifdef PKCS12_R_CALLBACK_FAILED -+ {"CALLBACK_FAILED", ERR_LIB_PKCS12, PKCS12_R_CALLBACK_FAILED}, -+ #else -+ {"CALLBACK_FAILED", 35, 115}, -+ #endif - #ifdef PKCS12_R_CANT_PACK_STRUCTURE - {"CANT_PACK_STRUCTURE", ERR_LIB_PKCS12, PKCS12_R_CANT_PACK_STRUCTURE}, - #else -@@ -4920,6 +5157,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"CIPHER_OPERATION_FAILED", 57, 102}, - #endif -+ #ifdef PROV_R_COFACTOR_REQUIRED -+ {"COFACTOR_REQUIRED", ERR_LIB_PROV, PROV_R_COFACTOR_REQUIRED}, -+ #else -+ {"COFACTOR_REQUIRED", 57, 236}, -+ #endif - #ifdef PROV_R_DERIVATION_FUNCTION_INIT_FAILED - {"DERIVATION_FUNCTION_INIT_FAILED", ERR_LIB_PROV, PROV_R_DERIVATION_FUNCTION_INIT_FAILED}, - #else -@@ -4935,6 +5177,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"EMS_NOT_ENABLED", 57, 233}, - #endif -+ #ifdef PROV_R_ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS -+ {"ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS", ERR_LIB_PROV, PROV_R_ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS}, -+ #else -+ {"ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS", 57, 244}, -+ #endif - #ifdef PROV_R_ENTROPY_SOURCE_STRENGTH_TOO_WEAK - {"ENTROPY_SOURCE_STRENGTH_TOO_WEAK", ERR_LIB_PROV, PROV_R_ENTROPY_SOURCE_STRENGTH_TOO_WEAK}, - #else -@@ -4990,6 +5237,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"FAILED_TO_SIGN", 57, 175}, - #endif -+ #ifdef PROV_R_FINAL_CALL_OUT_OF_ORDER -+ {"FINAL_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_FINAL_CALL_OUT_OF_ORDER}, -+ #else -+ {"FINAL_CALL_OUT_OF_ORDER", 57, 237}, -+ #endif - #ifdef PROV_R_FIPS_MODULE_CONDITIONAL_ERROR - {"FIPS_MODULE_CONDITIONAL_ERROR", ERR_LIB_PROV, PROV_R_FIPS_MODULE_CONDITIONAL_ERROR}, - #else -@@ -5020,6 +5272,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INDICATOR_INTEGRITY_FAILURE", 57, 210}, - #endif -+ #ifdef PROV_R_INIT_CALL_OUT_OF_ORDER -+ {"INIT_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_INIT_CALL_OUT_OF_ORDER}, -+ #else -+ {"INIT_CALL_OUT_OF_ORDER", 57, 238}, -+ #endif - #ifdef PROV_R_INSUFFICIENT_DRBG_STRENGTH - {"INSUFFICIENT_DRBG_STRENGTH", ERR_LIB_PROV, PROV_R_INSUFFICIENT_DRBG_STRENGTH}, - #else -@@ -5030,6 +5287,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INVALID_AAD", 57, 108}, - #endif -+ #ifdef PROV_R_INVALID_AEAD -+ {"INVALID_AEAD", ERR_LIB_PROV, PROV_R_INVALID_AEAD}, -+ #else -+ {"INVALID_AEAD", 57, 231}, -+ #endif - #ifdef PROV_R_INVALID_CONFIG_DATA - {"INVALID_CONFIG_DATA", ERR_LIB_PROV, PROV_R_INVALID_CONFIG_DATA}, - #else -@@ -5070,6 +5332,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INVALID_DIGEST_SIZE", 57, 218}, - #endif -+ #ifdef PROV_R_INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION -+ {"INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION", ERR_LIB_PROV, PROV_R_INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION}, -+ #else -+ {"INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION", 57, 243}, -+ #endif - #ifdef PROV_R_INVALID_INPUT_LENGTH - {"INVALID_INPUT_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_INPUT_LENGTH}, - #else -@@ -5085,6 +5352,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INVALID_IV_LENGTH", 57, 109}, - #endif -+ #ifdef PROV_R_INVALID_KDF -+ {"INVALID_KDF", ERR_LIB_PROV, PROV_R_INVALID_KDF}, -+ #else -+ {"INVALID_KDF", 57, 232}, -+ #endif - #ifdef PROV_R_INVALID_KEY - {"INVALID_KEY", ERR_LIB_PROV, PROV_R_INVALID_KEY}, - #else -@@ -5100,6 +5372,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INVALID_MAC", 57, 151}, - #endif -+ #ifdef PROV_R_INVALID_MEMORY_SIZE -+ {"INVALID_MEMORY_SIZE", ERR_LIB_PROV, PROV_R_INVALID_MEMORY_SIZE}, -+ #else -+ {"INVALID_MEMORY_SIZE", 57, 235}, -+ #endif - #ifdef PROV_R_INVALID_MGF1_MD - {"INVALID_MGF1_MD", ERR_LIB_PROV, PROV_R_INVALID_MGF1_MD}, - #else -@@ -5120,6 +5397,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INVALID_PADDING_MODE", 57, 168}, - #endif -+ #ifdef PROV_R_INVALID_PREHASHED_DIGEST_LENGTH -+ {"INVALID_PREHASHED_DIGEST_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_PREHASHED_DIGEST_LENGTH}, -+ #else -+ {"INVALID_PREHASHED_DIGEST_LENGTH", 57, 241}, -+ #endif - #ifdef PROV_R_INVALID_PUBINFO - {"INVALID_PUBINFO", ERR_LIB_PROV, PROV_R_INVALID_PUBINFO}, - #else -@@ -5155,6 +5437,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INVALID_TAG_LENGTH", 57, 118}, - #endif -+ #ifdef PROV_R_INVALID_THREAD_POOL_SIZE -+ {"INVALID_THREAD_POOL_SIZE", ERR_LIB_PROV, PROV_R_INVALID_THREAD_POOL_SIZE}, -+ #else -+ {"INVALID_THREAD_POOL_SIZE", 57, 234}, -+ #endif - #ifdef PROV_R_INVALID_UKM_LENGTH - {"INVALID_UKM_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_UKM_LENGTH}, - #else -@@ -5300,6 +5587,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"NOT_XOF_OR_INVALID_LENGTH", 57, 113}, - #endif -+ #ifdef PROV_R_NO_INSTANCE_ALLOWED -+ {"NO_INSTANCE_ALLOWED", ERR_LIB_PROV, PROV_R_NO_INSTANCE_ALLOWED}, -+ #else -+ {"NO_INSTANCE_ALLOWED", 57, 242}, -+ #endif - #ifdef PROV_R_NO_KEY_SET - {"NO_KEY_SET", ERR_LIB_PROV, PROV_R_NO_KEY_SET}, - #else -@@ -5310,6 +5602,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"NO_PARAMETERS_SET", 57, 177}, - #endif -+ #ifdef PROV_R_ONESHOT_CALL_OUT_OF_ORDER -+ {"ONESHOT_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_ONESHOT_CALL_OUT_OF_ORDER}, -+ #else -+ {"ONESHOT_CALL_OUT_OF_ORDER", 57, 239}, -+ #endif - #ifdef PROV_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE - {"OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE", ERR_LIB_PROV, PROV_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE}, - #else -@@ -5460,6 +5757,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNSUPPORTED_NUMBER_OF_ROUNDS", 57, 152}, - #endif -+ #ifdef PROV_R_UPDATE_CALL_OUT_OF_ORDER -+ {"UPDATE_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_UPDATE_CALL_OUT_OF_ORDER}, -+ #else -+ {"UPDATE_CALL_OUT_OF_ORDER", 57, 240}, -+ #endif - #ifdef PROV_R_URI_AUTHORITY_UNSUPPORTED - {"URI_AUTHORITY_UNSUPPORTED", ERR_LIB_PROV, PROV_R_URI_AUTHORITY_UNSUPPORTED}, - #else -@@ -5595,6 +5897,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INTERNAL_ERROR", 36, 113}, - #endif -+ #ifdef RAND_R_INVALID_PROPERTY_QUERY -+ {"INVALID_PROPERTY_QUERY", ERR_LIB_RAND, RAND_R_INVALID_PROPERTY_QUERY}, -+ #else -+ {"INVALID_PROPERTY_QUERY", 36, 137}, -+ #endif - #ifdef RAND_R_IN_ERROR_STATE - {"IN_ERROR_STATE", ERR_LIB_RAND, RAND_R_IN_ERROR_STATE}, - #else -@@ -6210,6 +6517,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE", 20, 158}, - #endif -+ #ifdef SSL_R_BAD_CERTIFICATE -+ {"BAD_CERTIFICATE", ERR_LIB_SSL, SSL_R_BAD_CERTIFICATE}, -+ #else -+ {"BAD_CERTIFICATE", 20, 348}, -+ #endif - #ifdef SSL_R_BAD_CHANGE_CIPHER_SPEC - {"BAD_CHANGE_CIPHER_SPEC", ERR_LIB_SSL, SSL_R_BAD_CHANGE_CIPHER_SPEC}, - #else -@@ -6220,6 +6532,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"BAD_CIPHER", 20, 186}, - #endif -+ #ifdef SSL_R_BAD_COMPRESSION_ALGORITHM -+ {"BAD_COMPRESSION_ALGORITHM", ERR_LIB_SSL, SSL_R_BAD_COMPRESSION_ALGORITHM}, -+ #else -+ {"BAD_COMPRESSION_ALGORITHM", 20, 326}, -+ #endif - #ifdef SSL_R_BAD_DATA - {"BAD_DATA", ERR_LIB_SSL, SSL_R_BAD_DATA}, - #else -@@ -6495,6 +6812,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"CONNECTION_TYPE_NOT_SET", 20, 144}, - #endif -+ #ifdef SSL_R_CONN_USE_ONLY -+ {"CONN_USE_ONLY", ERR_LIB_SSL, SSL_R_CONN_USE_ONLY}, -+ #else -+ {"CONN_USE_ONLY", 20, 356}, -+ #endif - #ifdef SSL_R_CONTEXT_NOT_DANE_ENABLED - {"CONTEXT_NOT_DANE_ENABLED", ERR_LIB_SSL, SSL_R_CONTEXT_NOT_DANE_ENABLED}, - #else -@@ -6635,6 +6957,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"EE_KEY_TOO_SMALL", 20, 399}, - #endif -+ #ifdef SSL_R_EMPTY_RAW_PUBLIC_KEY -+ {"EMPTY_RAW_PUBLIC_KEY", ERR_LIB_SSL, SSL_R_EMPTY_RAW_PUBLIC_KEY}, -+ #else -+ {"EMPTY_RAW_PUBLIC_KEY", 20, 349}, -+ #endif - #ifdef SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST - {"EMPTY_SRTP_PROTECTION_PROFILE_LIST", ERR_LIB_SSL, SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST}, - #else -@@ -6650,6 +6977,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"ERROR_IN_RECEIVED_CIPHER_LIST", 20, 151}, - #endif -+ #ifdef SSL_R_ERROR_IN_SYSTEM_DEFAULT_CONFIG -+ {"ERROR_IN_SYSTEM_DEFAULT_CONFIG", ERR_LIB_SSL, SSL_R_ERROR_IN_SYSTEM_DEFAULT_CONFIG}, -+ #else -+ {"ERROR_IN_SYSTEM_DEFAULT_CONFIG", 20, 419}, -+ #endif - #ifdef SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN - {"ERROR_SETTING_TLSA_BASE_DOMAIN", ERR_LIB_SSL, SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN}, - #else -@@ -6680,11 +7012,26 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"EXT_LENGTH_MISMATCH", 20, 163}, - #endif -+ #ifdef SSL_R_FAILED_TO_GET_PARAMETER -+ {"FAILED_TO_GET_PARAMETER", ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER}, -+ #else -+ {"FAILED_TO_GET_PARAMETER", 20, 316}, -+ #endif - #ifdef SSL_R_FAILED_TO_INIT_ASYNC - {"FAILED_TO_INIT_ASYNC", ERR_LIB_SSL, SSL_R_FAILED_TO_INIT_ASYNC}, - #else - {"FAILED_TO_INIT_ASYNC", 20, 405}, - #endif -+ #ifdef SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE -+ {"FEATURE_NEGOTIATION_NOT_COMPLETE", ERR_LIB_SSL, SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE}, -+ #else -+ {"FEATURE_NEGOTIATION_NOT_COMPLETE", 20, 417}, -+ #endif -+ #ifdef SSL_R_FEATURE_NOT_RENEGOTIABLE -+ {"FEATURE_NOT_RENEGOTIABLE", ERR_LIB_SSL, SSL_R_FEATURE_NOT_RENEGOTIABLE}, -+ #else -+ {"FEATURE_NOT_RENEGOTIABLE", 20, 413}, -+ #endif - #ifdef SSL_R_FRAGMENTED_CLIENT_HELLO - {"FRAGMENTED_CLIENT_HELLO", ERR_LIB_SSL, SSL_R_FRAGMENTED_CLIENT_HELLO}, - #else -@@ -6805,6 +7152,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"INVALID_NULL_CMD_NAME", 20, 385}, - #endif -+ #ifdef SSL_R_INVALID_RAW_PUBLIC_KEY -+ {"INVALID_RAW_PUBLIC_KEY", ERR_LIB_SSL, SSL_R_INVALID_RAW_PUBLIC_KEY}, -+ #else -+ {"INVALID_RAW_PUBLIC_KEY", 20, 350}, -+ #endif -+ #ifdef SSL_R_INVALID_RECORD -+ {"INVALID_RECORD", ERR_LIB_SSL, SSL_R_INVALID_RECORD}, -+ #else -+ {"INVALID_RECORD", 20, 317}, -+ #endif - #ifdef SSL_R_INVALID_SEQUENCE_NUMBER - {"INVALID_SEQUENCE_NUMBER", ERR_LIB_SSL, SSL_R_INVALID_SEQUENCE_NUMBER}, - #else -@@ -6865,6 +7222,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"LIBRARY_HAS_NO_CIPHERS", 20, 161}, - #endif -+ #ifdef SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED -+ {"MAXIMUM_ENCRYPTED_PKTS_REACHED", ERR_LIB_SSL, SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED}, -+ #else -+ {"MAXIMUM_ENCRYPTED_PKTS_REACHED", 20, 395}, -+ #endif - #ifdef SSL_R_MISSING_DSA_SIGNING_CERT - {"MISSING_DSA_SIGNING_CERT", ERR_LIB_SSL, SSL_R_MISSING_DSA_SIGNING_CERT}, - #else -@@ -6925,6 +7287,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"MISSING_SUPPORTED_GROUPS_EXTENSION", 20, 209}, - #endif -+ #ifdef SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION -+ {"MISSING_SUPPORTED_VERSIONS_EXTENSION", ERR_LIB_SSL, SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION}, -+ #else -+ {"MISSING_SUPPORTED_VERSIONS_EXTENSION", 20, 420}, -+ #endif - #ifdef SSL_R_MISSING_TMP_DH_KEY - {"MISSING_TMP_DH_KEY", ERR_LIB_SSL, SSL_R_MISSING_TMP_DH_KEY}, - #else -@@ -7065,6 +7432,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"NO_SRTP_PROFILES", 20, 359}, - #endif -+ #ifdef SSL_R_NO_STREAM -+ {"NO_STREAM", ERR_LIB_SSL, SSL_R_NO_STREAM}, -+ #else -+ {"NO_STREAM", 20, 355}, -+ #endif - #ifdef SSL_R_NO_SUITABLE_DIGEST_ALGORITHM - {"NO_SUITABLE_DIGEST_ALGORITHM", ERR_LIB_SSL, SSL_R_NO_SUITABLE_DIGEST_ALGORITHM}, - #else -@@ -7080,6 +7452,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"NO_SUITABLE_KEY_SHARE", 20, 101}, - #endif -+ #ifdef SSL_R_NO_SUITABLE_RECORD_LAYER -+ {"NO_SUITABLE_RECORD_LAYER", ERR_LIB_SSL, SSL_R_NO_SUITABLE_RECORD_LAYER}, -+ #else -+ {"NO_SUITABLE_RECORD_LAYER", 20, 322}, -+ #endif - #ifdef SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM - {"NO_SUITABLE_SIGNATURE_ALGORITHM", ERR_LIB_SSL, SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM}, - #else -@@ -7160,6 +7537,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"PIPELINE_FAILURE", 20, 406}, - #endif -+ #ifdef SSL_R_POLL_REQUEST_NOT_SUPPORTED -+ {"POLL_REQUEST_NOT_SUPPORTED", ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED}, -+ #else -+ {"POLL_REQUEST_NOT_SUPPORTED", 20, 418}, -+ #endif - #ifdef SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR - {"POST_HANDSHAKE_AUTH_ENCODING_ERR", ERR_LIB_SSL, SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR}, - #else -@@ -7190,6 +7572,21 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"PSK_NO_SERVER_CB", 20, 225}, - #endif -+ #ifdef SSL_R_QUIC_HANDSHAKE_LAYER_ERROR -+ {"QUIC_HANDSHAKE_LAYER_ERROR", ERR_LIB_SSL, SSL_R_QUIC_HANDSHAKE_LAYER_ERROR}, -+ #else -+ {"QUIC_HANDSHAKE_LAYER_ERROR", 20, 393}, -+ #endif -+ #ifdef SSL_R_QUIC_NETWORK_ERROR -+ {"QUIC_NETWORK_ERROR", ERR_LIB_SSL, SSL_R_QUIC_NETWORK_ERROR}, -+ #else -+ {"QUIC_NETWORK_ERROR", 20, 387}, -+ #endif -+ #ifdef SSL_R_QUIC_PROTOCOL_ERROR -+ {"QUIC_PROTOCOL_ERROR", ERR_LIB_SSL, SSL_R_QUIC_PROTOCOL_ERROR}, -+ #else -+ {"QUIC_PROTOCOL_ERROR", 20, 382}, -+ #endif - #ifdef SSL_R_READ_BIO_NOT_SET - {"READ_BIO_NOT_SET", ERR_LIB_SSL, SSL_R_READ_BIO_NOT_SET}, - #else -@@ -7200,6 +7597,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"READ_TIMEOUT_EXPIRED", 20, 312}, - #endif -+ #ifdef SSL_R_RECORDS_NOT_RELEASED -+ {"RECORDS_NOT_RELEASED", ERR_LIB_SSL, SSL_R_RECORDS_NOT_RELEASED}, -+ #else -+ {"RECORDS_NOT_RELEASED", 20, 321}, -+ #endif -+ #ifdef SSL_R_RECORD_LAYER_FAILURE -+ {"RECORD_LAYER_FAILURE", ERR_LIB_SSL, SSL_R_RECORD_LAYER_FAILURE}, -+ #else -+ {"RECORD_LAYER_FAILURE", 20, 313}, -+ #endif - #ifdef SSL_R_RECORD_LENGTH_MISMATCH - {"RECORD_LENGTH_MISMATCH", ERR_LIB_SSL, SSL_R_RECORD_LENGTH_MISMATCH}, - #else -@@ -7210,6 +7617,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"RECORD_TOO_SMALL", 20, 298}, - #endif -+ #ifdef SSL_R_REMOTE_PEER_ADDRESS_NOT_SET -+ {"REMOTE_PEER_ADDRESS_NOT_SET", ERR_LIB_SSL, SSL_R_REMOTE_PEER_ADDRESS_NOT_SET}, -+ #else -+ {"REMOTE_PEER_ADDRESS_NOT_SET", 20, 346}, -+ #endif - #ifdef SSL_R_RENEGOTIATE_EXT_TOO_LONG - {"RENEGOTIATE_EXT_TOO_LONG", ERR_LIB_SSL, SSL_R_RENEGOTIATE_EXT_TOO_LONG}, - #else -@@ -7255,6 +7667,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"SCT_VERIFICATION_FAILED", 20, 208}, - #endif -+ #ifdef SSL_R_SEQUENCE_CTR_WRAPPED -+ {"SEQUENCE_CTR_WRAPPED", ERR_LIB_SSL, SSL_R_SEQUENCE_CTR_WRAPPED}, -+ #else -+ {"SEQUENCE_CTR_WRAPPED", 20, 327}, -+ #endif - #ifdef SSL_R_SERVERHELLO_TLSEXT - {"SERVERHELLO_TLSEXT", ERR_LIB_SSL, SSL_R_SERVERHELLO_TLSEXT}, - #else -@@ -7325,6 +7742,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"SSLV3_ALERT_BAD_CERTIFICATE", 20, 1042}, - #endif -+ #ifdef SSL_R_SSLV3_ALERT_BAD_CERTIFICATE -+ {"SSLV3_ALERT_BAD_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_BAD_CERTIFICATE}, -+ #else -+ {"SSLV3_ALERT_BAD_CERTIFICATE", 20, 1042}, -+ #endif -+ #ifdef SSL_R_SSLV3_ALERT_BAD_RECORD_MAC -+ {"SSLV3_ALERT_BAD_RECORD_MAC", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_BAD_RECORD_MAC}, -+ #else -+ {"SSLV3_ALERT_BAD_RECORD_MAC", 20, 1020}, -+ #endif - #ifdef SSL_R_SSLV3_ALERT_BAD_RECORD_MAC - {"SSLV3_ALERT_BAD_RECORD_MAC", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_BAD_RECORD_MAC}, - #else -@@ -7335,11 +7762,26 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"SSLV3_ALERT_CERTIFICATE_EXPIRED", 20, 1045}, - #endif -+ #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED -+ {"SSLV3_ALERT_CERTIFICATE_EXPIRED", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED}, -+ #else -+ {"SSLV3_ALERT_CERTIFICATE_EXPIRED", 20, 1045}, -+ #endif - #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED - {"SSLV3_ALERT_CERTIFICATE_REVOKED", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED}, - #else - {"SSLV3_ALERT_CERTIFICATE_REVOKED", 20, 1044}, - #endif -+ #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED -+ {"SSLV3_ALERT_CERTIFICATE_REVOKED", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED}, -+ #else -+ {"SSLV3_ALERT_CERTIFICATE_REVOKED", 20, 1044}, -+ #endif -+ #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN -+ {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN}, -+ #else -+ {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", 20, 1046}, -+ #endif - #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN - {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN}, - #else -@@ -7350,6 +7792,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"SSLV3_ALERT_DECOMPRESSION_FAILURE", 20, 1030}, - #endif -+ #ifdef SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE -+ {"SSLV3_ALERT_DECOMPRESSION_FAILURE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE}, -+ #else -+ {"SSLV3_ALERT_DECOMPRESSION_FAILURE", 20, 1030}, -+ #endif -+ #ifdef SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE -+ {"SSLV3_ALERT_HANDSHAKE_FAILURE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE}, -+ #else -+ {"SSLV3_ALERT_HANDSHAKE_FAILURE", 20, 1040}, -+ #endif - #ifdef SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE - {"SSLV3_ALERT_HANDSHAKE_FAILURE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE}, - #else -@@ -7360,11 +7812,26 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"SSLV3_ALERT_ILLEGAL_PARAMETER", 20, 1047}, - #endif -+ #ifdef SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER -+ {"SSLV3_ALERT_ILLEGAL_PARAMETER", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER}, -+ #else -+ {"SSLV3_ALERT_ILLEGAL_PARAMETER", 20, 1047}, -+ #endif - #ifdef SSL_R_SSLV3_ALERT_NO_CERTIFICATE - {"SSLV3_ALERT_NO_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_NO_CERTIFICATE}, - #else - {"SSLV3_ALERT_NO_CERTIFICATE", 20, 1041}, - #endif -+ #ifdef SSL_R_SSLV3_ALERT_NO_CERTIFICATE -+ {"SSLV3_ALERT_NO_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_NO_CERTIFICATE}, -+ #else -+ {"SSLV3_ALERT_NO_CERTIFICATE", 20, 1041}, -+ #endif -+ #ifdef SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE -+ {"SSLV3_ALERT_UNEXPECTED_MESSAGE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE}, -+ #else -+ {"SSLV3_ALERT_UNEXPECTED_MESSAGE", 20, 1010}, -+ #endif - #ifdef SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE - {"SSLV3_ALERT_UNEXPECTED_MESSAGE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE}, - #else -@@ -7375,6 +7842,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", 20, 1043}, - #endif -+ #ifdef SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE -+ {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE}, -+ #else -+ {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", 20, 1043}, -+ #endif - #ifdef SSL_R_SSL_COMMAND_SECTION_EMPTY - {"SSL_COMMAND_SECTION_EMPTY", ERR_LIB_SSL, SSL_R_SSL_COMMAND_SECTION_EMPTY}, - #else -@@ -7450,6 +7922,36 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"STILL_IN_INIT", 20, 121}, - #endif -+ #ifdef SSL_R_STREAM_COUNT_LIMITED -+ {"STREAM_COUNT_LIMITED", ERR_LIB_SSL, SSL_R_STREAM_COUNT_LIMITED}, -+ #else -+ {"STREAM_COUNT_LIMITED", 20, 411}, -+ #endif -+ #ifdef SSL_R_STREAM_FINISHED -+ {"STREAM_FINISHED", ERR_LIB_SSL, SSL_R_STREAM_FINISHED}, -+ #else -+ {"STREAM_FINISHED", 20, 365}, -+ #endif -+ #ifdef SSL_R_STREAM_RECV_ONLY -+ {"STREAM_RECV_ONLY", ERR_LIB_SSL, SSL_R_STREAM_RECV_ONLY}, -+ #else -+ {"STREAM_RECV_ONLY", 20, 366}, -+ #endif -+ #ifdef SSL_R_STREAM_RESET -+ {"STREAM_RESET", ERR_LIB_SSL, SSL_R_STREAM_RESET}, -+ #else -+ {"STREAM_RESET", 20, 375}, -+ #endif -+ #ifdef SSL_R_STREAM_SEND_ONLY -+ {"STREAM_SEND_ONLY", ERR_LIB_SSL, SSL_R_STREAM_SEND_ONLY}, -+ #else -+ {"STREAM_SEND_ONLY", 20, 379}, -+ #endif -+ #ifdef SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED -+ {"TLSV13_ALERT_CERTIFICATE_REQUIRED", ERR_LIB_SSL, SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED}, -+ #else -+ {"TLSV13_ALERT_CERTIFICATE_REQUIRED", 20, 1116}, -+ #endif - #ifdef SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED - {"TLSV13_ALERT_CERTIFICATE_REQUIRED", ERR_LIB_SSL, SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED}, - #else -@@ -7460,6 +7962,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TLSV13_ALERT_MISSING_EXTENSION", 20, 1109}, - #endif -+ #ifdef SSL_R_TLSV13_ALERT_MISSING_EXTENSION -+ {"TLSV13_ALERT_MISSING_EXTENSION", ERR_LIB_SSL, SSL_R_TLSV13_ALERT_MISSING_EXTENSION}, -+ #else -+ {"TLSV13_ALERT_MISSING_EXTENSION", 20, 1109}, -+ #endif -+ #ifdef SSL_R_TLSV1_ALERT_ACCESS_DENIED -+ {"TLSV1_ALERT_ACCESS_DENIED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_ACCESS_DENIED}, -+ #else -+ {"TLSV1_ALERT_ACCESS_DENIED", 20, 1049}, -+ #endif - #ifdef SSL_R_TLSV1_ALERT_ACCESS_DENIED - {"TLSV1_ALERT_ACCESS_DENIED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_ACCESS_DENIED}, - #else -@@ -7470,6 +7982,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TLSV1_ALERT_DECODE_ERROR", 20, 1050}, - #endif -+ #ifdef SSL_R_TLSV1_ALERT_DECODE_ERROR -+ {"TLSV1_ALERT_DECODE_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECODE_ERROR}, -+ #else -+ {"TLSV1_ALERT_DECODE_ERROR", 20, 1050}, -+ #endif -+ #ifdef SSL_R_TLSV1_ALERT_DECRYPTION_FAILED -+ {"TLSV1_ALERT_DECRYPTION_FAILED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECRYPTION_FAILED}, -+ #else -+ {"TLSV1_ALERT_DECRYPTION_FAILED", 20, 1021}, -+ #endif - #ifdef SSL_R_TLSV1_ALERT_DECRYPTION_FAILED - {"TLSV1_ALERT_DECRYPTION_FAILED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECRYPTION_FAILED}, - #else -@@ -7480,6 +8002,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TLSV1_ALERT_DECRYPT_ERROR", 20, 1051}, - #endif -+ #ifdef SSL_R_TLSV1_ALERT_DECRYPT_ERROR -+ {"TLSV1_ALERT_DECRYPT_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECRYPT_ERROR}, -+ #else -+ {"TLSV1_ALERT_DECRYPT_ERROR", 20, 1051}, -+ #endif -+ #ifdef SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION -+ {"TLSV1_ALERT_EXPORT_RESTRICTION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION}, -+ #else -+ {"TLSV1_ALERT_EXPORT_RESTRICTION", 20, 1060}, -+ #endif - #ifdef SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION - {"TLSV1_ALERT_EXPORT_RESTRICTION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION}, - #else -@@ -7490,6 +8022,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", 20, 1086}, - #endif -+ #ifdef SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK -+ {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK}, -+ #else -+ {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", 20, 1086}, -+ #endif -+ #ifdef SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY -+ {"TLSV1_ALERT_INSUFFICIENT_SECURITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY}, -+ #else -+ {"TLSV1_ALERT_INSUFFICIENT_SECURITY", 20, 1071}, -+ #endif - #ifdef SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY - {"TLSV1_ALERT_INSUFFICIENT_SECURITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY}, - #else -@@ -7500,6 +8042,26 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TLSV1_ALERT_INTERNAL_ERROR", 20, 1080}, - #endif -+ #ifdef SSL_R_TLSV1_ALERT_INTERNAL_ERROR -+ {"TLSV1_ALERT_INTERNAL_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INTERNAL_ERROR}, -+ #else -+ {"TLSV1_ALERT_INTERNAL_ERROR", 20, 1080}, -+ #endif -+ #ifdef SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL -+ {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL}, -+ #else -+ {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", 20, 1120}, -+ #endif -+ #ifdef SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL -+ {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL}, -+ #else -+ {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", 20, 1120}, -+ #endif -+ #ifdef SSL_R_TLSV1_ALERT_NO_RENEGOTIATION -+ {"TLSV1_ALERT_NO_RENEGOTIATION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_RENEGOTIATION}, -+ #else -+ {"TLSV1_ALERT_NO_RENEGOTIATION", 20, 1100}, -+ #endif - #ifdef SSL_R_TLSV1_ALERT_NO_RENEGOTIATION - {"TLSV1_ALERT_NO_RENEGOTIATION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_RENEGOTIATION}, - #else -@@ -7510,21 +8072,56 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TLSV1_ALERT_PROTOCOL_VERSION", 20, 1070}, - #endif -+ #ifdef SSL_R_TLSV1_ALERT_PROTOCOL_VERSION -+ {"TLSV1_ALERT_PROTOCOL_VERSION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_PROTOCOL_VERSION}, -+ #else -+ {"TLSV1_ALERT_PROTOCOL_VERSION", 20, 1070}, -+ #endif - #ifdef SSL_R_TLSV1_ALERT_RECORD_OVERFLOW - {"TLSV1_ALERT_RECORD_OVERFLOW", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_RECORD_OVERFLOW}, - #else - {"TLSV1_ALERT_RECORD_OVERFLOW", 20, 1022}, - #endif -+ #ifdef SSL_R_TLSV1_ALERT_RECORD_OVERFLOW -+ {"TLSV1_ALERT_RECORD_OVERFLOW", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_RECORD_OVERFLOW}, -+ #else -+ {"TLSV1_ALERT_RECORD_OVERFLOW", 20, 1022}, -+ #endif -+ #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_CA -+ {"TLSV1_ALERT_UNKNOWN_CA", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_CA}, -+ #else -+ {"TLSV1_ALERT_UNKNOWN_CA", 20, 1048}, -+ #endif - #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_CA - {"TLSV1_ALERT_UNKNOWN_CA", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_CA}, - #else - {"TLSV1_ALERT_UNKNOWN_CA", 20, 1048}, - #endif -+ #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY -+ {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY}, -+ #else -+ {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", 20, 1115}, -+ #endif -+ #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY -+ {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY}, -+ #else -+ {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", 20, 1115}, -+ #endif - #ifdef SSL_R_TLSV1_ALERT_USER_CANCELLED - {"TLSV1_ALERT_USER_CANCELLED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_USER_CANCELLED}, - #else - {"TLSV1_ALERT_USER_CANCELLED", 20, 1090}, - #endif -+ #ifdef SSL_R_TLSV1_ALERT_USER_CANCELLED -+ {"TLSV1_ALERT_USER_CANCELLED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_USER_CANCELLED}, -+ #else -+ {"TLSV1_ALERT_USER_CANCELLED", 20, 1090}, -+ #endif -+ #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE -+ {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", ERR_LIB_SSL, SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE}, -+ #else -+ {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", 20, 1114}, -+ #endif - #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE - {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", ERR_LIB_SSL, SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE}, - #else -@@ -7535,6 +8132,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", 20, 1113}, - #endif -+ #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE -+ {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", ERR_LIB_SSL, SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE}, -+ #else -+ {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", 20, 1113}, -+ #endif -+ #ifdef SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE -+ {"TLSV1_CERTIFICATE_UNOBTAINABLE", ERR_LIB_SSL, SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE}, -+ #else -+ {"TLSV1_CERTIFICATE_UNOBTAINABLE", 20, 1111}, -+ #endif - #ifdef SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE - {"TLSV1_CERTIFICATE_UNOBTAINABLE", ERR_LIB_SSL, SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE}, - #else -@@ -7545,6 +8152,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"TLSV1_UNRECOGNIZED_NAME", 20, 1112}, - #endif -+ #ifdef SSL_R_TLSV1_UNRECOGNIZED_NAME -+ {"TLSV1_UNRECOGNIZED_NAME", ERR_LIB_SSL, SSL_R_TLSV1_UNRECOGNIZED_NAME}, -+ #else -+ {"TLSV1_UNRECOGNIZED_NAME", 20, 1112}, -+ #endif -+ #ifdef SSL_R_TLSV1_UNSUPPORTED_EXTENSION -+ {"TLSV1_UNSUPPORTED_EXTENSION", ERR_LIB_SSL, SSL_R_TLSV1_UNSUPPORTED_EXTENSION}, -+ #else -+ {"TLSV1_UNSUPPORTED_EXTENSION", 20, 1110}, -+ #endif - #ifdef SSL_R_TLSV1_UNSUPPORTED_EXTENSION - {"TLSV1_UNSUPPORTED_EXTENSION", ERR_LIB_SSL, SSL_R_TLSV1_UNSUPPORTED_EXTENSION}, - #else -@@ -7665,6 +8282,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNKNOWN_KEY_EXCHANGE_TYPE", 20, 250}, - #endif -+ #ifdef SSL_R_UNKNOWN_MANDATORY_PARAMETER -+ {"UNKNOWN_MANDATORY_PARAMETER", ERR_LIB_SSL, SSL_R_UNKNOWN_MANDATORY_PARAMETER}, -+ #else -+ {"UNKNOWN_MANDATORY_PARAMETER", 20, 323}, -+ #endif - #ifdef SSL_R_UNKNOWN_PKEY_TYPE - {"UNKNOWN_PKEY_TYPE", ERR_LIB_SSL, SSL_R_UNKNOWN_PKEY_TYPE}, - #else -@@ -7700,6 +8322,21 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNSUPPORTED_COMPRESSION_ALGORITHM", 20, 257}, - #endif -+ #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE -+ {"UNSUPPORTED_CONFIG_VALUE", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE}, -+ #else -+ {"UNSUPPORTED_CONFIG_VALUE", 20, 414}, -+ #endif -+ #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS -+ {"UNSUPPORTED_CONFIG_VALUE_CLASS", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS}, -+ #else -+ {"UNSUPPORTED_CONFIG_VALUE_CLASS", 20, 415}, -+ #endif -+ #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE_OP -+ {"UNSUPPORTED_CONFIG_VALUE_OP", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE_OP}, -+ #else -+ {"UNSUPPORTED_CONFIG_VALUE_OP", 20, 416}, -+ #endif - #ifdef SSL_R_UNSUPPORTED_ELLIPTIC_CURVE - {"UNSUPPORTED_ELLIPTIC_CURVE", ERR_LIB_SSL, SSL_R_UNSUPPORTED_ELLIPTIC_CURVE}, - #else -@@ -7720,6 +8357,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNSUPPORTED_STATUS_TYPE", 20, 329}, - #endif -+ #ifdef SSL_R_UNSUPPORTED_WRITE_FLAG -+ {"UNSUPPORTED_WRITE_FLAG", ERR_LIB_SSL, SSL_R_UNSUPPORTED_WRITE_FLAG}, -+ #else -+ {"UNSUPPORTED_WRITE_FLAG", 20, 412}, -+ #endif - #ifdef SSL_R_USE_SRTP_NOT_NEGOTIATED - {"USE_SRTP_NOT_NEGOTIATED", ERR_LIB_SSL, SSL_R_USE_SRTP_NOT_NEGOTIATED}, - #else -@@ -7750,6 +8392,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"WRONG_CURVE", 20, 378}, - #endif -+ #ifdef SSL_R_WRONG_RPK_TYPE -+ {"WRONG_RPK_TYPE", ERR_LIB_SSL, SSL_R_WRONG_RPK_TYPE}, -+ #else -+ {"WRONG_RPK_TYPE", 20, 351}, -+ #endif - #ifdef SSL_R_WRONG_SIGNATURE_LENGTH - {"WRONG_SIGNATURE_LENGTH", ERR_LIB_SSL, SSL_R_WRONG_SIGNATURE_LENGTH}, - #else -@@ -8055,6 +8702,16 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"BAD_OBJECT", 34, 119}, - #endif -+ #ifdef X509V3_R_BAD_OPTION -+ {"BAD_OPTION", ERR_LIB_X509V3, X509V3_R_BAD_OPTION}, -+ #else -+ {"BAD_OPTION", 34, 170}, -+ #endif -+ #ifdef X509V3_R_BAD_VALUE -+ {"BAD_VALUE", ERR_LIB_X509V3, X509V3_R_BAD_VALUE}, -+ #else -+ {"BAD_VALUE", 34, 171}, -+ #endif - #ifdef X509V3_R_BN_DEC2BN_ERROR - {"BN_DEC2BN_ERROR", ERR_LIB_X509V3, X509V3_R_BN_DEC2BN_ERROR}, - #else -@@ -8370,6 +9027,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNKNOWN_OPTION", 34, 120}, - #endif -+ #ifdef X509V3_R_UNKNOWN_VALUE -+ {"UNKNOWN_VALUE", ERR_LIB_X509V3, X509V3_R_UNKNOWN_VALUE}, -+ #else -+ {"UNKNOWN_VALUE", 34, 172}, -+ #endif - #ifdef X509V3_R_UNSUPPORTED_OPTION - {"UNSUPPORTED_OPTION", ERR_LIB_X509V3, X509V3_R_UNSUPPORTED_OPTION}, - #else -@@ -8430,6 +9092,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"CRL_VERIFY_FAILURE", 11, 131}, - #endif -+ #ifdef X509_R_DUPLICATE_ATTRIBUTE -+ {"DUPLICATE_ATTRIBUTE", ERR_LIB_X509, X509_R_DUPLICATE_ATTRIBUTE}, -+ #else -+ {"DUPLICATE_ATTRIBUTE", 11, 140}, -+ #endif - #ifdef X509_R_ERROR_GETTING_MD_BY_NID - {"ERROR_GETTING_MD_BY_NID", ERR_LIB_X509, X509_R_ERROR_GETTING_MD_BY_NID}, - #else -@@ -8590,6 +9257,11 @@ static struct py_ssl_error_code error_codes[] = { - #else - {"UNSUPPORTED_ALGORITHM", 11, 111}, - #endif -+ #ifdef X509_R_UNSUPPORTED_VERSION -+ {"UNSUPPORTED_VERSION", ERR_LIB_X509, X509_R_UNSUPPORTED_VERSION}, -+ #else -+ {"UNSUPPORTED_VERSION", 11, 145}, -+ #endif - #ifdef X509_R_WRONG_LOOKUP_TYPE - {"WRONG_LOOKUP_TYPE", ERR_LIB_X509, X509_R_WRONG_LOOKUP_TYPE}, - #else -diff --git a/Tools/c-analyzer/cpython/_parser.py b/Tools/c-analyzer/cpython/_parser.py -index 21be53e7884..a08b32fa45d 100644 ---- a/Tools/c-analyzer/cpython/_parser.py -+++ b/Tools/c-analyzer/cpython/_parser.py -@@ -70,9 +70,7 @@ Python/thread_pthread.h - Python/thread_pthread_stubs.h - - # only huge constants (safe but parsing is slow) --Modules/_ssl_data_31.h --Modules/_ssl_data_300.h --Modules/_ssl_data_111.h -+Modules/_ssl_data_*.h - Modules/cjkcodecs/mappings_*.h - Modules/unicodedata_db.h - Modules/unicodename_db.h -diff --git a/Tools/ssl/make_ssl_data.py b/Tools/ssl/make_ssl_data.py -index 9860871..0cd05c7 100755 ---- a/Tools/ssl/make_ssl_data.py -+++ b/Tools/ssl/make_ssl_data.py -@@ -5,9 +5,28 @@ This script should be called *manually* when we want to upgrade SSLError - `library` and `reason` mnemonics to a more recent OpenSSL version. - - It takes two arguments: --- the path to the OpenSSL source tree (e.g. git checkout) -+- the path to the OpenSSL git checkout - - the path to the header file to be generated Modules/_ssl_data_{version}.h - - error codes are version specific -+ -+The OpenSSL git checkout should be at a specific tag, using commands like: -+ git tag --list 'openssl-*' -+ git switch --detach openssl-3.4.0 -+ -+ -+After generating the definitions, compare the result with newest pre-existing file. -+You can use a command like: -+ -+ git diff --no-index Modules/_ssl_data_31.h Modules/_ssl_data_34.h -+ -+- If the new version *only* adds new definitions, remove the pre-existing file -+ and adjust the #include in _ssl.c to point to the new version. -+- If the new version removes or renumbers some definitions, keep both files and -+ add a new #include in _ssl.c. -+ -+A newly supported OpenSSL version should also be added to: -+- Tools/ssl/multissltests.py -+- .github/workflows/build.yml - """ - - import argparse -@@ -16,6 +35,7 @@ import operator - import os - import re - import sys -+import subprocess - - - parser = argparse.ArgumentParser( -@@ -118,9 +138,17 @@ def main(): - # sort by libname, numeric error code - args.reasons = sorted(reasons, key=operator.itemgetter(0, 3)) - -+ git_describe = subprocess.run( -+ ['git', 'describe', '--long', '--dirty'], -+ cwd=args.srcdir, -+ capture_output=True, -+ encoding='utf-8', -+ check=True, -+ ) - lines = [ -- "/* File generated by Tools/ssl/make_ssl_data.py */" -- f"/* Generated on {datetime.datetime.utcnow().isoformat()} */" -+ "/* File generated by Tools/ssl/make_ssl_data.py */", -+ f"/* Generated on {datetime.datetime.now(datetime.UTC).isoformat()} */", -+ f"/* Generated from Git commit {git_describe.stdout.strip()} */", - ] - lines.extend(gen_library_codes(args)) - lines.append("") -diff --git a/Tools/ssl/multissltests.py b/Tools/ssl/multissltests.py -index eae0e0c..fb06f63 100755 ---- a/Tools/ssl/multissltests.py -+++ b/Tools/ssl/multissltests.py -@@ -51,6 +51,7 @@ OPENSSL_RECENT_VERSIONS = [ - "3.1.7", - "3.2.6", - "3.3.5", -+ "3.4.0", - ] - - LIBRESSL_OLD_VERSIONS = [ --- -2.30.2 - diff --git a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch index ffdf9affd9..285580195b 100644 --- a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch +++ b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch @@ -1,4 +1,4 @@ -From 3f4f3e917950e286d5729ea949ca342995eb3c3e Mon Sep 17 00:00:00 2001 +From e3c6e770e73e1329958db0a73883e42b01763ae3 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 17 Nov 2023 14:26:32 +0100 Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration @@ -9,23 +9,36 @@ native python. Upstream-Status: Inappropriate [oe-core cross builds] Signed-off-by: Alexander Kanavin + +Refresh to apply on top of Python 3.14.0. + +Signed-off-by: Trevor Gamblin --- - Lib/sysconfig/__init__.py | 5 +++++ - 1 file changed, 5 insertions(+) + Lib/sysconfig/__init__.py | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py -index f8e1c7d..0882526 100644 +index 2ecbff222fe..cec54cb23dc 100644 --- a/Lib/sysconfig/__init__.py +++ b/Lib/sysconfig/__init__.py -@@ -501,6 +501,11 @@ def _init_config_vars(): - _CONFIG_VARS['VPATH'] = sys._vpath - if os.name == 'posix': - _init_posix(_CONFIG_VARS) +@@ -538,12 +538,12 @@ def _init_config_vars(): + _CONFIG_VARS['py_version'] = _PY_VERSION + _CONFIG_VARS['py_version_short'] = _PY_VERSION_SHORT + _CONFIG_VARS['py_version_nodot'] = _PY_VERSION_SHORT_NO_DOT +- _CONFIG_VARS['installed_base'] = base_prefix +- _CONFIG_VARS['base'] = prefix +- _CONFIG_VARS['installed_platbase'] = base_exec_prefix +- _CONFIG_VARS['platbase'] = exec_prefix + _CONFIG_VARS['installed_base'] = _CONFIG_VARS['prefix'] + _CONFIG_VARS['base'] = _CONFIG_VARS['prefix'] + _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix'] + _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix'] + _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR'] - if _HAS_USER_BASE: - # Setting 'userbase' is done below the call to the - # init function to enable using 'get_config_var' in + _CONFIG_VARS['projectbase'] = _PROJECT_BASE +- _CONFIG_VARS['platlibdir'] = sys.platlibdir + _CONFIG_VARS['implementation'] = _get_implementation() + _CONFIG_VARS['implementation_lower'] = _get_implementation().lower() + _CONFIG_VARS['abiflags'] = abiflags +-- +2.51.0 + diff --git a/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch b/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch index 8fa794b5e7..3528c2765a 100644 --- a/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch +++ b/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch @@ -1,4 +1,4 @@ -From 8828a52ebace98199569404f01174398bcc64a00 Mon Sep 17 00:00:00 2001 +From 6341e23fedfdde20567c2e695b489119bdddf656 Mon Sep 17 00:00:00 2001 From: Yi Fan Yu Date: Thu, 1 Apr 2021 13:08:37 -0700 Subject: [PATCH] Skip failing tests due to load variability on YP AB @@ -16,17 +16,21 @@ Skip two additional tests due to suspected load variability failures. [YOCTO #15131] [YOCTO #15177] +Signed-off-by: Trevor Gamblin + +Refresh to apply on top of Python 3.14.0. + Signed-off-by: Trevor Gamblin --- Lib/test/_test_multiprocessing.py | 3 +++ - Lib/test/test_time.py | 2 ++ - 2 files changed, 5 insertions(+) + Lib/test/test_time.py | 9 +++++++++ + 2 files changed, 12 insertions(+) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py -index 5dae370..23eb971 100644 +index 9a72362c022..008e6a505a5 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py -@@ -701,6 +701,7 @@ class _TestProcess(BaseTestCase): +@@ -722,6 +722,7 @@ def test_close(self): close_queue(q) @support.requires_resource('walltime') @@ -34,7 +38,7 @@ index 5dae370..23eb971 100644 def test_many_processes(self): if self.TYPE == 'threads': self.skipTest('test not appropriate for {}'.format(self.TYPE)) -@@ -2232,6 +2233,7 @@ class _TestBarrier(BaseTestCase): +@@ -2345,6 +2346,7 @@ def _test_timeout_f(cls, barrier, results): except threading.BrokenBarrierError: results.append(True) @@ -42,7 +46,7 @@ index 5dae370..23eb971 100644 def test_timeout(self): """ Test wait(timeout) -@@ -5320,6 +5322,7 @@ class TestWait(unittest.TestCase): +@@ -5459,6 +5461,7 @@ def signal_and_sleep(cls, sem, period): time.sleep(period) @support.requires_resource('walltime') @@ -51,18 +55,28 @@ index 5dae370..23eb971 100644 from multiprocessing.connection import wait diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py -index 293799f..1dbb623 100644 +index 5312faa5077..f158e34e91d 100644 --- a/Lib/test/test_time.py +++ b/Lib/test/test_time.py -@@ -548,6 +548,7 @@ class TimeTestCase(unittest.TestCase): +@@ -551,9 +551,17 @@ def test_perf_counter(self): @unittest.skipIf( support.is_wasi, "process_time not available on WASI" ) + @unittest.skip('timing related test, dependent on load') + @unittest.skipIf( + support.is_emscripten, "process_time present but doesn't exclude sleep" + ) ++ @unittest.skipIf( ++ support.is_wasi, "process_time not available on WASI" ++ ) ++ @unittest.skip('timing related test, dependent on load') ++ @unittest.skipIf( ++ support.is_wasi, "process_time not available on WASI" ++ ) def test_process_time(self): # process_time() should not include time spend during a sleep start = time.process_time() -@@ -561,6 +562,7 @@ class TimeTestCase(unittest.TestCase): +@@ -567,6 +575,7 @@ def test_process_time(self): self.assertTrue(info.monotonic) self.assertFalse(info.adjustable) @@ -70,3 +84,6 @@ index 293799f..1dbb623 100644 def test_thread_time(self): if not hasattr(time, 'thread_time'): if sys.platform.startswith(('linux', 'android', 'win')): +-- +2.51.0 + diff --git a/meta/recipes-devtools/python/python3/0001-test_active_children-skip-problematic-test.patch b/meta/recipes-devtools/python/python3/0001-test_active_children-skip-problematic-test.patch index 08ac5861b3..80aa29faf0 100644 --- a/meta/recipes-devtools/python/python3/0001-test_active_children-skip-problematic-test.patch +++ b/meta/recipes-devtools/python/python3/0001-test_active_children-skip-problematic-test.patch @@ -1,4 +1,4 @@ -From 540765b148d942a2339affa6c0d11445e9d0f26c Mon Sep 17 00:00:00 2001 +From 9c9aac87f48eaece5b99ea347b639c21eea84e6d Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Thu, 13 Jun 2024 10:54:31 -0400 Subject: [PATCH] test_active_children: skip problematic test @@ -8,20 +8,27 @@ similar nature to other failing/hanging tests, disable it for now. Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Trevor Gamblin + +Refresh to apply on top of Python 3.14.0. + Signed-off-by: Trevor Gamblin --- Lib/test/_test_multiprocessing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py -index 23eb971..b1295b2 100644 +index 008e6a505a5..746de8945f0 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py -@@ -594,6 +594,7 @@ class _TestProcess(BaseTestCase): - self.assertTrue(type(cpus) is int) - self.assertTrue(cpus >= 1) +@@ -615,6 +615,7 @@ def test_cpu_count(self): + self.assertIsInstance(cpus, int) + self.assertGreaterEqual(cpus, 1) + @unittest.skip("skipping problematic test") def test_active_children(self): self.assertEqual(type(self.active_children()), list) +-- +2.51.0 + diff --git a/meta/recipes-devtools/python/python3/0001-test_cmd-skip-bang-completion-test.patch b/meta/recipes-devtools/python/python3/0001-test_cmd-skip-bang-completion-test.patch new file mode 100644 index 0000000000..d339e8c198 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-test_cmd-skip-bang-completion-test.patch @@ -0,0 +1,31 @@ +From 614e3aefec85b51a611f85a55b6760f12e29b953 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin +Date: Mon, 27 Oct 2025 09:52:46 -0400 +Subject: [PATCH] test_cmd: skip bang completion test + +We compile Python3 with editline support by default, which has tab completion +but not bang completion. If building with readline, +test_bang_completion_without_do_shell() passes. Skip the test because of this. + +Upstream-Status: Inappropriate [embedded-specific] + +Signed-off-by: Trevor Gamblin +--- + Lib/test/test_cmd.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Lib/test/test_cmd.py b/Lib/test/test_cmd.py +index dbfec42fc21..c33dab8d10d 100644 +--- a/Lib/test/test_cmd.py ++++ b/Lib/test/test_cmd.py +@@ -295,6 +295,7 @@ def do_tab_completion_test(self, args): + self.assertIn(b'ab_completion_test', output) + self.assertIn(b'tab completion success', output) + ++ @unittest.skip('no bang completion without readline') + def test_bang_completion_without_do_shell(self): + script = textwrap.dedent(""" + import cmd +-- +2.51.0 + diff --git a/meta/recipes-devtools/python/python3/0001-test_pyrepl-skip-test_unix_console.test_cursor_back_.patch b/meta/recipes-devtools/python/python3/0001-test_pyrepl-skip-test_unix_console.test_cursor_back_.patch new file mode 100644 index 0000000000..e886c046cb --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-test_pyrepl-skip-test_unix_console.test_cursor_back_.patch @@ -0,0 +1,46 @@ +From 66a806ea05ecaf483753de3719041944daae42b0 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin +Date: Mon, 27 Oct 2025 13:21:14 -0400 +Subject: [PATCH] test_pyrepl: skip test_unix_console.test_cursor_back_write + +This test was not run prior to 3.14 due to Python not having access to +the curses resource. In 3.14, PyREPL's dependency on curses has been +removed, instead relying on the terminfo module. This results in a +terminal capability list that does not include ICH1, resulting in an +"optimization" occurring from PyREPL's side that causes +test_cursor_back_write() to fail. Specifically, the test tests the +following writes in sequence: + +1. b"1" +2. TERM_CAPABILITIES["cub"] + b":1" +3. ANY, b"2" + +The first two writes are read correctly, but the result for the third +write is seeing the equivalent of: + +ANY, b"21" + +Skip this test. + +Upstream-Status: Inappropriate [embedded-specific] + +Signed-off-by: Trevor Gamblin +--- + Lib/test/test_pyrepl/test_unix_console.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Lib/test/test_pyrepl/test_unix_console.py b/Lib/test/test_pyrepl/test_unix_console.py +index 3b0d2637dab..5a3c8952f61 100644 +--- a/Lib/test/test_pyrepl/test_unix_console.py ++++ b/Lib/test/test_pyrepl/test_unix_console.py +@@ -172,6 +172,7 @@ def test_cursor_up_down(self, _os_write): + _os_write.assert_any_call(ANY, TERM_CAPABILITIES["cud"] + b":1") + con.restore() + ++ @unittest.skip('no ich1 support in vt102 terminfo') + def test_cursor_back_write(self, _os_write): + events = itertools.chain( + code_to_events("1"), +-- +2.51.0 + diff --git a/meta/recipes-devtools/python/python3/0001-test_sysconfig-skip-test_sysconfig.test_sysconfigdat.patch b/meta/recipes-devtools/python/python3/0001-test_sysconfig-skip-test_sysconfig.test_sysconfigdat.patch new file mode 100644 index 0000000000..0fe9399bf1 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-test_sysconfig-skip-test_sysconfig.test_sysconfigdat.patch @@ -0,0 +1,32 @@ +From ac5635821ed9bead45a5bcddc3828e50647fbe77 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin +Date: Mon, 27 Oct 2025 14:24:24 -0400 +Subject: [PATCH] test_sysconfig: skip test_sysconfig.test_sysconfigdata_json + +This test seems new as of 3.14.0 and fails due to various path and flag +differences in variables like CFLAGS. Since the test already has the +precedent of a skip put in place for Android builds due to prefix +changes, skip it for our situation too. + +Upstream-Status: Inappropriate [embedded-specific] + +Signed-off-by: Trevor Gamblin +--- + Lib/test/test_sysconfig.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py +index 09eff11179e..14fcdedccba 100644 +--- a/Lib/test/test_sysconfig.py ++++ b/Lib/test/test_sysconfig.py +@@ -685,6 +685,7 @@ def test_makefile_overwrites_config_vars(self): + self.assertNotEqual(data['prefix'], data['base_prefix']) + self.assertNotEqual(data['exec_prefix'], data['base_exec_prefix']) + ++ @unittest.skip('OE adds/modifies various flags and paths/prefixes') + @unittest.skipIf(os.name != 'posix', '_sysconfig-vars JSON file is only available on POSIX') + @unittest.skipIf(is_wasi, "_sysconfig-vars JSON file currently isn't available on WASI") + @unittest.skipIf(is_android or is_apple_mobile, 'Android and iOS change the prefix') +-- +2.51.0 + diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json index 441830833b..3184bbe0c3 100644 --- a/meta/recipes-devtools/python/python3/python3-manifest.json +++ b/meta/recipes-devtools/python/python3/python3-manifest.json @@ -1040,7 +1040,8 @@ "core" ], "files": [ - "${libdir}/python${PYTHON_MAJMIN}/string.py" + "${libdir}/python${PYTHON_MAJMIN}/string/__init__.py", + "${libdir}/python${PYTHON_MAJMIN}/string/templatelib.py" ], "cached": [ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/string.*.pyc" diff --git a/meta/recipes-devtools/python/python3_3.13.9.bb b/meta/recipes-devtools/python/python3_3.14.0.bb similarity index 95% rename from meta/recipes-devtools/python/python3_3.13.9.bb rename to meta/recipes-devtools/python/python3_3.14.0.bb index 2e114a6c5b..7b917a02dd 100644 --- a/meta/recipes-devtools/python/python3_3.13.9.bb +++ b/meta/recipes-devtools/python/python3_3.14.0.bb @@ -4,7 +4,7 @@ DESCRIPTION = "Python is a programming language that lets you work more quickly LICENSE = "PSF-2.0" SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3f64a4ff490f884d562feb77bf2435f1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=224f30639105a6ab845e068c2d0903ff" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://run-ptest \ @@ -29,20 +29,22 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0001-test_deadlock-skip-problematic-test.patch \ file://0001-test_active_children-skip-problematic-test.patch \ file://0001-test_readline-skip-limited-history-test.patch \ - file://0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch \ + file://0001-test_cmd-skip-bang-completion-test.patch \ + file://0001-test_pyrepl-skip-test_unix_console.test_cursor_back_.patch \ + file://0001-test_sysconfig-skip-test_sysconfig.test_sysconfigdat.patch \ " SRC_URI:append:class-native = " \ file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ " -SRC_URI[sha256sum] = "ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66" +SRC_URI[sha256sum] = "2299dae542d395ce3883aca00d3c910307cd68e0b2f7336098c8e7b7eee9f3e9" # exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P\d+(\.\d+)+).tar" CVE_PRODUCT = "python:python python_software_foundation:python cpython" -PYTHON_MAJMIN = "3.13" +PYTHON_MAJMIN = "3.14" S = "${UNPACKDIR}/Python-${PV}" @@ -70,6 +72,7 @@ DEPENDS = "\ virtual/libintl \ xz \ zlib \ + zstd \ " DEPENDS:append:class-target = " python3-native" @@ -298,6 +301,15 @@ py_package_preprocess () { #Remove the unneeded copy of target sysconfig data rm -rf ${PKGD}/${libdir}/python-sysconfigdata + + # Remove references to buildpaths in _sysconfig_vars JSON files + sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${HOSTTOOLS_DIR}/::g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + -e 's:${RECIPE_SYSROOT}::g' \ + -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ + ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfig_vars*.json } # We want bytecode precompiled .py files (.pyc's) by default From patchwork Thu Dec 4 18:09:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 75912 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 0D5D6D24468 for ; Thu, 4 Dec 2025 18:10:08 +0000 (UTC) Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.50687.1764871798013968110 for ; Thu, 04 Dec 2025 10:09:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre-com.20230601.gappssmtp.com header.s=20230601 header.b=pj4MCRRf; spf=pass (domain: baylibre.com, ip: 209.85.219.48, mailfrom: tgamblin@baylibre.com) Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-8826b83e405so16293736d6.0 for ; Thu, 04 Dec 2025 10:09:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1764871796; x=1765476596; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=iS2ZO2Mqksk5eMkwDKSrWfZnD+g5uQdPaf42w7JBWko=; b=pj4MCRRffVQFaMWdByxmEOBb4pzKDrU60Aq1XfRPVUayjoCJ7UFiSIDd9spmdhG5ap l0COugZmescdL63wAy2ht2PxEb1TpWQnZN7cJJnT0NM4wt4PfgOpHY50R4WfrxYJiRyk R5cYQ5OJwGNODUe5P/pLR10kTRuZhHsoWemN5TszZpmorlzbKJko7zWSMRUicN9vhICB qJEnge2/4ZEC8meSYz78eBly7hMKnhdWJd1FlbsB8HICk75HsPuMnYKhsjP+a/vng9ox DkbK4x/NIIscUfLS/PUiH89uz0sUGS+QA18IB5V8hXijlnuZYh1ATRLiv1NvqkgrMqZ/ s8rQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871796; x=1765476596; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=iS2ZO2Mqksk5eMkwDKSrWfZnD+g5uQdPaf42w7JBWko=; b=lpdj8Hfmp59C2ikWn5Ndo8rPWeeqk8tW23aw07L/0xfdL/NOYC5QH2yuVxwXonZJ2K a8+Qwpj3Rb58T2KBCyJH6YnSM+yXqLTSfL3euUvSjejRlqMS7AV5DCfhe0cIwTDTZnpD mlVsnuFyC2NNrn3JWFD91IF8eulw+ApVEBm6occI5mvSQ8yOsmC4Tudbnbcqqarf24Hz 6uKfGKaX4faKO1yVTeUNW+xgDD/sA1VMxpkysYHXW/6/y7nKxToEq8oap7se9RvVMCA5 Z8nLCHtuddCXU+hCYniqV4JnMi+gJWsUk+As7YT0p5JGmdh7Mb06z3jBl824JU0hNRbJ Idjw== X-Gm-Message-State: AOJu0YxRZehdX65yTdo4F3il2HYNOVyVcb+x9WBHmTNfHRY4xCj8DD8U ZHQUmGPZywRwYXJcxZIW8yFfPqC2svZyZL0tBSE439Ws81pPQ2HFt2XxqaIV4eI6QPoD2Q1sQ0H 1uj0F0bI= X-Gm-Gg: ASbGnctE97xXvE+OzkWvF9Pq7ykWMVZkoa5g2uON9AEW0ncHBd+Lo4EeBkgGARp5VNF sRhFahAhwcdeVmUmtlYSDV6tXAp0grMl2J3OTxEjbz7Ym78sxTZau+ts4kbT7O37R/47V8jzbGN SS2pYrKAcuFVZIAIyV8hUJpri33rfGe2s01jUwSyG4Nl+JXKSucj57go2MjwKboTbB+FMywSKHo oQqOCx6EEFBwzMzwpTwbFIYc/4Hlm+TaeAzh4bBq9RUZNG4sqb443Mm2UW4EnhCP39wo8uSEapu d7HpymvLpllW9EsOWl+2gVr6mGBWTunBWxf7CR+pJOXNOxa43TZBzdhnj24zwXwzi0vcOL6oakP VA4yu0a+xLwReBHnHfQNfDwBjWLYwGPHRMJfpE/1hvzAN4+fB4MTqtim5qEl29A0WOb1jW/DB8W PdKicXGyDO3dm4nTA= X-Google-Smtp-Source: AGHT+IFPn0jrmmj7o6v/Roi4hwjhxZLZfwQNxw0yJQ8TM9uGw1yVNeAD70d9sXEOp7n9KQKvt7KVfw== X-Received: by 2002:a05:6214:519b:b0:880:834d:ff69 with SMTP id 6a1803df08f44-888194c9ccamr93592236d6.1.1764871796076; Thu, 04 Dec 2025 10:09:56 -0800 (PST) Received: from localhost ([2001:1970:3847:e000:8598:5636:16ad:2a8f]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88827f49097sm16162576d6.14.2025.12.04.10.09.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:09:55 -0800 (PST) From: Trevor Gamblin To: openembedded-core@lists.openembedded.org Subject: [OE-core][PATCH 2/6] python_pep517: add --prefix to nativepython3 call Date: Thu, 4 Dec 2025 13:09:41 -0500 Message-ID: <20251204180945.3112334-3-tgamblin@baylibre.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251204180945.3112334-1-tgamblin@baylibre.com> References: <20251204180945.3112334-1-tgamblin@baylibre.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 ; Thu, 04 Dec 2025 18:10:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227317 With Python 3.14, the default assumptions about install path in python_pep517 no longer seem to apply, and as a result we see QA errors during Python package builds like: |ERROR: python3-unittest-automake-output-0.3-r0 do_package: QA Issue: python3-unittest-automake-output: Files/directories were installed but not shipped in any package: | /home | /home/tgamblin | /home/tgamblin/workspace | /home/tgamblin/workspace/yocto | /home/tgamblin/workspace/yocto/openembedded-core | /home/tgamblin/workspace/yocto/openembedded-core/build | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3 | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14 | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/__init__.py | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/pytest.py | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/__pycache__ | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__init__.py | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__main__.py | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__pycache__ | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__pycache__/__init__.cpython-314.pyc | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__pycache__/__main__.cpython-314.pyc | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/__pycache__/__init__.cpython-314.pyc | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/__pycache__/pytest.cpython-314.pyc | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/entry_points.txt | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/WHEEL | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/METADATA | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/licenses | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/licenses/LICENSE |Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. |python3-unittest-automake-output: 34 installed and not shipped files. [installed-vs-shipped] We need to add the --prefix flag to the nativepython3 call so that it avoids using the native Python's sysconfig prefix. Signed-off-by: Trevor Gamblin --- meta/classes-recipe/python_pep517.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/python_pep517.bbclass b/meta/classes-recipe/python_pep517.bbclass index 128c943794..d6246af5c2 100644 --- a/meta/classes-recipe/python_pep517.bbclass +++ b/meta/classes-recipe/python_pep517.bbclass @@ -51,7 +51,7 @@ python_pep517_do_install () { bbfatal More than one wheel found in ${PEP517_WHEEL_PATH}, this should not happen fi - nativepython3 -m installer ${INSTALL_WHEEL_COMPILE_BYTECODE} --interpreter "${USRBINPATH}/env ${PEP517_INSTALL_PYTHON}" --destdir=${D} ${PEP517_WHEEL_PATH}/*.whl + nativepython3 -m installer ${INSTALL_WHEEL_COMPILE_BYTECODE} --interpreter "${USRBINPATH}/env ${PEP517_INSTALL_PYTHON}" --prefix=${prefix} --destdir=${D} ${PEP517_WHEEL_PATH}/*.whl find ${D} -path *.dist-info/RECORD -delete } From patchwork Thu Dec 4 18:09:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 75913 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 08135D24466 for ; Thu, 4 Dec 2025 18:10:08 +0000 (UTC) Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.50359.1764871799817718351 for ; Thu, 04 Dec 2025 10:09:59 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre-com.20230601.gappssmtp.com header.s=20230601 header.b=CZHXkdP8; spf=pass (domain: baylibre.com, ip: 209.85.222.169, mailfrom: tgamblin@baylibre.com) Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-8b2ea2b9631so108566985a.3 for ; Thu, 04 Dec 2025 10:09:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1764871798; x=1765476598; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=gs0Mgqt0pJituTcjQVfxl0IgnIToInw/DKOmNJ54X2o=; b=CZHXkdP8Ejq+C/dX0cxHN0u5OH+K419kXJPXHYRHlKZ38Db0L+nUBMmmlv+FsYBd41 64LT0RzZOdBKES7t0k/Dh+8dLkNplSYextSXZslPsFtHkWJ16hBFQvBq2oji94D79c9Q vRVBy6UU8HgDwOH/2k66ehm3Z9BFiGxayqzx96IFtpoMMERm5/qqG3RjheYPqlcrnvD9 DwuI7jTIQkcydjal2q7/iihUnj4+LKTfcXtzgXXbny4vvc6GOqdyEw6sFQ1Q6mUO5Qfi 1BA1TbvwWjrgXblgBRJy4fVKb6veSSGjR5WGxka1PK7i89fPIJsm/J+li7+K1ryha33T K0TA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871798; x=1765476598; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=gs0Mgqt0pJituTcjQVfxl0IgnIToInw/DKOmNJ54X2o=; b=Fc++RfAM9i3aloskIBau41S/hsNSofmaV4pXsOi3kthSTdoyq8hgO8FyYJ9Lwh137i 0OkCf2vRF/WWbgjzmDRlki2GlPAWli4733yAPnZe4AfjMYCWqrFPsvkXf4Lk56u+jYXB z86SVZ1yo9JsfbELHTQOvUzcAlocJzCA5ER3uDa8ymdoBwbzwtFlmzbtwioLK04TVT/S 2N/jMa934hePMbLO1qmytX7tU/sWNwIda53SMgjmxZw6vKhrgPJ5PlGQe6guZyaR2HoX RJ8wVxXdS+AXC2gurkjoYyN+gI7QKx+ct73fLG0OWPCsvHtX2XBLEjvPy/byCcUiNjyw XzUA== X-Gm-Message-State: AOJu0YxvY2hxHEBRZxCFVqpiRzNjNKu2ThaDjNkI/WcabGJXU8ifEmk+ gmEqGBCbhazrtktNiBcQZBWL616LX1TdAo0hO+jtY3WlG0CxsHVewODezxUte6BYedPTSi89MJ5 Hm31/aqE= X-Gm-Gg: ASbGncucxB1hxZQTB6qN1Pqeyhphrw+FvbZTRWZt1gS0q1IihGMnY8MrWkv+ej2CQxR bnESpzo+tnekyUOE9M25ewS6Audi89a8oN4YhmV9Lk2A38tgXsgNo1dxzx2GLSVLjQmLCs2SMDN eyQenTQJnsQKN0uBHsTYVC6L4wr99ynRzVPc4PKOuOHkxu2DqdDdexsOxnXodc+stUZ04WVWsVE QIUE5VMQ4ARr6SSXbZ5U8H0snP+6Fjke/moy4cz/Rl9Y9CwP7heiJnuvLQ2fQuwYCvwhb5ynkTv fBtA3cWGioDTtGLyh/ZrePzIK6B8XAxyfPCJNFvOH0FyxVpi2iw8R87e6hbTg5dngy5QfPKggXt RH2GvZINV8J6edwB0i3uA+9ecKmEWrmw/3FpvLbEGrS8b1FhZOylH4YzAY6YIVN8gXYuZNZ0xjA pMmW9h84aKVVPbg1g= X-Google-Smtp-Source: AGHT+IGJNSUzqCe7nz8kuHJstMrkJK3q8mzrdfqzwYqtCSwh18CYZ62aM/aPGEMg5nU8zmP2Q1X+lw== X-Received: by 2002:a05:620a:440f:b0:8b2:f2f9:e942 with SMTP id af79cd13be357-8b6181bd653mr541536585a.41.1764871798009; Thu, 04 Dec 2025 10:09:58 -0800 (PST) Received: from localhost ([2001:1970:3847:e000:8598:5636:16ad:2a8f]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8b627a9fd3asm188128985a.49.2025.12.04.10.09.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:09:57 -0800 (PST) From: Trevor Gamblin To: openembedded-core@lists.openembedded.org Subject: [OE-core][PATCH 3/6] python3-bcrypt: upgrade 4.3.0 -> 5.0.0 Date: Thu, 4 Dec 2025 13:09:42 -0500 Message-ID: <20251204180945.3112334-4-tgamblin@baylibre.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251204180945.3112334-1-tgamblin@baylibre.com> References: <20251204180945.3112334-1-tgamblin@baylibre.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 ; Thu, 04 Dec 2025 18:10:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227318 Changelog (https://github.com/pyca/bcrypt/blob/main/CHANGELOG.rst): - Bumped MSRV to 1.74. - Added support for Python 3.14 and free-threaded Python 3.14. - Added support for Windows on ARM. - Passing hashpw a password longer than 72 bytes now raises a ValueError. Previously the password was silently truncated, following the behavior of the original OpenBSD bcrypt implementation. Signed-off-by: Trevor Gamblin --- .../python/python3-bcrypt-crates.inc | 90 ++++++++++--------- ...crypt_4.3.0.bb => python3-bcrypt_5.0.0.bb} | 2 +- 2 files changed, 49 insertions(+), 43 deletions(-) rename meta/recipes-devtools/python/{python3-bcrypt_4.3.0.bb => python3-bcrypt_5.0.0.bb} (86%) diff --git a/meta/recipes-devtools/python/python3-bcrypt-crates.inc b/meta/recipes-devtools/python/python3-bcrypt-crates.inc index e0a2926519..9ef009d843 100644 --- a/meta/recipes-devtools/python/python3-bcrypt-crates.inc +++ b/meta/recipes-devtools/python/python3-bcrypt-crates.inc @@ -2,45 +2,47 @@ # from src/_bcrypt/Cargo.lock SRC_URI += " \ - crate://crates.io/autocfg/1.4.0 \ + crate://crates.io/autocfg/1.5.0 \ crate://crates.io/base64/0.22.1 \ - crate://crates.io/bcrypt/0.17.0 \ + crate://crates.io/bcrypt/0.17.1 \ crate://crates.io/bcrypt-pbkdf/0.10.0 \ crate://crates.io/bitflags/2.8.0 \ crate://crates.io/block-buffer/0.10.4 \ crate://crates.io/blowfish/0.9.1 \ crate://crates.io/byteorder/1.5.0 \ - crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/cfg-if/1.0.3 \ crate://crates.io/cipher/0.4.4 \ crate://crates.io/cpufeatures/0.2.17 \ crate://crates.io/crypto-common/0.1.6 \ crate://crates.io/digest/0.10.7 \ crate://crates.io/generic-array/0.14.7 \ - crate://crates.io/getrandom/0.3.1 \ + crate://crates.io/getrandom/0.3.3 \ crate://crates.io/heck/0.5.0 \ - crate://crates.io/indoc/2.0.5 \ + crate://crates.io/indoc/2.0.6 \ crate://crates.io/inout/0.1.4 \ - crate://crates.io/libc/0.2.170 \ + crate://crates.io/libc/0.2.176 \ crate://crates.io/memoffset/0.9.1 \ - crate://crates.io/once_cell/1.20.3 \ + crate://crates.io/once_cell/1.21.3 \ crate://crates.io/pbkdf2/0.12.2 \ - crate://crates.io/portable-atomic/1.11.0 \ - crate://crates.io/proc-macro2/1.0.93 \ - crate://crates.io/pyo3/0.23.5 \ - crate://crates.io/pyo3-build-config/0.23.5 \ - crate://crates.io/pyo3-ffi/0.23.5 \ - crate://crates.io/pyo3-macros/0.23.5 \ - crate://crates.io/pyo3-macros-backend/0.23.5 \ - crate://crates.io/quote/1.0.38 \ - crate://crates.io/sha2/0.10.8 \ + crate://crates.io/portable-atomic/1.11.1 \ + crate://crates.io/proc-macro2/1.0.101 \ + crate://crates.io/pyo3/0.26.0 \ + crate://crates.io/pyo3-build-config/0.26.0 \ + crate://crates.io/pyo3-ffi/0.26.0 \ + crate://crates.io/pyo3-macros/0.26.0 \ + crate://crates.io/pyo3-macros-backend/0.26.0 \ + crate://crates.io/quote/1.0.40 \ + crate://crates.io/r-efi/5.3.0 \ + crate://crates.io/sha2/0.10.9 \ crate://crates.io/subtle/2.6.1 \ - crate://crates.io/syn/2.0.98 \ - crate://crates.io/target-lexicon/0.12.16 \ + crate://crates.io/syn/2.0.106 \ + crate://crates.io/target-lexicon/0.13.3 \ crate://crates.io/typenum/1.18.0 \ - crate://crates.io/unicode-ident/1.0.17 \ - crate://crates.io/unindent/0.2.3 \ + crate://crates.io/unicode-ident/1.0.19 \ + crate://crates.io/unindent/0.2.4 \ crate://crates.io/version_check/0.9.5 \ - crate://crates.io/wasi/0.13.3+wasi-0.2.2 \ + crate://crates.io/wasi/0.14.7+wasi-0.2.4 \ + crate://crates.io/wasip2/1.0.1+wasi-0.2.4 \ crate://crates.io/windows-targets/0.52.6 \ crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ crate://crates.io/windows_aarch64_msvc/0.52.6 \ @@ -50,49 +52,52 @@ SRC_URI += " \ crate://crates.io/windows_x86_64_gnu/0.52.6 \ crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ crate://crates.io/windows_x86_64_msvc/0.52.6 \ + crate://crates.io/wit-bindgen/0.46.0 \ crate://crates.io/wit-bindgen-rt/0.33.0 \ crate://crates.io/zeroize/1.8.1 \ " -SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +SRC_URI[autocfg-1.5.0.sha256sum] = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -SRC_URI[bcrypt-0.17.0.sha256sum] = "92758ad6077e4c76a6cadbce5005f666df70d4f13b19976b1a8062eef880040f" +SRC_URI[bcrypt-0.17.1.sha256sum] = "abaf6da45c74385272ddf00e1ac074c7d8a6c1a1dda376902bd6a427522a8b2c" SRC_URI[bcrypt-pbkdf-0.10.0.sha256sum] = "6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2" SRC_URI[bitflags-2.8.0.sha256sum] = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" SRC_URI[blowfish-0.9.1.sha256sum] = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" -SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[cfg-if-1.0.3.sha256sum] = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" SRC_URI[cipher-0.4.4.sha256sum] = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -SRC_URI[getrandom-0.3.1.sha256sum] = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +SRC_URI[getrandom-0.3.3.sha256sum] = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -SRC_URI[indoc-2.0.5.sha256sum] = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" +SRC_URI[indoc-2.0.6.sha256sum] = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" SRC_URI[inout-0.1.4.sha256sum] = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" -SRC_URI[libc-0.2.170.sha256sum] = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" +SRC_URI[libc-0.2.176.sha256sum] = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -SRC_URI[once_cell-1.20.3.sha256sum] = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" +SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" SRC_URI[pbkdf2-0.12.2.sha256sum] = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -SRC_URI[portable-atomic-1.11.0.sha256sum] = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" -SRC_URI[proc-macro2-1.0.93.sha256sum] = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" -SRC_URI[pyo3-0.23.5.sha256sum] = "7778bffd85cf38175ac1f545509665d0b9b92a198ca7941f131f85f7a4f9a872" -SRC_URI[pyo3-build-config-0.23.5.sha256sum] = "94f6cbe86ef3bf18998d9df6e0f3fc1050a8c5efa409bf712e661a4366e010fb" -SRC_URI[pyo3-ffi-0.23.5.sha256sum] = "e9f1b4c431c0bb1c8fb0a338709859eed0d030ff6daa34368d3b152a63dfdd8d" -SRC_URI[pyo3-macros-0.23.5.sha256sum] = "fbc2201328f63c4710f68abdf653c89d8dbc2858b88c5d88b0ff38a75288a9da" -SRC_URI[pyo3-macros-backend-0.23.5.sha256sum] = "fca6726ad0f3da9c9de093d6f116a93c1a38e417ed73bf138472cf4064f72028" -SRC_URI[quote-1.0.38.sha256sum] = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +SRC_URI[portable-atomic-1.11.1.sha256sum] = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +SRC_URI[proc-macro2-1.0.101.sha256sum] = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +SRC_URI[pyo3-0.26.0.sha256sum] = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383" +SRC_URI[pyo3-build-config-0.26.0.sha256sum] = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f" +SRC_URI[pyo3-ffi-0.26.0.sha256sum] = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105" +SRC_URI[pyo3-macros-0.26.0.sha256sum] = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded" +SRC_URI[pyo3-macros-backend-0.26.0.sha256sum] = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf" +SRC_URI[quote-1.0.40.sha256sum] = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" SRC_URI[subtle-2.6.1.sha256sum] = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -SRC_URI[syn-2.0.98.sha256sum] = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" -SRC_URI[target-lexicon-0.12.16.sha256sum] = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +SRC_URI[syn-2.0.106.sha256sum] = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +SRC_URI[target-lexicon-0.13.3.sha256sum] = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c" SRC_URI[typenum-1.18.0.sha256sum] = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" -SRC_URI[unicode-ident-1.0.17.sha256sum] = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" -SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" +SRC_URI[unicode-ident-1.0.19.sha256sum] = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" +SRC_URI[unindent-0.2.4.sha256sum] = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -SRC_URI[wasi-0.13.3+wasi-0.2.2.sha256sum] = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +SRC_URI[wasi-0.14.7+wasi-0.2.4.sha256sum] = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" +SRC_URI[wasip2-1.0.1+wasi-0.2.4.sha256sum] = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" @@ -102,5 +107,6 @@ SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffc SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +SRC_URI[wit-bindgen-0.46.0.sha256sum] = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" SRC_URI[wit-bindgen-rt-0.33.0.sha256sum] = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" SRC_URI[zeroize-1.8.1.sha256sum] = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/meta/recipes-devtools/python/python3-bcrypt_4.3.0.bb b/meta/recipes-devtools/python/python3-bcrypt_5.0.0.bb similarity index 86% rename from meta/recipes-devtools/python/python3-bcrypt_4.3.0.bb rename to meta/recipes-devtools/python/python3-bcrypt_5.0.0.bb index 931aae4310..6397ecd818 100644 --- a/meta/recipes-devtools/python/python3-bcrypt_4.3.0.bb +++ b/meta/recipes-devtools/python/python3-bcrypt_5.0.0.bb @@ -6,7 +6,7 @@ HOMEPAGE = "https://pypi.org/project/bcrypt/" DEPENDS += "python3-cffi-native" LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '-fuse-ld=bfd', '', d)}" -SRC_URI[sha256sum] = "3a3fd2204178b6d2adcf09cb4f6426ffef54762577a7c9b54c159008cb288c18" +SRC_URI[sha256sum] = "f748f7c2d6fd375cc93d3fba7ef4a9e3a092421b8dbf34d8d4dc06be9492dfdd" inherit pypi python_setuptools3_rust cargo-update-recipe-crates ptest-python-pytest From patchwork Thu Dec 4 18:09:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 75916 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 0E669D24469 for ; Thu, 4 Dec 2025 18:10:08 +0000 (UTC) Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.50691.1764871801519413639 for ; Thu, 04 Dec 2025 10:10:01 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre-com.20230601.gappssmtp.com header.s=20230601 header.b=F3+0TxQW; spf=pass (domain: baylibre.com, ip: 209.85.222.177, mailfrom: tgamblin@baylibre.com) Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-8b28f983333so126039285a.3 for ; Thu, 04 Dec 2025 10:10:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1764871800; x=1765476600; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=zhXVSms3IGraJR1AftbJj5A6wIbByeFMJyqlhT2Xiwg=; b=F3+0TxQWmjR8QZEE6MQKo/vAB6dFBczfD75J0T9ui6FlSSaxG05hOhsEAKMpm1zNzs Ssk1yx3ujafpOv2RF4Q7JIdfaipMjF+p5hNEOJ9Fb8bbaGOEmybfRngB+YaNqEiICj9P hkv3+6s/YkYN7frFBXpM8/G1yCfxFC+Cqvw5X2qukoIs4cyW2Xz3Xx0tpRDFxbyXi6kv 0mTZO+UkQCRp+oWdYoN7ZeIVkpvPUCSiWt3P45ozzkMFmp2+DDf16xd4vpkivsevqGAA C7gOfgmiyKDRW5yx9z1w7Y9iFbhRRrXWQ3R5n8LLcPEvDeLpMOBIDAs5ssIyR0SbTQIk xvJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871800; x=1765476600; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=zhXVSms3IGraJR1AftbJj5A6wIbByeFMJyqlhT2Xiwg=; b=g+U87WtQ94TRgxlP5rsrd7srMAVQH61bOz82M6x1Bn44zqutLSpNxG5f+S+Mz0e2Ox qLfc0jxz05sPVuTGCoH4T6wneBVQSkZrZhwFyfBPU1Mckdv8OLOgjIECQTkX8BwEemLt KXUJvnbpMMiOfaYnF0ebSznIS/0NXP6ihjc0NjIyJd2Cy4dEyWNetm8qPDmBjoZP5Mpq QrvuIqG/D8K8hVORiBiT46r+ovjW52tDcc4JMLzZ57MGgEYa6ULPcnmGBYD2calu7lzI KUeMxsbcyxC9RfzciQSKfVhtDv6TzYbGUdr9K32D+MoDOm3rgmbgPAdSlaZEJuz5QbKD pSmQ== X-Gm-Message-State: AOJu0YyIaO0EOrozt0+D9I4z0LiOUq9vna0105AoFqTpjc3gbFqZ1VRS tzZgv2bnWeTVWVuQR27pcG8HXKD2awfk8oF5ZzasmkKdoXZ7YbPQkxHTpSOR5SFSMxrckvdJatK c9Tx6rQ8= X-Gm-Gg: ASbGncuOF3H2B14t6IN6QSUKTQ8iHRx7ZmTXWEgxdYj6b4H9i4yBEtyv5D8s25t7oO+ 0kQ5zeJjT2CUVMU6NEG+3Rn0cB7W1KDhx2nb9z/6XQnR+X/DjOrzEZPWtEKWiy4Jk/YG8damAOt pziyliuFPnXRGo55T3P0G8I5vovOUEoMx2ZP12esxESsUbbXXDpAED/lsmP7eTbfvFiXDy6WwMm 0yrlbNCIrUUswKLXdE8oi84Wj1NWMmKIuoQcVzgGx2mETlPFb4kEec007L9B9+hYaZkWZhq1ATd sZ/P86Vo9Jf/FNHzk0VO+0jldYC13olvZ6Bf8ZE2LFFDdsilzZ6gLcD6lwyn/ezXM4Hhx9VwxTe czHyeTk3t955klH+GGBm2jWw36Srq7l8IOA765PDb9jdK63zmTCYfzNxpnRmKrirmAxZp2rNBEd QZFqu6+qrdZ4xTFUbbS1LriSGpTQ== X-Google-Smtp-Source: AGHT+IF5i9dPSxQesPd/yHKpXZrLbtvAIApWkAkkCXUt2+zLnKXBSAm7+B7mVGGyKZ7iOx4K4O8hKg== X-Received: by 2002:a05:622a:1301:b0:4ef:bd1c:69ea with SMTP id d75a77b69052e-4f023ac7091mr57541941cf.65.1764871799920; Thu, 04 Dec 2025 10:09:59 -0800 (PST) Received: from localhost ([2001:1970:3847:e000:8598:5636:16ad:2a8f]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4f027669f3bsm13547891cf.6.2025.12.04.10.09.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:09:59 -0800 (PST) From: Trevor Gamblin To: openembedded-core@lists.openembedded.org Subject: [OE-core][PATCH 4/6] rpm: handle CMake Python paths in do_configure Date: Thu, 4 Dec 2025 13:09:43 -0500 Message-ID: <20251204180945.3112334-5-tgamblin@baylibre.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251204180945.3112334-1-tgamblin@baylibre.com> References: <20251204180945.3112334-1-tgamblin@baylibre.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 ; Thu, 04 Dec 2025 18:10:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227319 With the Python 3.14.0 upgrade, rpm is finding the wrong paths with CMake, leading to a QA issue for files that we have listed in FILES already: |ERROR: QA Issue: rpm: Files/directories were installed but not shipped in any package: | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/rpm/4.20.1/recipe-sysroot-native/usr/lib/python3.14/site-packages/rpm-4.20.1-py3.14.egg-info | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/rpm/4.20.1/recipe-sysroot-native/usr/lib/python3.14/site-packages/rpm/_rpm.so | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/rpm/4.20.1/recipe-sysroot-native/usr/lib/python3.14/site-packages/rpm/transaction.py | /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/rpm/4.20.1/recipe-sysroot-native/usr/lib/python3.14/site-packages/rpm/__init__.py |Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. |rpm: 4 installed and not shipped files. [installed-vs-shipped] Add a do_configure:prepend() step to make sure the right ones are found. Signed-off-by: Trevor Gamblin --- meta/recipes-devtools/rpm/rpm_4.20.1.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/recipes-devtools/rpm/rpm_4.20.1.bb b/meta/recipes-devtools/rpm/rpm_4.20.1.bb index ba967ec1fa..8aa63def61 100644 --- a/meta/recipes-devtools/rpm/rpm_4.20.1.bb +++ b/meta/recipes-devtools/rpm/rpm_4.20.1.bb @@ -101,6 +101,11 @@ WRAPPER_TOOLS = " \ base_bindir_progs = "sed tar rm mv mkdir cp cat chown chmod gzip grep" +do_configure:prepend() { + # Force CMake to use target Python paths, not native + sed -i 's|${Python3_SITEARCH}|${PYTHON_SITEPACKAGES_DIR}|g' ${S}/python/CMakeLists.txt +} + do_install:append:class-native() { for tool in ${WRAPPER_TOOLS}; do test -x ${D}$tool && create_wrapper ${D}$tool \ From patchwork Thu Dec 4 18:09:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 75914 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 1B7D5D2446B for ; Thu, 4 Dec 2025 18:10:08 +0000 (UTC) Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.50694.1764871803760503355 for ; Thu, 04 Dec 2025 10:10:03 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre-com.20230601.gappssmtp.com header.s=20230601 header.b=iYzuNF/R; spf=pass (domain: baylibre.com, ip: 209.85.219.41, mailfrom: tgamblin@baylibre.com) Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-88245cc8c92so8110966d6.0 for ; Thu, 04 Dec 2025 10:10:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1764871802; x=1765476602; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=gUd0b+gEI+UzirW4PScWFmRNjBUrtVyiYSfZXfHhGUA=; b=iYzuNF/RPrWIqy7nTkhVZWCrc6/+JpP2Bda8uB3daKoJUhM6pp6Eo777jGrkcmXs3r 7ZR2Qrcq3iRe/mUQl3bjGHmk8m8ixF9wfbl7O9iPJMipeqTVhYplmTZ7H0je0RO3ZnLB rHEaD5943rc28+WzhRWYE5ImJssRXYBBQa/1KpH0aeFtAbnIM5w71fNvAzG8W1uRDFNF t+g/ZgKMgV07V2BgZLvdEang9c4nsRK6G1LC1rlQlhEBleg5qCAg4LD/pLvsYMdkHdmE Ey4XqEn0h6pZz8GXkvv5ql512XyeeT1J6MTmXdeh0krFQWC7fYYgXrwH/1lH+NNLBS5A hUTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871802; x=1765476602; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=gUd0b+gEI+UzirW4PScWFmRNjBUrtVyiYSfZXfHhGUA=; b=mc7QX6JWvzSwF6rVca1EVf4mlxE/eRM6/fr5LfIWbgKZTRA7h2ry0KMK+P8Hn4bEbI /krfMHnlQRUMJFgoZ69nvBgR1bDS45EjrWP3uojMhua6XBQYKkhYDLFRbkQi4XrPRUwu DzO885S9avmJTEpiRDiSZm2HKaBNOVde64zQ57aOJjFF+S1p3iXzXCst9qCg91kfD0pg 49H+BM89Kjm974l50/zwaRuErr0fwrbJOPvqI20FTIg9X9cLWD6lgiSZMwFbsJlFGu5f aMlbHsH/4rf+ixtdQiBQqpqw0PmAz4Eg63PmCXzUI3YCdfBEWbclyvhW0J03WfiPEBzY y9Qg== X-Gm-Message-State: AOJu0YwgUwjXVe/b3WfNsXA9CyLbAkQynjar1GI+4oMvU/yvC4NVocQk tRuOW4pWZIWSGwZmcsdT1Z/8KefoD7IF73PwjReflVm4xtuiAsHWada7AOAb7MHCJl1nBQPGUnn UXMfBe8I= X-Gm-Gg: ASbGncvvsU+Y/elv2oseknunBttuGuyc2lKqYEfv2/ZFxoMtdgx6ok9E3RPvJXQqBIg Dta0thPsl4QfhKCawfmYphMaTp2pFSDNOPEBQTJ8Owf1hKQVQ29OQWOF/5Ijy65mVdMBXSG27wC 9GY/OluEspHqy0mrvKsW/GDhs3UjYLV/01hdXkty5LNAzJva88NerreOBowoRXr83x4QsA+Rdk9 vOm/VrSV8a8FsS5exkHNb06YkhsWpO88+4YYliLZsd5ff1nVU0WHEZnXtTsnyVHg1vGeaxvX68j JMHw9CT42niSTg3vASEge+PkvFnZJiDl8dXjqpngSvnxM3X/u7qhtpPRfC+EJHQkR2b4BJUjhJ9 vgfWlwsu7ouGIlF2FL6azS93Nn6lh4WgxpWwSBckhxmSrwtAOnsS109n1oWkX71d7yD7ksSGDF/ dC4TxzKKuSoex0kGSaz7m0VWNcig== X-Google-Smtp-Source: AGHT+IEoQN8thmUGYxtu8Z/lfwQ62rpBBu/BWO9gZGFx/46xKafpRDj75qqMU34hdZEPoVIGWv11ag== X-Received: by 2002:a05:6214:c45:b0:888:1fc7:b0b5 with SMTP id 6a1803df08f44-888248ca74amr59319736d6.58.1764871801769; Thu, 04 Dec 2025 10:10:01 -0800 (PST) Received: from localhost ([2001:1970:3847:e000:8598:5636:16ad:2a8f]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-888287d6c1fsm15540066d6.44.2025.12.04.10.10.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:10:01 -0800 (PST) From: Trevor Gamblin To: openembedded-core@lists.openembedded.org Subject: [OE-core][PATCH 5/6] python3-pytest: add python3-misc to RDEPENDS Date: Thu, 4 Dec 2025 13:09:44 -0500 Message-ID: <20251204180945.3112334-6-tgamblin@baylibre.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251204180945.3112334-1-tgamblin@baylibre.com> References: <20251204180945.3112334-1-tgamblin@baylibre.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 ; Thu, 04 Dec 2025 18:10:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227320 pytest depends on the annotationlib module, which is in the python3-misc split. Without this, many of the other packages' ptests will fail right away when pytest tries to import the missing module. Signed-off-by: Trevor Gamblin --- meta/recipes-devtools/python/python3-pytest_8.4.2.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/python/python3-pytest_8.4.2.bb b/meta/recipes-devtools/python/python3-pytest_8.4.2.bb index d85033cd1f..baf72a31d9 100644 --- a/meta/recipes-devtools/python/python3-pytest_8.4.2.bb +++ b/meta/recipes-devtools/python/python3-pytest_8.4.2.bb @@ -17,6 +17,7 @@ RDEPENDS:${PN} += " \ python3-doctest \ python3-iniconfig \ python3-json \ + python3-misc \ python3-packaging \ python3-pluggy \ python3-pygments \ From patchwork Thu Dec 4 18:09:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 75915 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 2854DD2446D for ; Thu, 4 Dec 2025 18:10:08 +0000 (UTC) Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.50366.1764871805925879240 for ; Thu, 04 Dec 2025 10:10:06 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre-com.20230601.gappssmtp.com header.s=20230601 header.b=c4I7vLw+; spf=pass (domain: baylibre.com, ip: 209.85.160.180, mailfrom: tgamblin@baylibre.com) Received: by mail-qt1-f180.google.com with SMTP id d75a77b69052e-4eda26a04bfso12762331cf.2 for ; Thu, 04 Dec 2025 10:10:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1764871804; x=1765476604; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=DpO0MHJV9TmykGP4kODzWj86T5Q3YuGW/hZu3QoUQWg=; b=c4I7vLw+XOgGPwGdk9lDlJzE2CU6JnFVh3TIhsy+vJVqDhuTId9bb75Or411l41KXb 7NtMkFs0ta8M2VSvg5CKz2eAXePcA8GVJBgg/rDWPi1UqV5qo2EElBgNwcJKBHuCXtuL 6FmIwCwfo6rGOPnC/96agcv5dDm+RcwOcrxP3NaBSZQTuYl53/4I5f4rjZ2JeqF2IdN2 0LRV6XRsDb9K/axg/213m6+xTgJqJQjOD/jsasAXXtS8yQsFQwYAAQaQuHEqJfdX6efA uf8RQCOduUfdC8FRJ2jB/a9t3nPXga5McpD+gEX5wZxCrfKlDU1txJnq8R2HbKhB2OK6 3eAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764871804; x=1765476604; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=DpO0MHJV9TmykGP4kODzWj86T5Q3YuGW/hZu3QoUQWg=; b=ldI2UNTwnhUn9NHRZiLtoVSHZFD/OTcxQkK2G0gs8f9xWS18oEz0+QRpv5Uv6P8Ae1 LjPaZQB8G/eJbhryZF+MXRIjgEPM5IBxv956S7FcxkE66d1D589YS2I6k1vxN8c4+YSI EJj7zsLk0dk/xV1zK/VztP1/MYhbgERYCzCpqo+sGBQmQWylkc0fLbEaSrASuJGB3kjl d0w+iHiwKDwiPcSrvSWFraM7JFo2hSt5ABJBqEGDdwjnBWRq4/zTuKSpoxyEwKiR8Lmi 6Ya2ynE1Qr3RUZjxftQo/UxZdNtf0awBUWbzZfSOjnQIBE/H5McUIxXNiAA4gSeUQXhU tI/A== X-Gm-Message-State: AOJu0YzKyEuF+H0uqsGKv15dSE8goHnOGBbIFi+N3/4wzvZUA4iahIiZ Ohyb3py7LPqqJkL9P0mWYOrIbV2jZ56DXd/J2/4hqPeVwxlfr555ry6rd4pM2x3c6ozUVZ61U/o MFWqdl1k= X-Gm-Gg: ASbGncv7GnRDZFKWlJJrRpWQuz2FCWRr0R7tTfhCrr0ao+qAgyWfgZG622xxCx4tI1d NyjLNV1f94t0X5kK6DJn6J//kWQ0lztQat0hT2IR/KxoslCn7st7h1fcHy2lmZ6JoqDo5JePp7+ p0Ekcdt82h4RRGpo0PzK0lR9f/xcGeXeZCH0z/KwSCzbpDLO74BQQanCRJtEGlP3XGJWz7NLHfK vXRAfiqFiuZq0FLyVeSgrCJISu8F4EGO9j6qJ+AVVWiKe4a87YXP1MT2dJAEgbbXzqW3DFlSKt1 dJM7VR1oRmx5z7e1v5s63WEYDyT26MxGqD+4MDme93DfksKpYiZt4NXKpiWs7KcoDxcvGHaq9LW QMQlp+ErsUAbptECBCG3X5MmBy/ECR47nukzAN6ASDBjH3vzuueXlzglidwbN6PGTcMc7QWbX6t Pixgg4np7AkyR/Y+Y= X-Google-Smtp-Source: AGHT+IF83hirMmVmc7BXyao/rjk68NJGh5FvtDquenHoZcuuChFHmnvhp9mEVfjbbTOvRdI2dPNOLg== X-Received: by 2002:a05:622a:283:b0:4eb:7574:65f6 with SMTP id d75a77b69052e-4f0175064cemr98890461cf.7.1764871804307; Thu, 04 Dec 2025 10:10:04 -0800 (PST) Received: from localhost ([2001:1970:3847:e000:8598:5636:16ad:2a8f]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4f027d58edbsm12317571cf.34.2025.12.04.10.10.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Dec 2025 10:10:03 -0800 (PST) From: Trevor Gamblin To: openembedded-core@lists.openembedded.org Subject: [OE-core][PATCH 6/6] python3-jsonpointer: add python3-misc to RDEPENDS Date: Thu, 4 Dec 2025 13:09:45 -0500 Message-ID: <20251204180945.3112334-7-tgamblin@baylibre.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251204180945.3112334-1-tgamblin@baylibre.com> References: <20251204180945.3112334-1-tgamblin@baylibre.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 ; Thu, 04 Dec 2025 18:10:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227321 jsonpointer's ptest uses unittest, which depends on the internal _py_warnings module. This is part of the python3-misc split. However, there is also a warning displayed when simply trying to import jsonpointer in an interpreter running on the target: |warning: can't use pyrepl: No module named '_py_warnings' Add python3-misc to the package RDEPENDS to deal with both issues. Signed-off-by: Trevor Gamblin --- meta/recipes-devtools/python/python3-jsonpointer_3.0.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/python/python3-jsonpointer_3.0.0.bb b/meta/recipes-devtools/python/python3-jsonpointer_3.0.0.bb index 0a23dc3100..0fc2a6301d 100644 --- a/meta/recipes-devtools/python/python3-jsonpointer_3.0.0.bb +++ b/meta/recipes-devtools/python/python3-jsonpointer_3.0.0.bb @@ -17,6 +17,7 @@ do_install_ptest() { RDEPENDS:${PN} += " \ python3-json \ + python3-misc \ " RDEPENDS:${PN}-ptest += " \