Message ID | 20220802132727.1505-1-sam.van.den.berge@gmail.com |
---|---|
State | New |
Headers | show |
Series | [meta-python] python3-jsonrpcserver: add patch to use importlib.resources instead of pkg_resources | expand |
Hi Sam, Sam Van Den Berge <sam.van.den.berge@gmail.com> escreveu no dia terça, 2/08/2022 à(s) 14:27: > From: Sam Van Den Berge <sam.van.den.berge@gmail.com> > > 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] Thanks for the patch but the Upstream-Status is placed on the commit of the attached patch and not here. Signed-off-by: Sam Van Den Berge <sam.van.den.berge@gmail.com> > --- > ...b.resources-instead-of-pkg_resources.patch | 44 +++++++++++++++++++ > .../python/python3-jsonrpcserver_%.bbappend | 5 +++ > 2 files changed, 49 insertions(+) > create mode 100644 > recipes-devtools/python/python3-jsonrpcserver/0001-Use-importlib.resources-instead-of-pkg_resources.patch > create mode 100644 > recipes-devtools/python/python3-jsonrpcserver_%.bbappend > > 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 0000000..2d1a8c9 > --- /dev/null > +++ > b/recipes-devtools/python/python3-jsonrpcserver/0001-Use-importlib.resources-instead-of-pkg_resources.patch > @@ -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 > + > Upstream-Status: Submitted [ https://github.com/explodinglabs/jsonrpcserver/pull/235] So it goes here ^ Jose +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 > + > diff --git a/recipes-devtools/python/python3-jsonrpcserver_%.bbappend > b/recipes-devtools/python/python3-jsonrpcserver_%.bbappend > new file mode 100644 > index 0000000..23cdf07 > --- /dev/null > +++ b/recipes-devtools/python/python3-jsonrpcserver_%.bbappend > @@ -0,0 +1,5 @@ > +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" > + > +SRC_URI = "\ > + > file://0001-Use-importlib.resources-instead-of-pkg_resources.patch \ > +" > -- > 2.34.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#98082): > https://lists.openembedded.org/g/openembedded-devel/message/98082 > Mute This Topic: https://lists.openembedded.org/mt/92769960/5052612 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ > quaresma.jose@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
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 0000000..2d1a8c9 --- /dev/null +++ b/recipes-devtools/python/python3-jsonrpcserver/0001-Use-importlib.resources-instead-of-pkg_resources.patch @@ -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 + diff --git a/recipes-devtools/python/python3-jsonrpcserver_%.bbappend b/recipes-devtools/python/python3-jsonrpcserver_%.bbappend new file mode 100644 index 0000000..23cdf07 --- /dev/null +++ b/recipes-devtools/python/python3-jsonrpcserver_%.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI = "\ + file://0001-Use-importlib.resources-instead-of-pkg_resources.patch \ +"