diff options
| author | Sam Van Den Berge <sam.van.den.berge@gmail.com> | 2022-08-02 15:27:27 +0200 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2022-08-06 09:40:09 -0700 |
| commit | 8ad020938f86944c9c4589fa6f9abdc700d619c5 (patch) | |
| tree | a52545404fa21065a092a85017ec1e085ef647ee | |
| parent | 85b7ff3a38a7a431e16f4d90753774056363224c (diff) | |
| download | meta-openembedded-8ad020938f86944c9c4589fa6f9abdc700d619c5.tar.gz | |
python3-jsonrpcserver: add patch to use importlib.resources instead of pkg_resources
Currently jsonrpcserver has a runtime dependency to setuptools because
it uses pkg_resources. Setuptools however is not listed in the RDEPENDS
of python3-jsonrpcserver. We could add setuptools to RDEPENDS but since
pkg_resources is discouraged anyway [1], I posted a patch upstream to
replace pkg_resources by importlib.resources.
Until the upstream patch is accepted and released, add it here as a
patch so python3-jsonrpcserver is usable without the setuptools
dependency.
Upstream-Status: Submitted [https://github.com/explodinglabs/jsonrpcserver/pull/235]
Signed-off-by: Sam Van Den Berge <sam.van.den.berge@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
| -rw-r--r-- | recipes-devtools/python/python3-jsonrpcserver/0001-Use-importlib.resources-instead-of-pkg_resources.patch | 44 | ||||
| -rw-r--r-- | recipes-devtools/python/python3-jsonrpcserver_%.bbappend | 5 |
2 files changed, 49 insertions, 0 deletions
diff --git a/recipes-devtools/python/python3-jsonrpcserver/0001-Use-importlib.resources-instead-of-pkg_resources.patch b/recipes-devtools/python/python3-jsonrpcserver/0001-Use-importlib.resources-instead-of-pkg_resources.patch new file mode 100644 index 0000000000..2d1a8c97c9 --- /dev/null +++ b/recipes-devtools/python/python3-jsonrpcserver/0001-Use-importlib.resources-instead-of-pkg_resources.patch | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | From 4220c6a02bc03ff8c6cc4b3bee168a1351a3ce39 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Sam Van Den Berge <sam.van.den.berge@gmail.com> | ||
| 3 | Date: Fri, 29 Jul 2022 15:53:37 +0200 | ||
| 4 | Subject: [PATCH] Use importlib.resources instead of pkg_resources | ||
| 5 | |||
| 6 | From the setuptools website [1]: | ||
| 7 | |||
| 8 | Use of pkg_resources is discouraged in favor of importlib.resources, | ||
| 9 | importlib.metadata, and their backports (importlib_resources, | ||
| 10 | importlib_metadata). Please consider using those libraries instead of | ||
| 11 | pkg_resources. | ||
| 12 | |||
| 13 | [1]: https://setuptools.pypa.io/en/latest/pkg_resources.html | ||
| 14 | |||
| 15 | Signed-off-by: Sam Van Den Berge <sam.van.den.berge@gmail.com> | ||
| 16 | --- | ||
| 17 | jsonrpcserver/main.py | 4 ++-- | ||
| 18 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/jsonrpcserver/main.py b/jsonrpcserver/main.py | ||
| 21 | index 0397a58..ac1855f 100644 | ||
| 22 | --- a/jsonrpcserver/main.py | ||
| 23 | +++ b/jsonrpcserver/main.py | ||
| 24 | @@ -13,7 +13,7 @@ from typing import Any, Callable, Dict, List, Optional, Union, cast | ||
| 25 | import json | ||
| 26 | |||
| 27 | from jsonschema.validators import validator_for # type: ignore | ||
| 28 | -from pkg_resources import resource_string | ||
| 29 | +import importlib.resources | ||
| 30 | |||
| 31 | from .dispatcher import dispatch_to_response_pure, Deserialized | ||
| 32 | from .methods import Methods, global_methods | ||
| 33 | @@ -26,7 +26,7 @@ default_deserializer = json.loads | ||
| 34 | |||
| 35 | # Prepare the jsonschema validator. This is global so it loads only once, not every | ||
| 36 | # time dispatch is called. | ||
| 37 | -schema = json.loads(resource_string(__name__, "request-schema.json")) | ||
| 38 | +schema = json.loads(importlib.resources.read_text(__package__, "request-schema.json")) | ||
| 39 | klass = validator_for(schema) | ||
| 40 | klass.check_schema(schema) | ||
| 41 | default_validator = klass(schema).validate | ||
| 42 | -- | ||
| 43 | 2.34.1 | ||
| 44 | |||
diff --git a/recipes-devtools/python/python3-jsonrpcserver_%.bbappend b/recipes-devtools/python/python3-jsonrpcserver_%.bbappend new file mode 100644 index 0000000000..23cdf070bd --- /dev/null +++ b/recipes-devtools/python/python3-jsonrpcserver_%.bbappend | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" | ||
| 2 | |||
| 3 | SRC_URI = "\ | ||
| 4 | file://0001-Use-importlib.resources-instead-of-pkg_resources.patch \ | ||
| 5 | " | ||
