summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Van Den Berge <sam.van.den.berge@gmail.com>2022-08-02 15:27:27 +0200
committerKhem Raj <raj.khem@gmail.com>2022-08-06 09:40:09 -0700
commit8ad020938f86944c9c4589fa6f9abdc700d619c5 (patch)
treea52545404fa21065a092a85017ec1e085ef647ee
parent85b7ff3a38a7a431e16f4d90753774056363224c (diff)
downloadmeta-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.patch44
-rw-r--r--recipes-devtools/python/python3-jsonrpcserver_%.bbappend5
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 @@
1From 4220c6a02bc03ff8c6cc4b3bee168a1351a3ce39 Mon Sep 17 00:00:00 2001
2From: Sam Van Den Berge <sam.van.den.berge@gmail.com>
3Date: Fri, 29 Jul 2022 15:53:37 +0200
4Subject: [PATCH] Use importlib.resources instead of pkg_resources
5
6From the setuptools website [1]:
7
8Use of pkg_resources is discouraged in favor of importlib.resources,
9importlib.metadata, and their backports (importlib_resources,
10importlib_metadata). Please consider using those libraries instead of
11pkg_resources.
12
13[1]: https://setuptools.pypa.io/en/latest/pkg_resources.html
14
15Signed-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
20diff --git a/jsonrpcserver/main.py b/jsonrpcserver/main.py
21index 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--
432.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 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
2
3SRC_URI = "\
4 file://0001-Use-importlib.resources-instead-of-pkg_resources.patch \
5"