mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-12-13 22:05:27 +01:00
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>
This commit is contained in:
parent
85b7ff3a38
commit
8ad020938f
|
|
@ -0,0 +1,44 @@
|
||||||
|
From 4220c6a02bc03ff8c6cc4b3bee168a1351a3ce39 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sam Van Den Berge <sam.van.den.berge@gmail.com>
|
||||||
|
Date: Fri, 29 Jul 2022 15:53:37 +0200
|
||||||
|
Subject: [PATCH] Use importlib.resources instead of pkg_resources
|
||||||
|
|
||||||
|
From the setuptools website [1]:
|
||||||
|
|
||||||
|
Use of pkg_resources is discouraged in favor of importlib.resources,
|
||||||
|
importlib.metadata, and their backports (importlib_resources,
|
||||||
|
importlib_metadata). Please consider using those libraries instead of
|
||||||
|
pkg_resources.
|
||||||
|
|
||||||
|
[1]: https://setuptools.pypa.io/en/latest/pkg_resources.html
|
||||||
|
|
||||||
|
Signed-off-by: Sam Van Den Berge <sam.van.den.berge@gmail.com>
|
||||||
|
---
|
||||||
|
jsonrpcserver/main.py | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/jsonrpcserver/main.py b/jsonrpcserver/main.py
|
||||||
|
index 0397a58..ac1855f 100644
|
||||||
|
--- a/jsonrpcserver/main.py
|
||||||
|
+++ b/jsonrpcserver/main.py
|
||||||
|
@@ -13,7 +13,7 @@ from typing import Any, Callable, Dict, List, Optional, Union, cast
|
||||||
|
import json
|
||||||
|
|
||||||
|
from jsonschema.validators import validator_for # type: ignore
|
||||||
|
-from pkg_resources import resource_string
|
||||||
|
+import importlib.resources
|
||||||
|
|
||||||
|
from .dispatcher import dispatch_to_response_pure, Deserialized
|
||||||
|
from .methods import Methods, global_methods
|
||||||
|
@@ -26,7 +26,7 @@ default_deserializer = json.loads
|
||||||
|
|
||||||
|
# Prepare the jsonschema validator. This is global so it loads only once, not every
|
||||||
|
# time dispatch is called.
|
||||||
|
-schema = json.loads(resource_string(__name__, "request-schema.json"))
|
||||||
|
+schema = json.loads(importlib.resources.read_text(__package__, "request-schema.json"))
|
||||||
|
klass = validator_for(schema)
|
||||||
|
klass.check_schema(schema)
|
||||||
|
default_validator = klass(schema).validate
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
||||||
5
recipes-devtools/python/python3-jsonrpcserver_%.bbappend
Normal file
5
recipes-devtools/python/python3-jsonrpcserver_%.bbappend
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
|
SRC_URI = "\
|
||||||
|
file://0001-Use-importlib.resources-instead-of-pkg_resources.patch \
|
||||||
|
"
|
||||||
Loading…
Reference in New Issue
Block a user