devtools: update to latest

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
Bruce Ashfield 2025-04-17 18:34:47 +00:00
parent f3feb82026
commit bd1a95853f
12 changed files with 23 additions and 151 deletions

View File

@ -9,7 +9,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
SRC_URI[sha256sum] = "c45e7d3aef8965ae1b42c9855c31ded19fbb38cfad0a34cc37dc880ded3672c2"
SRC_URI[sha256sum] = "751ed599c8fd9ca24896edcd6620e8a32b3db1b68efea3a90126312240e668a2"
inherit pypi setuptools3

View File

@ -1,61 +0,0 @@
From 370cdf7d708c92bf21a42f15392f7be330cf8f80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Fri, 7 May 2021 19:54:16 +0200
Subject: [PATCH] Fix rejecting URLs with unsafe characters in
is_valid_endpoint_url() (#2381)
Detect unsafe characters in is_valid_endpoint_url()
and is_valid_ipv6_endpoint_url() early, in order to fix rejecting
invalid URLs with Python 3.9.5+ and other versions carrying bpo-43882
fix. In these versions, urlsplit() silently strips LF, CR and HT
characters while splitting the URL, effectively disarming the validator
in botocore.
The solution is based on a similar fix in Django.
Fixes #2377
Upstream-Status: Backport
---
botocore/utils.py | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/botocore/utils.py b/botocore/utils.py
index 378972248..d35dd64bb 100644
--- a/botocore/utils.py
+++ b/botocore/utils.py
@@ -173,6 +173,10 @@ ZONE_ID_PAT = "(?:%25|%)(?:[" + UNRESERVED_PAT + "]|%[a-fA-F0-9]{2})+"
IPV6_ADDRZ_PAT = r"\[" + IPV6_PAT + r"(?:" + ZONE_ID_PAT + r")?\]"
IPV6_ADDRZ_RE = re.compile("^" + IPV6_ADDRZ_PAT + "$")
+# These are the characters that are stripped by post-bpo-43882 urlparse().
+UNSAFE_URL_CHARS = frozenset('\t\r\n')
+
+
def ensure_boolean(val):
"""Ensures a boolean value if a string or boolean is provided
@@ -977,6 +981,8 @@ class ArgumentGenerator(object):
def is_valid_ipv6_endpoint_url(endpoint_url):
+ if UNSAFE_URL_CHARS.intersection(endpoint_url):
+ return False
netloc = urlparse(endpoint_url).netloc
return IPV6_ADDRZ_RE.match(netloc) is not None
@@ -990,6 +996,10 @@ def is_valid_endpoint_url(endpoint_url):
:return: True if the endpoint url is valid. False otherwise.
"""
+ # post-bpo-43882 urlsplit() strips unsafe characters from URL, causing
+ # it to pass hostname validation below. Detect them early to fix that.
+ if UNSAFE_URL_CHARS.intersection(endpoint_url):
+ return False
parts = urlsplit(endpoint_url)
hostname = parts.hostname
if hostname is None:
--
2.25.1

View File

@ -3,10 +3,8 @@ HOMEPAGE = "https://github.com/boto/botocore"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
SRC_URI[sha256sum] = "c853d6c2321e2f2328282c7d49d7b1a06201826ba0e7049c6975ab5f22927ea8"
SRC_URI[sha256sum] = "197a9bf8251c45b9d882c405ec0d0ab40c10e2d2a55ee66960185daec4beb6ec"
inherit pypi setuptools3
RDEPENDS:${PN} += "python3-jmespath python3-dateutil python3-logging"
SRC_URI += "file://0001-Fix-rejecting-URLs-with-unsafe-characters-in-is_vali.patch"

View File

@ -10,7 +10,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
SRC_URI[sha256sum] = "dcbd59cd9edea26cc92efb6518aed83a2f356f81bfd5acc730bfe202fb27c1c1"
SRC_URI[sha256sum] = "98408fe17d4a7f300a56535407a6448b9844d9b528c44527908868fc3646e873"
inherit pypi setuptools3

View File

@ -3,11 +3,12 @@ HOMEPAGE = "https://github.com/docker/docker-py"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=34f3846f940453127309b920eeb89660"
SRC_URI[md5sum] = "b08eeccf6a5efd11c316c08207edfeef"
SRC_URI[sha256sum] = "323736fb92cd9418fc5e7133bc953e11a9da04f4483f828b527db553f1e7e5a3"
SRC_URI[md5sum] = "04e92a7b6dc8b88dde3c7cca6850b277"
SRC_URI[sha256sum] = "ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c"
DEPENDS += "python3-pip-native"
DEPENDS += "python3-setuptools-scm-native"
DEPENDS += "python3-hatch-vcs-native"
RDEPENDS:${PN} += " \
python3-misc \
@ -16,5 +17,6 @@ RDEPENDS:${PN} += " \
python3-requests \
python3-websocket-client \
python3-packaging \
python3-hatch-vcs \
"
inherit pypi python_setuptools_build_meta
inherit pypi python_hatchling

View File

@ -1,12 +0,0 @@
HOMEPAGE = "https://github.com/pedroburon/dotenv"
SUMMARY = "Python Dot Env Handler"
DESCRIPTION = "Shell Command and Library to write and read .env like files."
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=55ee2c3471d386636a719c8ccac40b31"
PYPI_PACKAGE = "python-dotenv"
SRC_URI[sha256sum] = "471b782da0af10da1a80341e8438fca5fadeba2881c54360d5fd8d03d03a4f4a"
inherit pypi setuptools3

View File

@ -0,0 +1,12 @@
HOMEPAGE = "https://github.com/theskumar/python-dotenv"
SUMMARY = "Python Dot Env Handler"
DESCRIPTION = "Shell Command and Library to write and read .env like files."
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e914cdb773ae44a732b392532d88f072"
PYPI_PACKAGE = "python_dotenv"
SRC_URI[sha256sum] = "41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5"
inherit pypi setuptools3

View File

@ -1,16 +0,0 @@
HOMEPAGE = "https://pypi.python.org/pypi/Flask-Cors/"
SUMMARY = "A Flask extension adding a decorator for CORS support"
DESCRIPTION = "\
A Flask extension for handling Cross Origin Resource Sharing (CORS), making cross-origin AJAX possible \
"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=118fecaa576ab51c1520f95e98db61ce"
DEPENDS += "python3-six python3-flask"
PYPI_PACKAGE = "Flask-Cors"
SRC_URI[sha256sum] = "b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de"
inherit pypi setuptools3

View File

@ -1,34 +0,0 @@
From a61cea5053730f8180eb1fc8b4cb0f94ff4fc176 Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Date: Tue, 9 Feb 2021 21:31:19 -0500
Subject: [PATCH] setup.py: tweak setuptools_scm version dependency
The version dependency of <4 isn't showing any issues in builds.
The oe-core version is 5+, and carrying a secondary version is
not trivial or something we want to do.
So we tweak the version to accept what we have in oe-core.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index ade43a9..889a74f 100644
--- a/setup.py
+++ b/setup.py
@@ -132,7 +132,7 @@ kwargs = dict(
"git_describe_command": "git describe --dirty --tags --long --match *.*.*.*",
"write_to": "newrelic/version.txt",
},
- setup_requires=["setuptools_scm>=3.2,<4"],
+ setup_requires=["setuptools_scm>=3.2"],
description = "New Relic Python Agent",
long_description = open(readme_file).read(),
url = "https://newrelic.com/docs/python/new-relic-for-python",
--
2.19.1

View File

@ -8,14 +8,12 @@ SECTION = "devel/python"
LICENSE = "BSD-3-Clause & MIT & Python-2.0 & BSD-2-Clause & NewRelic"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2b42edef8fa55315f34f2370b4715ca9"
SRC_URI[sha256sum] = "3dec4647de67609570c4e305f2b6432a00e0a0940a7ac69660ee92268b49d6e7"
SRC_URI[sha256sum] = "0741de2138b41a1ae1cfad397878774de4131196d66f1443a23b055d9f47e706"
inherit pypi setuptools3
DEPENDS += "python3-setuptools-scm-native"
SRC_URI += "file://0001-setup.py-tweak-setuptools_scm-version-dependency.patch"
FILES:${PN}-dbg += "\
${PYTHON_SITEPACKAGES_DIR}/newrelic-${PV}/newrelic/*/.debug \
${PYTHON_SITEPACKAGES_DIR}/newrelic-${PV}/newrelic/packages/*/.debug/ \

View File

@ -1,15 +0,0 @@
DESCRIPTION = "Python documentation generator"
HOMEPAGE = "http://sphinx-doc.org/"
SECTION = "devel/python"
LICENSE = "BSD-2-Clause & BSD-3-Clause & MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=82cc7d23060a75a07b820eaaf75abecf"
PYPI_PACKAGE = "Sphinx"
PV = "4.2.0"
RCONFLICTS:${PN} = "python3-sphinx"
SRC_URI[sha256sum] = "94078db9184491e15bce0a56d9186e0aec95f16ac20b12d00e06d4e36f1058a6"
inherit setuptools3 pypi

View File

@ -4,9 +4,9 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://docs/license.txt;md5=8ed3584bcc78c16da363747ccabc5af5"
PYPI_PACKAGE = "WebOb"
PYPI_PACKAGE = "webob"
SRC_URI[sha256sum] = "b64ef5141be559cfade448f044fa45c2260351edcb6a8ef6b7e00c7dcef0c323"
SRC_URI[sha256sum] = "ad6078e2edb6766d1334ec3dee072ac6a7f95b1e32ce10def8ff7f0f02d56589"
inherit setuptools3 pypi