summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-python/recipes-devtools/python
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-python/recipes-devtools/python')
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.6.3.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.6.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.3.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.20.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.11.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.11.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.4.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_2.1.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_2.1.0.bb)6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-flask-cors/CVE-2024-6221.patch110
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-flask-cors_4.0.0.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.63.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.62.2.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch82
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-crypto-use-_Generic-only-if-defined-__cplusplus.patch74
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/CVE-2024-11407.patch32
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.62.2.bb7
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-Properly-cast-arguments-to-H5Lunpack_elink_val.patch25
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0002-Use-libc.stdint-instead-of-numpy.patch25
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb7
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.3.0.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.1.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.6.0.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.6.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.3.0.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.2.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0001-build_support-use-source-filename-instead-of-foo-for.patch50
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0002-build_support-handle-empty-max_priority-value-as-Non.patch49
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0003-build_support-use-does_build_succeed-in-compile_and_.patch62
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0004-build_support-handle-runtime-errors-and-return-None-.patch47
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc_1.1.1.bb11
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb17
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.8.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.3.bb)10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.45.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core-crates.inc88
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0001-Bumps-pyo3-https-github.com-pyo3-pyo3-from-0.20.2-to.patch126
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch29
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch47
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.16.3.bb)12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.7.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.7.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.1.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj/rpath.patch18
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj_3.6.1.bb10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include_1.3.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/CVE-2024-4340.patch48
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.4.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.4.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twisted/CVE-2024-41671-0001.patch89
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twisted/CVE-2024-41671-0002.patch251
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_24.3.0.bb5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_3.0.6.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_3.0.1.bb)5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.9.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-xmodem_0.4.7.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/tftpy/CVE-2023-46566.patch26
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/tftpy_0.8.2.bb2
57 files changed, 1230 insertions, 219 deletions
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.6.3.bb
index c9c98b6fb5..69573064bc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.6.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.6.3.bb
@@ -1,8 +1,8 @@
DESCRIPTION = "An implementation of RFC 7049 - Concise Binary Object Representation (CBOR)."
DEPENDS +="python3-setuptools-scm-native"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a79e64179819c7ce293372c059f1dbd8"
SRC_URI[sha256sum] = "e6f0ae2751c2d333a960e0807c0611494eb1245631a167965acbc100509455d3"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.6.bb
index 0f364c424d..3871244031 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.6.bb
@@ -1,6 +1,6 @@
SUMMARY = "Cross-platform colored terminal text."
HOMEPAGE = "https://github.com/tartley/colorama"
-LICENSE = "BSD-2-Clause"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26"
inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.3.bb
index da756ea074..125a7ad877 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.3.bb
@@ -1,7 +1,7 @@
SUMMARY = "A python package implementing the crc32c algorithmin hardware and software"
HOMEPAGE = "https://github.com/ICRAR/crc32c"
-LICENSE = "BSD-2-Clause & BSD-3-Clause & CRC32C-ADLER & LGPL-2.0-or-later"
+LICENSE = "BSD-2-Clause & BSD-3-Clause & CRC32C-ADLER & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = " \
file://LICENSE;md5=4fbd65380cdd255951079008b364516c \
file://LICENSE.google-crc32c;md5=e9ed01b5e5ac9eae23fc2bb33701220c \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.20.bb
index 0642b7e7c3..3fb8b03224 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.11.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.20.bb
@@ -1,7 +1,7 @@
require python-django.inc
inherit setuptools3
-SRC_URI[sha256sum] = "6e6ff3db2d8dd0c986b4eec8554c8e4f919b5c1ff62a5b4390c17aff2ed6e5c4"
+SRC_URI[sha256sum] = "92bac5b4432a64532abb73b2ac27203f485e40225d2640a7fbef2b62b876e789"
RDEPENDS:${PN} += "\
python3-sqlparse \
@@ -10,5 +10,5 @@ RDEPENDS:${PN} += "\
# Set DEFAULT_PREFERENCE so that the LTS version of django is built by
# default. To build the 4.x branch,
-# PREFERRED_VERSION_python3-django = "4.2.11" can be added to local.conf
+# PREFERRED_VERSION_python3-django = "4.2.20" can be added to local.conf
DEFAULT_PREFERENCE = "-1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.11.bb
index 3139ed4682..5060f3c9ad 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.11.bb
@@ -1,7 +1,7 @@
require python-django.inc
inherit setuptools3
-SRC_URI[sha256sum] = "4bd01a8c830bb77a8a3b0e7d8b25b887e536ad17a81ba2dce5476135c73312bd"
+SRC_URI[sha256sum] = "e7d98fa05ce09cb3e8d5ad6472fb602322acd1740bfdadc29c8404182d664f65"
RDEPENDS:${PN} += "\
python3-sqlparse \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_2.1.1.bb
index 7daf548cb1..746d56d18e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_2.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_2.1.1.bb
@@ -1,9 +1,9 @@
SUMMARY = "A robust email address syntax and deliverability validation library."
SECTION = "devel/python"
-LICENSE = "CC0-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=65d3616852dbf7b1a6d4b53b00626032"
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2890aee62bd2a4c3197e2059016a397e"
-SRC_URI[sha256sum] = "5f511cca8856bb03251d6292ba59e7f98978aae13fa5823ddd8bf885c56a6260"
+SRC_URI[sha256sum] = "200a70680ba08904be6d1eef729205cc0d687634399a5924d842533efb824b84"
PYPI_PACKAGE = "email_validator"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb
index 2fbc277139..2099d791dd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-fann2_1.1.2.bb
@@ -1,6 +1,6 @@
SUMMARY = "Python bindings for Fast Artificial Neural Networks 2.2.0 (FANN >= 2.2.0)"
SECTION = "devel/python"
-LICENSE = "LGPL-2.0-only"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c73b943dc75f6f65e007c56ac6515c8f"
SRC_URI[md5sum] = "0b85b418018746d63ed66b55465697a9"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-cors/CVE-2024-6221.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-cors/CVE-2024-6221.patch
new file mode 100644
index 0000000000..9049b2ffe6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-cors/CVE-2024-6221.patch
@@ -0,0 +1,110 @@
+From 7ae310c56ac30e0b94fb42129aa377bf633256ec Mon Sep 17 00:00:00 2001
+From: Adriano Sela Aviles <adriano.selaviles@gmail.com>
+Date: Fri, 30 Aug 2024 12:14:31 -0400
+Subject: [PATCH] Backwards Compatible Fix for CVE-2024-6221 (#363)
+
+CVE: CVE-2024-6221
+
+Upstream-Status: Backport [https://github.com/corydolphin/flask-cors/commit/7ae310c56ac30e0b94fb42129aa377bf633256ec]
+
+Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
+---
+ docs/configuration.rst | 14 ++++++++++++++
+ flask_cors/core.py | 8 +++++---
+ flask_cors/extension.py | 16 ++++++++++++++++
+ 3 files changed, 35 insertions(+), 3 deletions(-)
+
+diff --git a/docs/configuration.rst b/docs/configuration.rst
+index 91282d3..c750cf4 100644
+--- a/docs/configuration.rst
++++ b/docs/configuration.rst
+@@ -23,6 +23,19 @@ CORS_ALLOW_HEADERS (:py:class:`~typing.List` or :py:class:`str`)
+ Headers to accept from the client.
+ Headers in the :http:header:`Access-Control-Request-Headers` request header (usually part of the preflight OPTIONS request) matching headers in this list will be included in the :http:header:`Access-Control-Allow-Headers` response header.
+
++CORS_ALLOW_PRIVATE_NETWORK (:py:class:`bool`)
++ If True, the response header :http:header:`Access-Control-Allow-Private-Network`
++ will be set with the value 'true' whenever the request header
++ :http:header:`Access-Control-Request-Private-Network` has a value 'true'.
++
++ If False, the reponse header :http:header:`Access-Control-Allow-Private-Network`
++ will be set with the value 'false' whenever the request header
++ :http:header:`Access-Control-Request-Private-Network` has a value of 'true'.
++
++ If the request header :http:header:`Access-Control-Request-Private-Network` is
++ not present or has a value other than 'true', the response header
++ :http:header:`Access-Control-Allow-Private-Network` will not be set.
++
+ CORS_ALWAYS_SEND (:py:class:`bool`)
+ Usually, if a request doesn't include an :http:header:`Origin` header, the client did not request CORS.
+ This means we can ignore this request.
+@@ -83,6 +96,7 @@ Default values
+ ~~~~~~~~~~~~~~
+
+ * CORS_ALLOW_HEADERS: "*"
++* CORS_ALLOW_PRIVATE_NETWORK: True
+ * CORS_ALWAYS_SEND: True
+ * CORS_AUTOMATIC_OPTIONS: True
+ * CORS_EXPOSE_HEADERS: None
+diff --git a/flask_cors/core.py b/flask_cors/core.py
+index 5358036..bd011f4 100644
+--- a/flask_cors/core.py
++++ b/flask_cors/core.py
+@@ -36,7 +36,7 @@ CONFIG_OPTIONS = ['CORS_ORIGINS', 'CORS_METHODS', 'CORS_ALLOW_HEADERS',
+ 'CORS_MAX_AGE', 'CORS_SEND_WILDCARD',
+ 'CORS_AUTOMATIC_OPTIONS', 'CORS_VARY_HEADER',
+ 'CORS_RESOURCES', 'CORS_INTERCEPT_EXCEPTIONS',
+- 'CORS_ALWAYS_SEND']
++ 'CORS_ALWAYS_SEND', 'CORS_ALLOW_PRIVATE_NETWORK']
+ # Attribute added to request object by decorator to indicate that CORS
+ # was evaluated, in case the decorator and extension are both applied
+ # to a view.
+@@ -56,7 +56,8 @@ DEFAULT_OPTIONS = dict(origins='*',
+ vary_header=True,
+ resources=r'/*',
+ intercept_exceptions=True,
+- always_send=True)
++ always_send=True,
++ allow_private_network=True)
+
+
+ def parse_resources(resources):
+@@ -186,7 +187,8 @@ def get_cors_headers(options, request_headers, request_method):
+
+ if ACL_REQUEST_HEADER_PRIVATE_NETWORK in request_headers \
+ and request_headers.get(ACL_REQUEST_HEADER_PRIVATE_NETWORK) == 'true':
+- headers[ACL_RESPONSE_PRIVATE_NETWORK] = 'true'
++ allow_private_network = 'true' if options.get('allow_private_network') else 'false'
++ headers[ACL_RESPONSE_PRIVATE_NETWORK] = allow_private_network
+
+ # This is a preflight request
+ # http://www.w3.org/TR/cors/#resource-preflight-requests
+diff --git a/flask_cors/extension.py b/flask_cors/extension.py
+index c00cbff..694953f 100644
+--- a/flask_cors/extension.py
++++ b/flask_cors/extension.py
+@@ -136,6 +136,22 @@ class CORS(object):
+
+ Default : True
+ :type vary_header: bool
++
++ :param allow_private_network:
++ If True, the response header `Access-Control-Allow-Private-Network`
++ will be set with the value 'true' whenever the request header
++ `Access-Control-Request-Private-Network` has a value 'true'.
++
++ If False, the reponse header `Access-Control-Allow-Private-Network`
++ will be set with the value 'false' whenever the request header
++ `Access-Control-Request-Private-Network` has a value of 'true'.
++
++ If the request header `Access-Control-Request-Private-Network` is
++ not present or has a value other than 'true', the response header
++ `Access-Control-Allow-Private-Network` will not be set.
++
++ Default : True
++ :type allow_private_network: bool
+ """
+
+ def __init__(self, app=None, **kwargs):
+--
+2.40.0
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-cors_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-cors_4.0.0.bb
index 1d0d86b4e7..77b51c5515 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-cors_4.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-cors_4.0.0.bb
@@ -9,6 +9,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=118fecaa576ab51c1520f95e98db61ce"
PYPI_PACKAGE = "Flask-Cors"
+SRC_URI += " \
+ file://CVE-2024-6221.patch \
+"
+
SRC_URI[sha256sum] = "f268522fcb2f73e2ecdde1ef45e2fd5c71cc48fe03cffb4b441c6d1b40684eb0"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.63.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.63.0.bb
index aee2337267..3c55294498 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.63.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.63.0.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Common protobufs used in Google APIs"
HOMEPAGE = "https://github.com/googleapis/python-api-common-protos"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.62.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.62.2.bb
index e05b8734d6..5b8bbe681a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.62.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.62.2.bb
@@ -16,4 +16,8 @@ SRC_URI[sha256sum] = "5fd5e1582b678e6b941ee5f5809340be5e0724691df5299aae8226640f
RDEPENDS:${PN} = "python3-grpcio"
+do_compile:prepend() {
+ export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="${@oe.utils.parallel_make(d, False)}"
+}
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch
new file mode 100644
index 0000000000..82f15f88cd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch
@@ -0,0 +1,82 @@
+From 7335a36d0b5c1c597566f9aa3f458a5b6817c3b4 Mon Sep 17 00:00:00 2001
+From: aurel32 <aurelien@aurel32.net>
+Date: Fri, 22 Mar 2024 14:21:13 -0700
+Subject: [PATCH] PR #1644: unscaledcycleclock: remove RISC-V support
+
+Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1644
+
+Starting with Linux 6.6 [1], RDCYCLE is a privileged instruction on RISC-V and can't be used directly from userland. There is a sysctl option to change that as a transition period, but it will eventually disappear.
+
+The RDTIME instruction is another less accurate alternative, however its frequency varies from board to board, and there is currently now way to get its frequency from userland [2].
+
+Therefore this patch just removes the code for unscaledcycleclock on RISC-V. Without processor specific implementation, abseil relies on std::chrono::steady_clock::now().time_since_epoch() which is basically a wrapper around clock_gettime (CLOCK_MONOTONIC), which in turns use __vdso_clock_gettime(). On RISC-V this VDSO is just a wrapper around RDTIME correctly scaled to use nanoseconds units.
+
+This fixes the testsuite on riscv64, tested on a VisionFive 2 board.
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cc4c07c89aada16229084eeb93895c95b7eabaa3
+[2] https://github.com/abseil/abseil-cpp/pull/1631
+Merge 43356a2548cfde76e164d446cb69004b488c6a71 into 76f8011beabdaee872b5fde7546e02407b220cb1
+
+Merging this change closes #1644
+
+COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1644 from aurel32:rv64-no-unscaledcycleclock 43356a2548cfde76e164d446cb69004b488c6a71
+PiperOrigin-RevId: 618286262
+Change-Id: Ie4120a727e7d0bb185df6e06ea145c780ebe6652
+
+Upstream-Status: Backport [https://github.com/abseil/abseil-cpp/commit/7335a36d]
+[Adapted to apply on top of meta-oe's patch stack]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ .../absl/base/internal/unscaledcycleclock.cc | 12 ------------
+ .../absl/base/internal/unscaledcycleclock_config.h | 5 ++---
+ 2 files changed, 2 insertions(+), 15 deletions(-)
+
+diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
+index f11fecb..103b4f6 100644
+--- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
++++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
+@@ -121,18 +121,6 @@ double UnscaledCycleClock::Frequency() {
+ return aarch64_timer_frequency;
+ }
+
+-#elif defined(__riscv)
+-
+-int64_t UnscaledCycleClock::Now() {
+- int64_t virtual_timer_value;
+- asm volatile("rdcycle %0" : "=r"(virtual_timer_value));
+- return virtual_timer_value;
+-}
+-
+-double UnscaledCycleClock::Frequency() {
+- return base_internal::NominalCPUFrequency();
+-}
+-
+ #elif defined(_M_IX86) || defined(_M_X64)
+
+ #pragma intrinsic(__rdtsc)
+diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
+index 5e232c1..83552fc 100644
+--- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
++++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
+@@ -22,7 +22,6 @@
+ // The following platforms have an implementation of a hardware counter.
+ #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
+- defined(__riscv) || \
+ defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
+ #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
+ #else
+@@ -54,8 +53,8 @@
+ #if ABSL_USE_UNSCALED_CYCLECLOCK
+ // This macro can be used to test if UnscaledCycleClock::Frequency()
+ // is NominalCPUFrequency() on a particular platform.
+-#if (defined(__i386__) || defined(__x86_64__) || defined(__riscv) || \
+- defined(_M_IX86) || defined(_M_X64))
++#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || \
++ defined(_M_X64))
+ #define ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY
+ #endif
+ #endif
+--
+2.44.0
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-crypto-use-_Generic-only-if-defined-__cplusplus.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-crypto-use-_Generic-only-if-defined-__cplusplus.patch
new file mode 100644
index 0000000000..d830d92284
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-crypto-use-_Generic-only-if-defined-__cplusplus.patch
@@ -0,0 +1,74 @@
+From 3359a87a71307336100b84e66b69bad385cd3cfc Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Mon, 6 May 2024 01:36:39 +0200
+Subject: [PATCH] crypto: use _Generic only if !defined(__cplusplus)
+
+* fixes build with gcc-14 which has __builtin_addc and __builtin_subc
+ with gcc-13 it was already using the #else branch because of missing builtins
+
+* fixes
+ https://github.com/grpc/grpc/issues/35945
+
+* _Generic was introduced in boringssl with:
+ https://boringssl.googlesource.com/boringssl/+/70ca6bc24be103dabd68e448cd3af29b929b771d%5E%21/#F4
+
+* but e.g. third_party/boringssl-with-bazel/src/ssl/d1_both.cc includes
+ this internal.h and from the .cc extension gcc will process it as C++
+ where _Generic isn't available, causing:
+
+In file included from third_party/boringssl-with-bazel/src/ssl/d1_both.cc:125:
+third_party/boringssl-with-bazel/src/ssl/../crypto/internal.h: In function 'uint32_t CRYPTO_addc_u32(uint32_t, uint32_t, uint32_t, uint32_t*)':
+third_party/boringssl-with-bazel/src/ssl/../crypto/internal.h:1159:7: error: expected primary-expression before 'unsigned'
+ 1159 | unsigned: __builtin_addc, \
+ | ^~~~~~~~
+third_party/boringssl-with-bazel/src/ssl/../crypto/internal.h:1166:10: note: in expansion of macro 'CRYPTO_GENERIC_ADDC'
+ 1166 | return CRYPTO_GENERIC_ADDC(x, y, carry, out_carry);
+ | ^~~~~~~~~~~~~~~~~~~
+third_party/boringssl-with-bazel/src/ssl/../crypto/internal.h:1160:7: error: expected primary-expression before 'unsigned'
+ 1160 | unsigned long: __builtin_addcl, \
+ | ^~~~~~~~
+third_party/boringssl-with-bazel/src/ssl/../crypto/internal.h:1166:10: note: in expansion of macro 'CRYPTO_GENERIC_ADDC'
+ 1166 | return CRYPTO_GENERIC_ADDC(x, y, carry, out_carry);
+ | ^~~~~~~~~~~~~~~~~~~
+third_party/boringssl-with-bazel/src/ssl/../crypto/internal.h:1161:7: error: expected primary-expression before 'unsigned'
+ 1161 | unsigned long long: __builtin_addcll))((x), (y), (carry), (out_carry))
+ | ^~~~~~~~
+third_party/boringssl-with-bazel/src/ssl/../crypto/internal.h:1166:10: note: in expansion of macro 'CRYPTO_GENERIC_ADDC'
+ 1166 | return CRYPTO_GENERIC_ADDC(x, y, carry, out_carry);
+ | ^~~~~~~~~~~~~~~~~~~
+third_party/boringssl-with-bazel/src/ssl/../crypto/internal.h:1158:4: error: '_Generic' was not declared in this scope
+ 1158 | (_Generic((x), \
+ | ^~~~~~~~
+third_party/boringssl-with-bazel/src/ssl/../crypto/internal.h:1166:10: note: in expansion of macro 'CRYPTO_GENERIC_ADDC'
+ 1166 | return CRYPTO_GENERIC_ADDC(x, y, carry, out_carry);
+ | ^~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+Upstream-Status: Submitted [https://boringssl-review.googlesource.com/c/boringssl/+/68227 crypto: use _Generic only if !defined(__cplusplus)]
+
+ crypto/internal.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/crypto/internal.h b/crypto/internal.h
+index a77102d76..30d6826dd 100644
+--- a/crypto/internal.h
++++ b/crypto/internal.h
+@@ -1176,7 +1176,7 @@ static inline uint64_t CRYPTO_rotr_u64(uint64_t value, int shift) {
+
+ // CRYPTO_addc_* returns |x + y + carry|, and sets |*out_carry| to the carry
+ // bit. |carry| must be zero or one.
+-#if OPENSSL_HAS_BUILTIN(__builtin_addc)
++#if OPENSSL_HAS_BUILTIN(__builtin_addc) && !defined(__cplusplus)
+
+ #define CRYPTO_GENERIC_ADDC(x, y, carry, out_carry) \
+ (_Generic((x), \
+@@ -1228,7 +1228,7 @@ static inline uint64_t CRYPTO_addc_u64(uint64_t x, uint64_t y, uint64_t carry,
+
+ // CRYPTO_subc_* returns |x - y - borrow|, and sets |*out_borrow| to the borrow
+ // bit. |borrow| must be zero or one.
+-#if OPENSSL_HAS_BUILTIN(__builtin_subc)
++#if OPENSSL_HAS_BUILTIN(__builtin_subc) && !defined(__cplusplus)
+
+ #define CRYPTO_GENERIC_SUBC(x, y, borrow, out_borrow) \
+ (_Generic((x), \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/CVE-2024-11407.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/CVE-2024-11407.patch
new file mode 100644
index 0000000000..eef5e7239e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/CVE-2024-11407.patch
@@ -0,0 +1,32 @@
+From e9046b2bbebc0cb7f5dc42008f807f6c7e98e791 Mon Sep 17 00:00:00 2001
+From: Vignesh Babu <vigneshbabu@google.com>
+Date: Thu, 12 Sep 2024 11:13:45 -0700
+Subject: [PATCH] [EventEngine] Fix bug in Tx0cp code path in posix endpoint.
+
+This fix ensures that the iov_base pointers point to the right address.
+
+PiperOrigin-RevId: 673923651
+
+CVE: CVE-2024-11407
+Upstream-Status: Backport [https://github.com/grpc/grpc/commit/e9046b2bbebc0cb7f5dc42008f807f6c7e98e791]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ src/core/lib/event_engine/posix_engine/posix_endpoint.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/lib/event_engine/posix_engine/posix_endpoint.cc b/src/core/lib/event_engine/posix_engine/posix_endpoint.cc
+index 7634bb1334b..c5708db02c5 100644
+--- a/src/core/lib/event_engine/posix_engine/posix_endpoint.cc
++++ b/src/core/lib/event_engine/posix_engine/posix_endpoint.cc
+@@ -240,7 +240,7 @@ msg_iovlen_type TcpZerocopySendRecord::PopulateIovs(size_t* unwind_slice_idx,
+ iov_size++) {
+ MutableSlice& slice = internal::SliceCast<MutableSlice>(
+ buf_.MutableSliceAt(out_offset_.slice_idx));
+- iov[iov_size].iov_base = slice.begin();
++ iov[iov_size].iov_base = slice.begin() + out_offset_.byte_idx;
+ iov[iov_size].iov_len = slice.length() - out_offset_.byte_idx;
+ *sending_length += iov[iov_size].iov_len;
+ ++(out_offset_.slice_idx);
+--
+2.30.2
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.62.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.62.2.bb
index 80a4d04e67..3581991a56 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.62.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.62.2.bb
@@ -9,7 +9,10 @@ DEPENDS += "python3-protobuf"
SRC_URI += "file://0001-Include-missing-cstdint-header.patch \
file://abseil-ppc-fixes.patch \
file://0001-zlib-Include-unistd.h-for-open-close-C-APIs.patch \
+ file://0001-crypto-use-_Generic-only-if-defined-__cplusplus.patch;patchdir=third_party/boringssl-with-bazel/src/ \
file://0001-target.h-define-proper-macro-for-ppc-ppc64.patch \
+ file://0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch \
+ file://CVE-2024-11407.patch \
"
SRC_URI[sha256sum] = "c77618071d96b7a8be2c10701a98537823b9c65ba256c0b9067e0594cdbd954d"
@@ -35,6 +38,10 @@ BORING_SSL:aarch64 = "1"
BORING_SSL ?= "0"
export GRPC_BUILD_WITH_BORING_SSL_ASM = "${BORING_SSL}"
+do_compile:prepend() {
+ export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="${@oe.utils.parallel_make(d, False)}"
+}
+
GRPC_CFLAGS ?= ""
GRPC_CFLAGS:append:toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions"
export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-Properly-cast-arguments-to-H5Lunpack_elink_val.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-Properly-cast-arguments-to-H5Lunpack_elink_val.patch
new file mode 100644
index 0000000000..c39d9b1950
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-Properly-cast-arguments-to-H5Lunpack_elink_val.patch
@@ -0,0 +1,25 @@
+From 30a59c233fbe149109f378837642dc02b2caf3f5 Mon Sep 17 00:00:00 2001
+From: Orion Poplawski <orion@nwra.com>
+Date: Thu, 15 Feb 2024 20:47:50 -0700
+Subject: [PATCH] Properly cast arguments to H5Lunpack_elink_val
+
+Upstream-Status: Backport [https://github.com/h5py/h5py/pull/2380/commits/704e13ac83b42898514610c4df9f32f367e767e4]
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+ h5py/h5l.pyx | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/h5py/h5l.pyx b/h5py/h5l.pyx
+index 60b252f..af725bd 100644
+--- a/h5py/h5l.pyx
++++ b/h5py/h5l.pyx
+@@ -184,7 +184,7 @@ cdef class LinkProxy:
+ if info.type == H5L_TYPE_SOFT:
+ py_retval = buf
+ else:
+- H5Lunpack_elink_val(buf, buf_size, &wtf, &ext_file_name, &ext_obj_name)
++ H5Lunpack_elink_val(buf, buf_size, &wtf, <const char **>&ext_file_name, <const char **>&ext_obj_name)
+ py_retval = (bytes(ext_file_name), bytes(ext_obj_name))
+ finally:
+ efree(buf)
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0002-Use-libc.stdint-instead-of-numpy.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0002-Use-libc.stdint-instead-of-numpy.patch
new file mode 100644
index 0000000000..35263d8315
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0002-Use-libc.stdint-instead-of-numpy.patch
@@ -0,0 +1,25 @@
+From 8b4de2f6946b1c1f68279ecadc05c2817ae82189 Mon Sep 17 00:00:00 2001
+From: Orion Poplawski <orion@nwra.com>
+Date: Thu, 22 Feb 2024 08:41:17 -0700
+Subject: [PATCH] Use libc.stdint instead of numpy
+
+Upstream-Status: Backport [https://github.com/h5py/h5py/pull/2382/commits/387a22b8c1513800c0401f496b4ed512c1639798]
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+ h5py/api_types_ext.pxd | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/h5py/api_types_ext.pxd b/h5py/api_types_ext.pxd
+index 91acb12..55a239f 100644
+--- a/h5py/api_types_ext.pxd
++++ b/h5py/api_types_ext.pxd
+@@ -20,7 +20,7 @@ from libc.string cimport strlen, strchr, strcpy, strncpy, strcmp,\
+ ctypedef long size_t
+ from libc.time cimport time_t
+
+-from numpy cimport int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t
++from libc.stdint cimport int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t
+
+ IF UNAME_SYSNAME != "Windows":
+ cdef extern from "unistd.h":
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
index 8a9158525e..3ba5ea7396 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
@@ -6,8 +6,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=113251d71fb0384712c719b567261c5c"
SRC_URI[sha256sum] = "d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049"
-SRC_URI += "file://0001-setup_build.py-avoid-absolute-path.patch \
- file://0001-Fix-Cython-3-compatibility.patch"
+SRC_URI += " \
+ file://0001-setup_build.py-avoid-absolute-path.patch \
+ file://0001-Fix-Cython-3-compatibility.patch \
+ file://0001-Properly-cast-arguments-to-H5Lunpack_elink_val.patch \
+ file://0002-Use-libc.stdint-instead-of-numpy.patch \
+"
inherit pkgconfig pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.1.bb
index e45ae79860..5fd5ddd71c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.1.bb
@@ -1,6 +1,6 @@
SUMMARY = "Calculate the distance between 2 points on Earth"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=20a52d2c688975e989fcbee3e6c8d1a1"
SRC_URI[sha256sum] = "ab750caa0c8f2168bd7b00a429757a83a8393be1aa30f91c2becf6b523189e2a"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
index 991aa0f7d8..2c66db188b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
@@ -70,3 +70,10 @@ RDEPENDS:${PN} = " \
python3-pillow \
python3-pygments \
"
+
+do_compile:append() {
+ for f in `find ${B} -name *.c`
+ do
+ sed -i -e "/BEGIN: Cython Metadata/,/END: Cython Metadata/d" $f
+ done
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb
index 27e336710c..5ad2a59951 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://gitlab.freedesktop.org/libevdev/python-libevdev"
SECTION = "devel/python"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d94c10c546b419eddc6296157ec40747"
SRC_URI[md5sum] = "34b48098c1fba26de79a0d67a17a588a"
SRC_URI[sha256sum] = "e9ca006a4df2488a60bd9a740011ee948d81904be2364f017e560169508f560f"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.3.0.bb
index e9535fa6f1..51f3860b07 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.3.0.bb
@@ -1,7 +1,7 @@
-SUMMARY = "A fixed size dict like container which evicts Least Recently Used (LRU) items once size limit is exceeded."
+DESCRIPTION = "A fixed size dict like container which evicts Least Recently Used (LRU) items once size limit is exceeded."
HOMEPAGE = "https://github.com/amitdev/lru-dict"
SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=9d10a486ee04034fdef5162fd791f153"
SRC_URI[sha256sum] = "54fd1966d6bd1fcde781596cb86068214edeebff1db13a2cea11079e3fd07b6b"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.1.0.bb
index d9ecb9d4c8..1b89260e1b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mock_5.1.0.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "A Python Mocking and Patching Library for Testing"
HOMEPAGE = "https://pypi.python.org/pypi/mock"
SECTION = "devel/python"
-LICENSE = "Apache-2.0"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=de9dfbf780446b18aab11f00baaf5b7e"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.6.0.bb
index 5fe9ab4e39..2293e3ddf8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.6.0.bb
@@ -1,8 +1,8 @@
DESCRIPTION = "python-nmap is a python library which helps in using nmap port scanner"
HOMEPAGE = "https://www.nmmapper.com/"
SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
DEPENDS += "python3-wheel-native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.6.2.bb
index a7d8cd86ce..57dfc5a508 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.6.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.6.2.bb
@@ -1,6 +1,6 @@
SUMMARY = "Simplifies building parse types based on the parse module"
HOMEPAGE = "https://github.com/jenisys/parse_type"
-LICENSE = "BSD-3-Clause"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2e469278ace89c246d52505acc39c3da"
SRC_URI[sha256sum] = "79b1f2497060d0928bc46016793f1fca1057c4aacdf15ef876aa48d75a73a355"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.3.0.bb
index debf488154..8b0bcf55dd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.3.0.bb
@@ -1,8 +1,8 @@
-SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \
+DESCRIPTION = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \
Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \
Contributors."
HOMEPAGE = "https://pillow.readthedocs.io"
-LICENSE = "MIT"
+LICENSE = "HPND"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c349a4b4b9ec2377a8fd6a7df87dbffe"
SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=main;protocol=https \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.2.0.bb
index 19c95b374a..c69c390b80 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.2.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "A small Python module for determining appropriate platform-specific dirs"
HOMEPAGE = "https://github.com/platformdirs/platformdirs"
-LICENSE = "BSD-3-Clause"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a"
SRC_URI += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0001-build_support-use-source-filename-instead-of-foo-for.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0001-build_support-use-source-filename-instead-of-foo-for.patch
new file mode 100644
index 0000000000..8bb7267086
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0001-build_support-use-source-filename-instead-of-foo-for.patch
@@ -0,0 +1,50 @@
+From 09cfcf7de2aab873a13949d5a128ccfb9e54732d Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Mon, 5 May 2025 08:15:37 +0200
+Subject: [PATCH] build_support: use source filename instead of 'foo' for
+ discover tests
+
+* helps when debugging the issues
+* use the same order of CC arguments in compile_and_run and
+ does_build_succeed just for consistency
+* use pthread in both compile_and_run and does_build_succeed functions
+ it was added only to does_build_succeed in 5ec39f7af8cfd8525d225b1302fa93f7133b3849
+ not sure if it was intentional
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+Upstream-Status: Submitted [https://github.com/osvenskan/posix_ipc/pull/77]
+---
+ build_support/discover_system_info.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/build_support/discover_system_info.py b/build_support/discover_system_info.py
+index bc4d174..6d059d9 100644
+--- a/build_support/discover_system_info.py
++++ b/build_support/discover_system_info.py
+@@ -60,7 +60,7 @@ def does_build_succeed(filename, linker_options=""):
+ # Rather than testing whether or not it's needed, I just specify it
+ # everywhere since it's harmless to specify it when it's not needed.
+ cc = os.getenv("CC", "cc")
+- cmd = "%s -Wall -o ./build_support/src/foo ./build_support/src/%s %s -lpthread" % (cc, filename, linker_options)
++ cmd = "%s -Wall -o ./build_support/src/%s ./build_support/src/%s %s -lpthread" % (cc, filename[:-2], filename, linker_options)
+
+ p = subprocess.Popen(cmd, shell=True, stdout=STDOUT, stderr=STDERR)
+
+@@ -73,7 +73,7 @@ def compile_and_run(filename, linker_options=""):
+ # Utility function that returns the stdout output from running the
+ # compiled source file; None if the compile fails.
+ cc = os.getenv("CC", "cc")
+- cmd = "%s -Wall -o ./build_support/src/foo %s ./build_support/src/%s" % (cc, linker_options, filename)
++ cmd = "%s -Wall -o ./build_support/src/%s ./build_support/src/%s %s -lpthread" % (cc, filename[:-2], filename, linker_options)
+
+ p = subprocess.Popen(cmd, shell=True, stdout=STDOUT, stderr=STDERR)
+
+@@ -82,7 +82,7 @@ def compile_and_run(filename, linker_options=""):
+ return None
+
+ try:
+- s = subprocess.Popen(["./build_support/src/foo"],
++ s = subprocess.Popen(["./build_support/src/%s" % filename[:-2]],
+ stdout=subprocess.PIPE).communicate()[0]
+ return s.strip().decode()
+ except Exception:
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0002-build_support-handle-empty-max_priority-value-as-Non.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0002-build_support-handle-empty-max_priority-value-as-Non.patch
new file mode 100644
index 0000000000..54c8ddaba7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0002-build_support-handle-empty-max_priority-value-as-Non.patch
@@ -0,0 +1,49 @@
+From 8fc46d871639dbe799f6ff0a61b046412ef5dcc6 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Mon, 5 May 2025 08:16:30 +0200
+Subject: [PATCH] build_support: handle empty max_priority value as None
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When cross-compiling these tests they fail when the host cannot execute
+the binaries built for target.
+
+On my local ubuntu-22.04 docker container running
+build_support/src/sniff_mq_prio_max results in:
+posix_ipc-1.2.0 $ ./build_support/src/foo
+bash: ./build_support/src/foo: cannot execute binary file: Exec format error
+which triggers the Exception in compile_and_run and returns None
+
+While on some other ubuntu-22.04 containers I see:
+posix_ipc-1.2.0$ ./build_support/src/sniff_mq_prio_max
+/usr/lib/ld-linux-aarch64.so.1: No such file or directory
+
+and the compile_and_run returns
+b''
+which then causes
+posix_ipc-1.2.0/build_support/discover_system_info.py", line 244, in sniff_mq_prio_max
+    if max_priority < 0:
+       ^^^^^^^^^^^^^^^^
+
+Handle the empty value the same as None to avoid this.
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+Upstream-Status: Submitted [https://github.com/osvenskan/posix_ipc/pull/77]
+---
+ build_support/discover_system_info.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build_support/discover_system_info.py b/build_support/discover_system_info.py
+index 6d059d9..f8a3c83 100644
+--- a/build_support/discover_system_info.py
++++ b/build_support/discover_system_info.py
+@@ -223,7 +223,7 @@ def sniff_mq_prio_max():
+ except ValueError:
+ max_priority = None
+
+- if max_priority is None:
++ if not max_priority:
+ # Looking for a #define didn't work; ask sysconf() instead.
+ # Note that sys.sysconf_names doesn't exist under Cygwin.
+ if hasattr(os, "sysconf_names") and \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0003-build_support-use-does_build_succeed-in-compile_and_.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0003-build_support-use-does_build_succeed-in-compile_and_.patch
new file mode 100644
index 0000000000..b36d1cdb3a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0003-build_support-use-does_build_succeed-in-compile_and_.patch
@@ -0,0 +1,62 @@
+From 760374e778fc28193cfea1416a739e206f9201c6 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Mon, 5 May 2025 08:28:56 +0200
+Subject: [PATCH] build_support: use does_build_succeed in compile_and_run
+
+* avoid the duplication and building the sniff_mq_prio_max.c twice
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+Upstream-Status: Submitted [https://github.com/osvenskan/posix_ipc/pull/77]
+---
+ build_support/discover_system_info.py | 27 ++++++++++-----------------
+ 1 file changed, 10 insertions(+), 17 deletions(-)
+
+diff --git a/build_support/discover_system_info.py b/build_support/discover_system_info.py
+index f8a3c83..f6e6c8c 100644
+--- a/build_support/discover_system_info.py
++++ b/build_support/discover_system_info.py
+@@ -72,22 +72,17 @@ def does_build_succeed(filename, linker_options=""):
+ def compile_and_run(filename, linker_options=""):
+ # Utility function that returns the stdout output from running the
+ # compiled source file; None if the compile fails.
+- cc = os.getenv("CC", "cc")
+- cmd = "%s -Wall -o ./build_support/src/%s ./build_support/src/%s %s -lpthread" % (cc, filename[:-2], filename, linker_options)
+-
+- p = subprocess.Popen(cmd, shell=True, stdout=STDOUT, stderr=STDERR)
+-
+- if p.wait():
++ if does_build_succeed(filename, linker_options=""):
++ try:
++ s = subprocess.Popen(["./build_support/src/%s" % filename[:-2]],
++ stdout=subprocess.PIPE).communicate()[0]
++ return s.strip().decode()
++ except Exception:
++ # execution resulted in an error
++ return None
++ else:
+ # uh-oh, compile failed
+ return None
+-
+- try:
+- s = subprocess.Popen(["./build_support/src/%s" % filename[:-2]],
+- stdout=subprocess.PIPE).communicate()[0]
+- return s.strip().decode()
+- except Exception:
+- # execution resulted in an error
+- return None
+
+
+ def get_sysctl_value(name):
+@@ -211,11 +206,9 @@ def sniff_mq_prio_max():
+ # ref: http://www.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html
+ DEFAULT_PRIORITY_MAX = 32
+
+- max_priority = None
+ # OS X up to and including 10.8 doesn't support POSIX messages queues and
+ # doesn't define MQ_PRIO_MAX. Maybe this aggravation will cease in 10.9?
+- if does_build_succeed("sniff_mq_prio_max.c"):
+- max_priority = compile_and_run("sniff_mq_prio_max.c")
++ max_priority = compile_and_run("sniff_mq_prio_max.c")
+
+ if max_priority:
+ try:
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0004-build_support-handle-runtime-errors-and-return-None-.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0004-build_support-handle-runtime-errors-and-return-None-.patch
new file mode 100644
index 0000000000..e84345a397
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc/0004-build_support-handle-runtime-errors-and-return-None-.patch
@@ -0,0 +1,47 @@
+From b079074048bc33b206b21f73fecb8173cf8adaf0 Mon Sep 17 00:00:00 2001
+From: Haixiao Yan <haixiao.yan.cn@windriver.com>
+Date: Mon, 15 Sep 2025 21:15:45 +0800
+Subject: [PATCH] build_support: handle runtime errors and return None for
+ invalid max_priority
+
+When cross-compiling, test binaries may fail to execute on the host system if
+the target toolchain was built against a newer glibc version than what is
+available on the host.
+
+For example, on Ubuntu 20.04 the following error occurs:
+
+./build_support/src/sniff_mq_prio_max: /lib/x86_64-linux-gnu/libc.so.6: version
+`GLIBC_2.34' not found (required by ./build_support/src/sniff_mq_prio_max)
+
+This change ensures that such runtime errors are gracefully handled, and
+max_priority is set to None when the test binary cannot be executed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com>
+---
+ build_support/discover_system_info.py | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/build_support/discover_system_info.py b/build_support/discover_system_info.py
+index f6e6c8cbe6ba..4fec48b5529d 100644
+--- a/build_support/discover_system_info.py
++++ b/build_support/discover_system_info.py
+@@ -75,8 +75,12 @@ def compile_and_run(filename, linker_options=""):
+ if does_build_succeed(filename, linker_options=""):
+ try:
+ s = subprocess.Popen(["./build_support/src/%s" % filename[:-2]],
+- stdout=subprocess.PIPE).communicate()[0]
+- return s.strip().decode()
++ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
++ stdout, stderr = s.communicate()
++ if s.returncode != 0:
++ # runtime error
++ return None
++ return stdout.strip().decode()
+ except Exception:
+ # execution resulted in an error
+ return None
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc_1.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc_1.1.1.bb
deleted file mode 100644
index a71187399b..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc_1.1.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "POSIX IPC primitives (semaphores, shared memory and message queues) for Python"
-HOMEPAGE = "http://semanchuk.com/philip/posix_ipc/"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=513d94a7390d4d72f3475e2d45c739b5"
-
-PYPI_PACKAGE = "posix_ipc"
-
-SRC_URI[sha256sum] = "e2456ba0cfb2ee5ba14121450e8d825b3c4a1461fca0761220aab66d4111cbb7"
-
-inherit setuptools3 pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb
new file mode 100644
index 0000000000..cad1403813
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "POSIX IPC primitives (semaphores, shared memory and message queues) for Python"
+HOMEPAGE = "http://semanchuk.com/philip/posix_ipc/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1a4f3bd729df04bf68f66ef877e9c7c9"
+
+PYPI_PACKAGE = "posix_ipc"
+
+SRC_URI[sha256sum] = "b7444e2703c156b3cb9fcb568e85d716232f3e78f04529ebc881cfb2aedb3838"
+
+SRC_URI += " \
+ file://0001-build_support-use-source-filename-instead-of-foo-for.patch \
+ file://0002-build_support-handle-empty-max_priority-value-as-Non.patch \
+ file://0003-build_support-use-does_build_succeed-in-compile_and_.patch \
+ file://0004-build_support-handle-runtime-errors-and-return-None-.patch \
+"
+inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.8.bb
index b9b03badd0..aca30efdee 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.8.bb
@@ -6,7 +6,7 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=53dbfa56f61b90215a9f8f0d527c043d"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "25b5d0b42fd000320bd7830b349e3b696435f3b329810427a6bcce6a5492cc5c"
+SRC_URI[sha256sum] = "6135cf8affe1fc6f76cced2641e4ea8d3e59518d1f24ae41ba97bcad82d397cd"
# http://errors.yoctoproject.org/Errors/Details/184715/
# Can't find required file: ../src/google/protobuf/descriptor.proto
@@ -35,3 +35,11 @@ DISTUTILS_INSTALL_ARGS += "--cpp_implementation"
do_compile:prepend:class-native () {
export KOKORO_BUILD_NUMBER="1"
}
+
+do_install:append () {
+ # Remove useless and problematic .pth file. python3-protobuf is installed in the standard
+ # location of site packages. No need for such .pth file.
+ # NOTE: do not drop this removal until the following issue in upstream cpython is resolved:
+ # https://github.com/python/cpython/issues/122220
+ rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/protobuf-*-nspkg.pth
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb
index bebfb128f2..15fdbcf89c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb
@@ -9,3 +9,7 @@ SRC_URI[sha256sum] = "da8b7815196eebf0adabf67fcc459126cbc6498bbc6ab1fd144c371465
DEPENDS = "python3-cython-native python3-numpy-native virtual/crypt"
RDEPENDS:${PN} = "python3-matplotlib python3-pillow python3-profile"
+
+do_compile:append() {
+ sed -i -e "/BEGIN: Cython Metadata/,/END: Cython Metadata/d" ${B}/pycocotools/_mask.c
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.45.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.45.2.bb
index a6863e21ff..10d3cd1027 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.45.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.45.2.bb
@@ -7,7 +7,7 @@ be used to fetch objects identified by a URL from a Python program \
SECTION = "devel/python"
HOMEPAGE = "http://pycurl.io/"
-LICENSE = "LGPL-2.0-only | MIT"
+LICENSE = "LGPL-2.1-only | MIT"
LIC_FILES_CHKSUM = "file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \
file://COPYING-MIT;md5=be42e1b1e58c8d59c2901fd747bfc55d \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core-crates.inc b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core-crates.inc
index dd2027948c..c6b30bc677 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core-crates.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core-crates.inc
@@ -2,31 +2,29 @@
# from Cargo.lock
SRC_URI += " \
- crate://crates.io/ahash/0.8.7 \
+ crate://crates.io/ahash/0.8.10 \
crate://crates.io/aho-corasick/1.0.2 \
- crate://crates.io/allocator-api2/0.2.16 \
crate://crates.io/autocfg/1.1.0 \
crate://crates.io/base64/0.21.7 \
crate://crates.io/bitflags/1.3.2 \
+ crate://crates.io/bitvec/1.0.1 \
crate://crates.io/cc/1.0.79 \
crate://crates.io/cfg-if/1.0.0 \
- crate://crates.io/enum_dispatch/0.3.12 \
+ crate://crates.io/enum_dispatch/0.3.13 \
crate://crates.io/equivalent/1.0.1 \
crate://crates.io/form_urlencoded/1.2.1 \
+ crate://crates.io/funty/2.0.0 \
crate://crates.io/getrandom/0.2.10 \
crate://crates.io/hashbrown/0.14.3 \
crate://crates.io/heck/0.4.1 \
crate://crates.io/idna/0.5.0 \
- crate://crates.io/indexmap/2.0.0 \
+ crate://crates.io/indexmap/2.2.2 \
crate://crates.io/indoc/2.0.4 \
crate://crates.io/itoa/1.0.8 \
- crate://crates.io/jiter/0.0.6 \
- crate://crates.io/lexical-core/0.8.5 \
+ crate://crates.io/jiter/0.4.1 \
crate://crates.io/lexical-parse-float/0.8.5 \
crate://crates.io/lexical-parse-integer/0.8.6 \
crate://crates.io/lexical-util/0.8.5 \
- crate://crates.io/lexical-write-float/0.8.5 \
- crate://crates.io/lexical-write-integer/0.8.5 \
crate://crates.io/libc/0.2.147 \
crate://crates.io/lock_api/0.4.10 \
crate://crates.io/memchr/2.6.3 \
@@ -40,29 +38,32 @@ SRC_URI += " \
crate://crates.io/percent-encoding/2.3.1 \
crate://crates.io/portable-atomic/1.6.0 \
crate://crates.io/proc-macro2/1.0.76 \
- crate://crates.io/pyo3/0.20.3 \
- crate://crates.io/pyo3-build-config/0.20.3 \
- crate://crates.io/pyo3-ffi/0.20.3 \
- crate://crates.io/pyo3-macros/0.20.3 \
- crate://crates.io/pyo3-macros-backend/0.20.3 \
+ crate://crates.io/pyo3/0.21.2 \
+ crate://crates.io/pyo3-build-config/0.21.2 \
+ crate://crates.io/pyo3-ffi/0.21.2 \
+ crate://crates.io/pyo3-macros/0.21.2 \
+ crate://crates.io/pyo3-macros-backend/0.21.2 \
crate://crates.io/python3-dll-a/0.2.9 \
crate://crates.io/quote/1.0.35 \
+ crate://crates.io/radium/0.7.0 \
crate://crates.io/redox_syscall/0.3.5 \
- crate://crates.io/regex/1.10.2 \
- crate://crates.io/regex-automata/0.4.3 \
+ crate://crates.io/regex/1.10.4 \
+ crate://crates.io/regex-automata/0.4.5 \
crate://crates.io/regex-syntax/0.8.2 \
crate://crates.io/rustversion/1.0.13 \
crate://crates.io/ryu/1.0.14 \
crate://crates.io/scopeguard/1.1.0 \
- crate://crates.io/serde/1.0.195 \
- crate://crates.io/serde_derive/1.0.195 \
- crate://crates.io/serde_json/1.0.109 \
- crate://crates.io/smallvec/1.11.2 \
- crate://crates.io/speedate/0.13.0 \
+ crate://crates.io/serde/1.0.203 \
+ crate://crates.io/serde_derive/1.0.203 \
+ crate://crates.io/serde_json/1.0.116 \
+ crate://crates.io/smallvec/1.13.2 \
+ crate://crates.io/speedate/0.14.0 \
crate://crates.io/static_assertions/1.1.0 \
crate://crates.io/strum/0.25.0 \
crate://crates.io/strum_macros/0.25.3 \
+ crate://crates.io/strum_macros/0.26.1 \
crate://crates.io/syn/2.0.48 \
+ crate://crates.io/tap/1.0.1 \
crate://crates.io/target-lexicon/0.12.9 \
crate://crates.io/tinyvec/1.6.0 \
crate://crates.io/tinyvec_macros/0.1.1 \
@@ -71,7 +72,7 @@ SRC_URI += " \
crate://crates.io/unicode-normalization/0.1.22 \
crate://crates.io/unindent/0.2.3 \
crate://crates.io/url/2.5.0 \
- crate://crates.io/uuid/1.6.1 \
+ crate://crates.io/uuid/1.8.0 \
crate://crates.io/version_check/0.9.4 \
crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
crate://crates.io/windows-targets/0.48.1 \
@@ -82,35 +83,34 @@ SRC_URI += " \
crate://crates.io/windows_x86_64_gnu/0.48.0 \
crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
crate://crates.io/windows_x86_64_msvc/0.48.0 \
+ crate://crates.io/wyz/0.5.1 \
crate://crates.io/zerocopy/0.7.32 \
crate://crates.io/zerocopy-derive/0.7.32 \
"
-SRC_URI[ahash-0.8.7.sha256sum] = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+SRC_URI[ahash-0.8.10.sha256sum] = "8b79b82693f705137f8fb9b37871d99e4f9a7df12b917eed79c3d3954830a60b"
SRC_URI[aho-corasick-1.0.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
-SRC_URI[allocator-api2-0.2.16.sha256sum] = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+SRC_URI[bitvec-1.0.1.sha256sum] = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-SRC_URI[enum_dispatch-0.3.12.sha256sum] = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e"
+SRC_URI[enum_dispatch-0.3.13.sha256sum] = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd"
SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+SRC_URI[funty-2.0.0.sha256sum] = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
SRC_URI[hashbrown-0.14.3.sha256sum] = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
-SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+SRC_URI[indexmap-2.2.2.sha256sum] = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
SRC_URI[indoc-2.0.4.sha256sum] = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
SRC_URI[itoa-1.0.8.sha256sum] = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
-SRC_URI[jiter-0.0.6.sha256sum] = "87db066a99f69382be06d02313f8ce989996b53a04a8a70cfd1a6483a56227f7"
-SRC_URI[lexical-core-0.8.5.sha256sum] = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46"
+SRC_URI[jiter-0.4.1.sha256sum] = "abbbbe1bad457e3cd5503af716aedc735e849505a0d2172c55a753ae1b127458"
SRC_URI[lexical-parse-float-0.8.5.sha256sum] = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f"
SRC_URI[lexical-parse-integer-0.8.6.sha256sum] = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9"
SRC_URI[lexical-util-0.8.5.sha256sum] = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc"
-SRC_URI[lexical-write-float-0.8.5.sha256sum] = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862"
-SRC_URI[lexical-write-integer-0.8.5.sha256sum] = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446"
SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
SRC_URI[lock_api-0.4.10.sha256sum] = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
SRC_URI[memchr-2.6.3.sha256sum] = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
@@ -124,29 +124,32 @@ SRC_URI[parking_lot_core-0.9.8.sha256sum] = "93f00c865fe7cabf650081affecd3871070
SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
SRC_URI[proc-macro2-1.0.76.sha256sum] = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
-SRC_URI[pyo3-0.20.3.sha256sum] = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233"
-SRC_URI[pyo3-build-config-0.20.3.sha256sum] = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7"
-SRC_URI[pyo3-ffi-0.20.3.sha256sum] = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa"
-SRC_URI[pyo3-macros-0.20.3.sha256sum] = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158"
-SRC_URI[pyo3-macros-backend-0.20.3.sha256sum] = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185"
+SRC_URI[pyo3-0.21.2.sha256sum] = "a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8"
+SRC_URI[pyo3-build-config-0.21.2.sha256sum] = "7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50"
+SRC_URI[pyo3-ffi-0.21.2.sha256sum] = "01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403"
+SRC_URI[pyo3-macros-0.21.2.sha256sum] = "77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c"
+SRC_URI[pyo3-macros-backend-0.21.2.sha256sum] = "08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c"
SRC_URI[python3-dll-a-0.2.9.sha256sum] = "d5f07cd4412be8fa09a721d40007c483981bbe072cd6a21f2e83e04ec8f8343f"
SRC_URI[quote-1.0.35.sha256sum] = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+SRC_URI[radium-0.7.0.sha256sum] = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
-SRC_URI[regex-automata-0.4.3.sha256sum] = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+SRC_URI[regex-1.10.4.sha256sum] = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
+SRC_URI[regex-automata-0.4.5.sha256sum] = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
SRC_URI[rustversion-1.0.13.sha256sum] = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f"
SRC_URI[ryu-1.0.14.sha256sum] = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-SRC_URI[serde-1.0.195.sha256sum] = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
-SRC_URI[serde_derive-1.0.195.sha256sum] = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
-SRC_URI[serde_json-1.0.109.sha256sum] = "cb0652c533506ad7a2e353cce269330d6afd8bdfb6d75e0ace5b35aacbd7b9e9"
-SRC_URI[smallvec-1.11.2.sha256sum] = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
-SRC_URI[speedate-0.13.0.sha256sum] = "242f76c50fd18cbf098607090ade73a08d39cfd84ea835f3796a2c855223b19b"
+SRC_URI[serde-1.0.203.sha256sum] = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
+SRC_URI[serde_derive-1.0.203.sha256sum] = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
+SRC_URI[serde_json-1.0.116.sha256sum] = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
+SRC_URI[smallvec-1.13.2.sha256sum] = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+SRC_URI[speedate-0.14.0.sha256sum] = "c323c4e6fece5a5a1a2a7f726d243144cce9fbcfe3ce4d9f3c6ede726a2bc780"
SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
SRC_URI[strum-0.25.0.sha256sum] = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
SRC_URI[strum_macros-0.25.3.sha256sum] = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
+SRC_URI[strum_macros-0.26.1.sha256sum] = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18"
SRC_URI[syn-2.0.48.sha256sum] = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+SRC_URI[tap-1.0.1.sha256sum] = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
SRC_URI[target-lexicon-0.12.9.sha256sum] = "df8e77cb757a61f51b947ec4a7e3646efd825b73561db1c232a8ccb639e611a0"
SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
@@ -155,7 +158,7 @@ SRC_URI[unicode-ident-1.0.10.sha256sum] = "22049a19f4a68748a168c0fc439f9516686aa
SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
SRC_URI[url-2.5.0.sha256sum] = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
-SRC_URI[uuid-1.6.1.sha256sum] = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+SRC_URI[uuid-1.8.0.sha256sum] = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
@@ -166,5 +169,6 @@ SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa
SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+SRC_URI[wyz-0.5.1.sha256sum] = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
SRC_URI[zerocopy-0.7.32.sha256sum] = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
SRC_URI[zerocopy-derive-0.7.32.sha256sum] = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0001-Bumps-pyo3-https-github.com-pyo3-pyo3-from-0.20.2-to.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0001-Bumps-pyo3-https-github.com-pyo3-pyo3-from-0.20.2-to.patch
deleted file mode 100644
index 32777e1d03..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0001-Bumps-pyo3-https-github.com-pyo3-pyo3-from-0.20.2-to.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From a5690f973384bf8cbf4deb3b83d822b7aaefbdd8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Feb 2024 11:00:46 -0800
-Subject: [PATCH] Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.20.2 to
- 0.20.3.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Cargo.lock | 26 +++++++++++++++++---------
- Cargo.toml | 2 +-
- 2 files changed, 18 insertions(+), 10 deletions(-)
-
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -322,6 +322,12 @@ source = "registry+https://github.com/ru
- checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
-
- [[package]]
-+name = "portable-atomic"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
-+
-+[[package]]
- name = "proc-macro2"
- version = "1.0.76"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-@@ -357,9 +363,9 @@ dependencies = [
-
- [[package]]
- name = "pyo3"
--version = "0.20.2"
-+version = "0.20.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0"
-+checksum = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233"
- dependencies = [
- "cfg-if",
- "indoc",
-@@ -367,6 +373,7 @@ dependencies = [
- "memoffset",
- "num-bigint",
- "parking_lot",
-+ "portable-atomic",
- "pyo3-build-config",
- "pyo3-ffi",
- "pyo3-macros",
-@@ -375,9 +382,9 @@ dependencies = [
-
- [[package]]
- name = "pyo3-build-config"
--version = "0.20.2"
-+version = "0.20.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be"
-+checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7"
- dependencies = [
- "once_cell",
- "python3-dll-a",
-@@ -386,9 +393,9 @@ dependencies = [
-
- [[package]]
- name = "pyo3-ffi"
--version = "0.20.2"
-+version = "0.20.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1"
-+checksum = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa"
- dependencies = [
- "libc",
- "pyo3-build-config",
-@@ -396,9 +403,9 @@ dependencies = [
-
- [[package]]
- name = "pyo3-macros"
--version = "0.20.2"
-+version = "0.20.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3"
-+checksum = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158"
- dependencies = [
- "proc-macro2",
- "pyo3-macros-backend",
-@@ -408,12 +415,13 @@ dependencies = [
-
- [[package]]
- name = "pyo3-macros-backend"
--version = "0.20.2"
-+version = "0.20.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f"
-+checksum = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185"
- dependencies = [
- "heck",
- "proc-macro2",
-+ "pyo3-build-config",
- "quote",
- "syn",
- ]
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -26,7 +26,7 @@ include = [
- ]
-
- [dependencies]
--pyo3 = { version = "0.20.2", features = ["generate-import-lib", "num-bigint"] }
-+pyo3 = { version = "0.20.3", features = ["generate-import-lib", "num-bigint"] }
- regex = "1.10.2"
- strum = { version = "0.25.0", features = ["derive"] }
- strum_macros = "0.25.3"
-@@ -70,12 +70,12 @@ debug = true
- strip = false
-
- [dev-dependencies]
--pyo3 = { version = "0.20.2", features = ["auto-initialize"] }
-+pyo3 = { version = "0.20.3", features = ["auto-initialize"] }
-
- [build-dependencies]
- version_check = "0.9.4"
- # used where logic has to be version/distribution specific, e.g. pypy
--pyo3-build-config = { version = "0.20.2" }
-+pyo3-build-config = { version = "0.20.3" }
-
- [lints.clippy]
- dbg_macro = "warn"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch
new file mode 100644
index 0000000000..c4e6f2f6ab
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch
@@ -0,0 +1,29 @@
+From 6e1852228a2aa38cc76b9a968bba6b603efa5b28 Mon Sep 17 00:00:00 2001
+From: Frank de Brabander <debrabander@gmail.com>
+Date: Thu, 25 Jul 2024 13:50:44 +0200
+Subject: [PATCH] Set rust version from 1.76 to 1.75 in Cargo.toml
+
+Current openembedded-core uses 1.75 and this packages doesn't actually
+require a newer version.
+
+Upstream-Status: Inappropriate
+---
+ Cargo.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index 8f0ea44..10b277c 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -24,7 +24,7 @@ include = [
+ "!tests/.pytest_cache",
+ "!*.so",
+ ]
+-rust-version = "1.76"
++rust-version = "1.75"
+
+ [dependencies]
+ pyo3 = { version = "0.21.2", features = ["generate-import-lib", "num-bigint"] }
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch
new file mode 100644
index 0000000000..1c195e294b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch
@@ -0,0 +1,47 @@
+From b3282b301096253a11b1f887f915d0a2a2183597 Mon Sep 17 00:00:00 2001
+From: Frank de Brabander <debrabander@gmail.com>
+Date: Thu, 8 Aug 2024 08:04:48 +0200
+Subject: [PATCH] Dont embed RUSTFLAGS in final binary
+
+Upstream-Status: Backport [https://github.com/pydantic/pydantic-core/commit/e07c41b3bad75948201a2201387225694c2fb501]
+---
+ build.rs | 9 +++++++++
+ src/lib.rs | 5 ++++-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/build.rs b/build.rs
+index 7f59e1f..7fe6490 100644
+--- a/build.rs
++++ b/build.rs
+@@ -35,6 +35,15 @@ fn main() {
+ if let Some(true) = version_check::supports_feature("coverage_attribute") {
+ println!("cargo:rustc-cfg=has_coverage_attribute");
+ }
++
++ if std::env::var("RUSTFLAGS")
++ .unwrap_or_default()
++ .contains("-Cprofile-use=")
++ {
++ println!("cargo:rustc-cfg=specified_profile_use");
++ }
++ println!("cargo:rustc-check-cfg=cfg(specified_profile_use)");
++
+ generate_self_schema();
+ println!("cargo:rustc-env=PROFILE={}", std::env::var("PROFILE").unwrap());
+ }
+diff --git a/src/lib.rs b/src/lib.rs
+index d55e836..206a7a1 100644
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -111,7 +111,10 @@ pub fn build_info() -> String {
+ format!(
+ "profile={} pgo={}",
+ env!("PROFILE"),
+- option_env!("RUSTFLAGS").unwrap_or("").contains("-Cprofile-use="),
++ // We use a `cfg!` here not `env!`/`option_env!` as those would
++ // embed `RUSTFLAGS` into the generated binary which causes problems
++ // with reproducable builds.
++ cfg!(specified_profile_use),
+ )
+ }
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.16.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
index faa291ea6d..adaf4a62cb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.16.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
@@ -8,8 +8,9 @@ HOMEPAGE = "https://github.com/pydantic/pydantic-core"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c"
-SRC_URI += "file://0001-Bumps-pyo3-https-github.com-pyo3-pyo3-from-0.20.2-to.patch"
-SRC_URI[sha256sum] = "1cac689f80a3abab2d3c0048b29eea5751114054f032a941a32de4c852c59cad"
+SRC_URI += "file://0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch \
+ file://0002-Dont-embed-RUSTFLAGS-in-final-binary.patch"
+SRC_URI[sha256sum] = "ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864"
DEPENDS = "python3-maturin-native python3-typing-extensions"
@@ -19,7 +20,10 @@ inherit pypi cargo-update-recipe-crates python_maturin
PYPI_PACKAGE = "pydantic_core"
-RDEPENDS:${PN} += "python3-typing-extensions"
+RDEPENDS:${PN} += " \
+ python3-compression \
+ python3-typing-extensions \
+"
INSANE_SKIP:${PN} = "already-stripped"
@@ -33,6 +37,8 @@ RDEPENDS:${PN}-ptest += "\
python3-pytest-timeout \
python3-pytest-benchmark \
python3-unittest-automake-output \
+ python3-zoneinfo \
+ tzdata \
"
do_install:append() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.7.4.bb
index 36ad83527d..04c9c91c0e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.7.4.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=09280955509d1c4ca14bae02f21d49a6"
inherit pypi python_hatchling
-SRC_URI[sha256sum] = "b5ecdd42262ca2462e2624793551e80911a1e989f462910bb81aef974b4bb383"
+SRC_URI[sha256sum] = "0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52"
DEPENDS += "python3-hatch-fancy-pypi-readme-native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.1.0.bb
index 12f4f908af..4c49acaf1e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.1.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE= "http://www.pylint.org/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9"
-SRC_URI += "git://github.com/pylint-dev/pylint;branch=maintenance/3.1.x;protocol=https \
+SRC_URI += "git://github.com/pylint-dev/pylint;branch=main;protocol=https \
file://0001-Adjust-test-expectations-for-ptest.patch \
file://run-ptest \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj/rpath.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj/rpath.patch
new file mode 100644
index 0000000000..347996a808
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj/rpath.patch
@@ -0,0 +1,18 @@
+Description: Don't set RPATH in libraries.
+Author: Bas Couwenberg <sebastic@debian.org>
+Forwarded: not-needed
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/setup.py
++++ b/setup.py
+@@ -194,9 +194,6 @@ def get_extension_modules():
+ ext_options = {
+ "include_dirs": include_dirs,
+ "library_dirs": library_dirs,
+- "runtime_library_dirs": (
+- library_dirs if os.name != "nt" and sys.platform != "cygwin" else None
+- ),
+ "libraries": get_libraries(library_dirs),
+ }
+ # setup cythonized modules
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj_3.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj_3.6.1.bb
index a4121c3934..f6b6ee8a46 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj_3.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj_3.6.1.bb
@@ -8,6 +8,8 @@ PYPI_PACKAGE = "pyproj"
inherit pypi setuptools3
+SRC_URI += "file://rpath.patch"
+
SRC_URI[sha256sum] = "44aa7c704c2b7d8fb3d483bbf75af6cb2350d30a63b144279a09b75fead501bf"
RDEPENDS:${PN} = " \
@@ -21,3 +23,11 @@ RDEPENDS:${PN} = " \
export PROJ_INCDIR = "${STAGING_INCDIR}"
export PROJ_LIBDIR = "${STAGING_LIBDIR}"
export PROJ_DIR = "${STAGING_BINDIR_NATIVE}/.."
+
+do_compile:append() {
+ for f in `find ${B} -name *.c`
+ do
+ sed -i -e "/BEGIN: Cython Metadata/,/END: Cython Metadata/d" $f
+ done
+ python_pep517_do_compile
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include_1.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include_1.3.2.bb
index 3a5bd99a78..309d0ac596 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include_1.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include_1.3.2.bb
@@ -26,4 +26,4 @@ RDEPENDS:${PN}-ptest += " \
python3-pytest \
python3-unittest-automake-output \
"
-
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/CVE-2024-4340.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/CVE-2024-4340.patch
new file mode 100644
index 0000000000..670904071a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/CVE-2024-4340.patch
@@ -0,0 +1,48 @@
+From b4a39d9850969b4e1d6940d32094ee0b42a2cf03 Mon Sep 17 00:00:00 2001
+From: Andi Albrecht <albrecht.andi@gmail.com>
+Date: Sat, 13 Apr 2024 13:59:00 +0200
+Subject: [PATCH] Raise SQLParseError instead of RecursionError.
+
+CVE: CVE-2024-4340
+
+Upstream-Status: Backport [https://github.com/andialbrecht/sqlparse/commit/b4a39d9850969b4e1d6940d32094ee0b42a2cf03]
+
+Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
+---
+ sqlparse/sql.py | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/sqlparse/sql.py b/sqlparse/sql.py
+index 1ccfbdb..2090621 100644
+--- a/sqlparse/sql.py
++++ b/sqlparse/sql.py
+@@ -10,6 +10,7 @@
+ import re
+
+ from sqlparse import tokens as T
++from sqlparse.exceptions import SQLParseError
+ from sqlparse.utils import imt, remove_quotes
+
+
+@@ -209,11 +210,14 @@ class TokenList(Token):
+
+ This method is recursively called for all child tokens.
+ """
+- for token in self.tokens:
+- if token.is_group:
+- yield from token.flatten()
+- else:
+- yield token
++ try:
++ for token in self.tokens:
++ if token.is_group:
++ yield from token.flatten()
++ else:
++ yield token
++ except RecursionError as err:
++ raise SQLParseError('Maximum recursion depth exceeded') from err
+
+ def get_sublists(self):
+ for token in self.tokens:
+--
+2.25.1
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb
index c04971ee8f..fa633026c8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb
@@ -5,6 +5,7 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2b136f573f5386001ea3b7b9016222fc"
SRC_URI += "file://0001-sqlparse-change-shebang-to-python3.patch \
+ file://CVE-2024-4340.patch \
file://run-ptest \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.4.2.bb
index b01c1cec2a..751f32913a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.4.2.bb
@@ -6,9 +6,9 @@ HOMEPAGE = "http://www.tornadoweb.org/en/stable/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI[sha256sum] = "72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee"
+SRC_URI[sha256sum] = "92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b"
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
# Requires _compression which is currently located in misc
RDEPENDS:${PN} += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted/CVE-2024-41671-0001.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted/CVE-2024-41671-0001.patch
new file mode 100644
index 0000000000..1f6bf6bbfc
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted/CVE-2024-41671-0001.patch
@@ -0,0 +1,89 @@
+From 046a164f89a0f08d3239ecebd750360f8914df33 Mon Sep 17 00:00:00 2001
+From: Adi Roiban <adiroiban@gmail.com>
+Date: Mon Jul 29 14:28:03 2024 +0100
+Subject: [PATCH] Merge commit from fork
+
+Added HTML output encoding the "URL" parameter of the "redirectTo" function
+
+CVE: CVE-2024-41671
+
+Upstream-Status: Backport [https://github.com/twisted/twisted/commit/046a164f89a0f08d3239ecebd750360f8914df33]
+
+Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
+---
+ src/twisted/web/_template_util.py | 2 +-
+ src/twisted/web/test/test_util.py | 39 ++++++++++++++++++++++++++++++-
+ 2 files changed, 39 insertions(+), 2 deletions(-)
+
+diff --git a/src/twisted/web/_template_util.py b/src/twisted/web/_template_util.py
+index 230c33f..7266079 100644
+--- a/src/twisted/web/_template_util.py
++++ b/src/twisted/web/_template_util.py
+@@ -92,7 +92,7 @@ def redirectTo(URL: bytes, request: IRequest) -> bytes:
+ </body>
+ </html>
+ """ % {
+- b"url": URL
++ b"url": escape(URL.decode("utf-8")).encode("utf-8")
+ }
+ return content
+
+diff --git a/src/twisted/web/test/test_util.py b/src/twisted/web/test/test_util.py
+index 1e76300..9847dcb 100644
+--- a/src/twisted/web/test/test_util.py
++++ b/src/twisted/web/test/test_util.py
+@@ -5,7 +5,6 @@
+ Tests for L{twisted.web.util}.
+ """
+
+-
+ import gc
+
+ from twisted.internet import defer
+@@ -64,6 +63,44 @@ class RedirectToTests(TestCase):
+ targetURL = "http://target.example.com/4321"
+ self.assertRaises(TypeError, redirectTo, targetURL, request)
+
++ def test_legitimateRedirect(self):
++ """
++ Legitimate URLs are fully interpolated in the `redirectTo` response body without transformation
++ """
++ request = DummyRequest([b""])
++ html = redirectTo(b"https://twisted.org/", request)
++ expected = b"""
++<html>
++ <head>
++ <meta http-equiv=\"refresh\" content=\"0;URL=https://twisted.org/\">
++ </head>
++ <body bgcolor=\"#FFFFFF\" text=\"#000000\">
++ <a href=\"https://twisted.org/\">click here</a>
++ </body>
++</html>
++"""
++ self.assertEqual(html, expected)
++
++ def test_maliciousRedirect(self):
++ """
++ Malicious URLs are HTML-escaped before interpolating them in the `redirectTo` response body
++ """
++ request = DummyRequest([b""])
++ html = redirectTo(
++ b'https://twisted.org/"><script>alert(document.location)</script>', request
++ )
++ expected = b"""
++<html>
++ <head>
++ <meta http-equiv=\"refresh\" content=\"0;URL=https://twisted.org/&quot;&gt;&lt;script&gt;alert(document.location)&lt;/script&gt;\">
++ </head>
++ <body bgcolor=\"#FFFFFF\" text=\"#000000\">
++ <a href=\"https://twisted.org/&quot;&gt;&lt;script&gt;alert(document.location)&lt;/script&gt;\">click here</a>
++ </body>
++</html>
++"""
++ self.assertEqual(html, expected)
++
+
+ class ParentRedirectTests(SynchronousTestCase):
+ """
+--
+2.40.0
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted/CVE-2024-41671-0002.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted/CVE-2024-41671-0002.patch
new file mode 100644
index 0000000000..147c21d73d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted/CVE-2024-41671-0002.patch
@@ -0,0 +1,251 @@
+From 4a930de12fb67e88fefcb8822104152f42b27abc Mon Sep 17 00:00:00 2001
+From: Adi Roiban <adiroiban@gmail.com>
+Date: Mon Jul 29 14:27:23 2024 +0100
+Subject: [PATCH] Merge commit from fork
+
+Address GHSA-c8m8-j448-xjx7
+
+CVE: CVE-2024-41671
+
+Upstream-Status: Backport [https://github.com/twisted/twisted/commit/4a930de12fb67e88fefcb8822104152f42b27abc]
+
+Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
+---
+ src/twisted/web/http.py | 21 +++--
+ src/twisted/web/test/test_http.py | 122 ++++++++++++++++++++++++++----
+ 2 files changed, 122 insertions(+), 21 deletions(-)
+
+diff --git a/src/twisted/web/http.py b/src/twisted/web/http.py
+index 1c59838..3b784f5 100644
+--- a/src/twisted/web/http.py
++++ b/src/twisted/web/http.py
+@@ -2000,16 +2000,21 @@ class _ChunkedTransferDecoder:
+ @returns: C{False}, as there is either insufficient data to continue,
+ or no data remains.
+ """
+- if (
+- self._receivedTrailerHeadersSize + len(self._buffer)
+- > self._maxTrailerHeadersSize
+- ):
+- raise _MalformedChunkedDataError("Trailer headers data is too long.")
+-
+ eolIndex = self._buffer.find(b"\r\n", self._start)
+
+ if eolIndex == -1:
+ # Still no end of network line marker found.
++ #
++ # Check if we've run up against the trailer size limit: if the next
++ # read contains the terminating CRLF then we'll have this many bytes
++ # of trailers (including the CRLFs).
++ minTrailerSize = (
++ self._receivedTrailerHeadersSize
++ + len(self._buffer)
++ + (1 if self._buffer.endswith(b"\r") else 2)
++ )
++ if minTrailerSize > self._maxTrailerHeadersSize:
++ raise _MalformedChunkedDataError("Trailer headers data is too long.")
+ # Continue processing more data.
+ return False
+
+@@ -2019,6 +2024,8 @@ class _ChunkedTransferDecoder:
+ del self._buffer[0 : eolIndex + 2]
+ self._start = 0
+ self._receivedTrailerHeadersSize += eolIndex + 2
++ if self._receivedTrailerHeadersSize > self._maxTrailerHeadersSize:
++ raise _MalformedChunkedDataError("Trailer headers data is too long.")
+ return True
+
+ # eolIndex in this part of code is equal to 0
+@@ -2342,8 +2349,8 @@ class HTTPChannel(basic.LineReceiver, policies.TimeoutMixin):
+ self.__header = line
+
+ def _finishRequestBody(self, data):
+- self.allContentReceived()
+ self._dataBuffer.append(data)
++ self.allContentReceived()
+
+ def _maybeChooseTransferDecoder(self, header, data):
+ """
+diff --git a/src/twisted/web/test/test_http.py b/src/twisted/web/test/test_http.py
+index 33d0a49..1130d31 100644
+--- a/src/twisted/web/test/test_http.py
++++ b/src/twisted/web/test/test_http.py
+@@ -135,7 +135,7 @@ class DummyHTTPHandler(http.Request):
+ data = self.content.read()
+ length = self.getHeader(b"content-length")
+ if length is None:
+- length = networkString(str(length))
++ length = str(length).encode()
+ request = b"'''\n" + length + b"\n" + data + b"'''\n"
+ self.setResponseCode(200)
+ self.setHeader(b"Request", self.uri)
+@@ -563,17 +563,23 @@ class HTTP0_9Tests(HTTP1_0Tests):
+
+ class PipeliningBodyTests(unittest.TestCase, ResponseTestMixin):
+ """
+- Tests that multiple pipelined requests with bodies are correctly buffered.
++ Pipelined requests get buffered and executed in the order received,
++ not processed in parallel.
+ """
+
+ requests = (
+ b"POST / HTTP/1.1\r\n"
+ b"Content-Length: 10\r\n"
+ b"\r\n"
+- b"0123456789POST / HTTP/1.1\r\n"
+- b"Content-Length: 10\r\n"
+- b"\r\n"
+ b"0123456789"
++ # Chunk encoded request.
++ b"POST / HTTP/1.1\r\n"
++ b"Transfer-Encoding: chunked\r\n"
++ b"\r\n"
++ b"a\r\n"
++ b"0123456789\r\n"
++ b"0\r\n"
++ b"\r\n"
+ )
+
+ expectedResponses = [
+@@ -590,14 +596,16 @@ class PipeliningBodyTests(unittest.TestCase, ResponseTestMixin):
+ b"Request: /",
+ b"Command: POST",
+ b"Version: HTTP/1.1",
+- b"Content-Length: 21",
+- b"'''\n10\n0123456789'''\n",
++ b"Content-Length: 23",
++ b"'''\nNone\n0123456789'''\n",
+ ),
+ ]
+
+- def test_noPipelining(self):
++ def test_stepwiseTinyTube(self):
+ """
+- Test that pipelined requests get buffered, not processed in parallel.
++ Imitate a slow connection that delivers one byte at a time.
++ The request handler (L{DelayedHTTPHandler}) is puppeted to
++ step through the handling of each request.
+ """
+ b = StringTransport()
+ a = http.HTTPChannel()
+@@ -606,10 +614,9 @@ class PipeliningBodyTests(unittest.TestCase, ResponseTestMixin):
+ # one byte at a time, to stress it.
+ for byte in iterbytes(self.requests):
+ a.dataReceived(byte)
+- value = b.value()
+
+ # So far only one request should have been dispatched.
+- self.assertEqual(value, b"")
++ self.assertEqual(b.value(), b"")
+ self.assertEqual(1, len(a.requests))
+
+ # Now, process each request one at a time.
+@@ -618,8 +625,91 @@ class PipeliningBodyTests(unittest.TestCase, ResponseTestMixin):
+ request = a.requests[0].original
+ request.delayedProcess()
+
+- value = b.value()
+- self.assertResponseEquals(value, self.expectedResponses)
++ self.assertResponseEquals(b.value(), self.expectedResponses)
++
++ def test_stepwiseDumpTruck(self):
++ """
++ Imitate a fast connection where several pipelined
++ requests arrive in a single read. The request handler
++ (L{DelayedHTTPHandler}) is puppeted to step through the
++ handling of each request.
++ """
++ b = StringTransport()
++ a = http.HTTPChannel()
++ a.requestFactory = DelayedHTTPHandlerProxy
++ a.makeConnection(b)
++
++ a.dataReceived(self.requests)
++
++ # So far only one request should have been dispatched.
++ self.assertEqual(b.value(), b"")
++ self.assertEqual(1, len(a.requests))
++
++ # Now, process each request one at a time.
++ while a.requests:
++ self.assertEqual(1, len(a.requests))
++ request = a.requests[0].original
++ request.delayedProcess()
++
++ self.assertResponseEquals(b.value(), self.expectedResponses)
++
++ def test_immediateTinyTube(self):
++ """
++ Imitate a slow connection that delivers one byte at a time.
++ (L{DummyHTTPHandler}) immediately responds, but no more
++ than one
++ """
++ b = StringTransport()
++ a = http.HTTPChannel()
++ a.requestFactory = DummyHTTPHandlerProxy # "sync"
++ a.makeConnection(b)
++
++ # one byte at a time, to stress it.
++ for byte in iterbytes(self.requests):
++ a.dataReceived(byte)
++ # There is never more than one request dispatched at a time:
++ self.assertLessEqual(len(a.requests), 1)
++
++ self.assertResponseEquals(b.value(), self.expectedResponses)
++
++ def test_immediateDumpTruck(self):
++ """
++ Imitate a fast connection where several pipelined
++ requests arrive in a single read. The request handler
++ (L{DummyHTTPHandler}) immediately responds.
++ This doesn't check the at-most-one pending request
++ invariant but exercises otherwise uncovered code paths.
++ See GHSA-c8m8-j448-xjx7.
++ """
++ b = StringTransport()
++ a = http.HTTPChannel()
++ a.requestFactory = DummyHTTPHandlerProxy
++ a.makeConnection(b)
++
++ # All bytes at once to ensure there's stuff to buffer.
++ a.dataReceived(self.requests)
++
++ self.assertResponseEquals(b.value(), self.expectedResponses)
++
++ def test_immediateABiggerTruck(self):
++ """
++ Imitate a fast connection where a so many pipelined
++ requests arrive in a single read that backpressure is indicated.
++ The request handler (L{DummyHTTPHandler}) immediately responds.
++ This doesn't check the at-most-one pending request
++ invariant but exercises otherwise uncovered code paths.
++ See GHSA-c8m8-j448-xjx7.
++ @see: L{http.HTTPChannel._optimisticEagerReadSize}
++ """
++ b = StringTransport()
++ a = http.HTTPChannel()
++ a.requestFactory = DummyHTTPHandlerProxy
++ a.makeConnection(b)
++
++ overLimitCount = a._optimisticEagerReadSize // len(self.requests) * 10
++ a.dataReceived(self.requests * overLimitCount)
++
++ self.assertResponseEquals(b.value(), self.expectedResponses * overLimitCount)
+
+ def test_pipeliningReadLimit(self):
+ """
+@@ -1522,7 +1612,11 @@ class ChunkedTransferEncodingTests(unittest.TestCase):
+ lambda b: None, # pragma: nocov
+ )
+ p._maxTrailerHeadersSize = 10
+- p.dataReceived(b"3\r\nabc\r\n0\r\n0123456789")
++ # 9 bytes are received so far, in 2 packets.
++ # For now, all is ok.
++ p.dataReceived(b"3\r\nabc\r\n0\r\n01234567")
++ p.dataReceived(b"\r")
++ # Once the 10th byte is received, the processing fails.
+ self.assertRaises(
+ http._MalformedChunkedDataError,
+ p.dataReceived,
+--
+2.40.0
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_24.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_24.3.0.bb
index 336c173893..272aecb8b0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_24.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_24.3.0.bb
@@ -6,6 +6,11 @@ HOMEPAGE = "https://twisted.org"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c1c5d2c2493b848f83864bdedd67bbf5"
+SRC_URI += " \
+ file://CVE-2024-41671-0001.patch \
+ file://CVE-2024-41671-0002.patch \
+"
+
SRC_URI[sha256sum] = "6b38b6ece7296b5e122c9eb17da2eeab3d98a198f50ca9efd00fb03e5b4fd4ae"
inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_3.0.6.bb
index f8d2769b41..5758830cb9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_3.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_3.0.6.bb
@@ -8,9 +8,9 @@ cookie handling, file uploads, a powerful URL routing system and a bunch \
of community contributed addon modules."
HOMEPAGE = "https://werkzeug.palletsprojects.com"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dc88300786f1c214c1e9827a5229462"
-SRC_URI[sha256sum] = "507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc"
+SRC_URI[sha256sum] = "a8dd59d4de28ca70471a34cba79bed5f7ef2e036a76b3ab0835474246eb41f8d"
inherit pypi python_flit_core
@@ -20,4 +20,5 @@ RDEPENDS:${PN} += " \
python3-profile \
python3-compression \
python3-json \
+ python3-difflib \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.9.bb
index ee7dab35cb..4e23feebbb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.9.bb
@@ -1,7 +1,7 @@
SUMMARY = "Python 2 and 3 compatibility library"
HOMEPAGE = "https://xlsxwriter.readthedocs.io"
SECTION = "devel/python"
-LICENSE = "MIT"
+LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=12d9fac1f0049be71ab5aa4a78da02b0"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmodem_0.4.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmodem_0.4.7.bb
index 482f0c641b..a5942e3d5c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmodem_0.4.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmodem_0.4.7.bb
@@ -9,8 +9,8 @@ inherit pypi setuptools3
do_install:append() {
install -d ${D}${docdir}/${PN}
- mv ${D}/usr/doc/* ${D}${docdir}/${PN}/
- rmdir ${D}/usr/doc
+ mv ${D}${prefix}/doc/* ${D}${docdir}/${PN}/
+ rmdir ${D}${prefix}/doc
}
RDEPENDS:${PN} += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/tftpy/CVE-2023-46566.patch b/meta-openembedded/meta-python/recipes-devtools/python/tftpy/CVE-2023-46566.patch
new file mode 100644
index 0000000000..0131dedb1c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/tftpy/CVE-2023-46566.patch
@@ -0,0 +1,26 @@
+From 5b4dcbe1c8fb178e4d31b9a9e63e603b73e8fb2f Mon Sep 17 00:00:00 2001
+From: Dave Wapstra <dwapstra@cisco.com>
+Date: Wed, 3 Jul 2024 14:32:58 +1200
+Subject: [PATCH] Add packet size check
+
+CVE: CVE-2023-46566
+
+Upstream-Status: Backport [https://github.com/msoulier/tftpy/commit/5b4dcbe1c8fb178e4d31b9a9e63e603b73e8fb2f]
+---
+ tftpy/TftpPacketFactory.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tftpy/TftpPacketFactory.py b/tftpy/TftpPacketFactory.py
+index 41f39a9..a8c9cd0 100644
+--- a/tftpy/TftpPacketFactory.py
++++ b/tftpy/TftpPacketFactory.py
+@@ -29,6 +29,7 @@ class TftpPacketFactory(object):
+ """This method is used to parse an existing datagram into its
+ corresponding TftpPacket object. The buffer is the raw bytes off of
+ the network."""
++ tftpassert(len(buffer) > 2, 'Invalid packet size')
+ log.debug("parsing a %d byte packet" % len(buffer))
+ (opcode,) = struct.unpack(str("!H"), buffer[:2])
+ log.debug("opcode is %d" % opcode)
+--
+2.40.0
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/tftpy_0.8.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/tftpy_0.8.2.bb
index c1b3234f72..c169916845 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/tftpy_0.8.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/tftpy_0.8.2.bb
@@ -11,3 +11,5 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=22770e72ae03c61f5bcc4e333b61368d"
SRC_URI[sha256sum] = "e1d1a680efd88eba176b351175844253067392a9b0f8b81588e3ff2b9e7bbb5b"
inherit pypi setuptools3
+
+SRC_URI += "file://CVE-2023-46566.patch"