From: Jiaxun Yang <jiaxun.yang@flygoat.com>
To: u-boot@lists.denx.de
Cc: Simon Glass <sjg@chromium.org>,
Alper Nebi Yasak <alpernebiyasak@gmail.com>,
Tom Rini <trini@konsulko.com>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Aaron Williams <awilliams@marvell.com>,
Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: [PATCH 02/20] binman: Replace pkg_resources with importlib.resources
Date: Tue, 11 Jun 2024 22:04:01 +0100 [thread overview]
Message-ID: <20240611-docker-image-v1-2-51472eb70357@flygoat.com> (raw)
In-Reply-To: <20240611-docker-image-v1-0-51472eb70357@flygoat.com>
pkg_resources is deprecated long ago and being removed in python 3.12.
Reimplement functions with importlib.resources.
Link: https://docs.python.org/3/library/importlib.resources.html
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
tools/binman/control.py | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/tools/binman/control.py b/tools/binman/control.py
index 2f00279232b8..5549b0ad2185 100644
--- a/tools/binman/control.py
+++ b/tools/binman/control.py
@@ -8,12 +8,11 @@
from collections import OrderedDict
import glob
try:
- import importlib.resources
-except ImportError: # pragma: no cover
+ from importlib import resources
+except ImportError:
# for Python 3.6
- import importlib_resources
+ import importlib_resources as resources
import os
-import pkg_resources
import re
import sys
@@ -96,12 +95,12 @@ def _ReadMissingBlobHelp():
msg = ''
return tag, msg
- my_data = pkg_resources.resource_string(__name__, 'missing-blob-help')
+ my_data = resources.files(__package__).joinpath('missing-blob-help').read_text()
re_tag = re.compile('^([-a-z0-9]+):$')
result = {}
tag = None
msg = ''
- for line in my_data.decode('utf-8').splitlines():
+ for line in my_data.splitlines():
if not line.startswith('#'):
m_tag = re_tag.match(line)
if m_tag:
@@ -151,8 +150,9 @@ def GetEntryModules(include_testing=True):
Returns:
Set of paths to entry class filenames
"""
- glob_list = pkg_resources.resource_listdir(__name__, 'etype')
- glob_list = [fname for fname in glob_list if fname.endswith('.py')]
+ directory = resources.files("binman.etype")
+ glob_list = [entry.name for entry in directory.iterdir()
+ if entry.name.endswith('.py')]
return set([os.path.splitext(os.path.basename(item))[0]
for item in glob_list
if include_testing or '_testing' not in item])
@@ -735,7 +735,7 @@ def Binman(args):
global state
if args.full_help:
- with importlib.resources.path('binman', 'README.rst') as readme:
+ with resources.path('binman', 'README.rst') as readme:
tools.print_full_help(str(readme))
return 0
--
2.43.0
next prev parent reply other threads:[~2024-06-11 21:04 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-11 21:03 [PATCH 00/20] New CI image and fixes Jiaxun Yang
2024-06-11 21:04 ` [PATCH 01/20] py: Replace deprecated unittest APIs Jiaxun Yang
2024-06-11 21:04 ` Jiaxun Yang [this message]
2024-06-11 21:04 ` [PATCH 03/20] py: Replace distutils.core with setuptools Jiaxun Yang
2024-06-11 21:04 ` [PATCH 04/20] py: Replace usage of configparser.read_fp Jiaxun Yang
2024-06-11 21:04 ` [PATCH 05/20] doc/sphinx: Remove usage of six Jiaxun Yang
2024-06-11 21:04 ` [PATCH 06/20] py: Remove unused entries in requirements.txt Jiaxun Yang
2024-06-11 21:04 ` [PATCH 07/20] py: Bump requirements versions Jiaxun Yang
2024-06-11 21:04 ` [PATCH 08/20] py: Bump pylint version and clear warnings Jiaxun Yang
2024-06-11 21:04 ` [PATCH 09/20] binman: Workaround lz4 cli padding in test cases Jiaxun Yang
2024-06-11 21:04 ` [PATCH 10/20] tests/test_event_dump: Relax match rule for output Jiaxun Yang
2024-06-11 21:04 ` [PATCH 11/20] lib/charset & efi: Fix possible unaligned accesses Jiaxun Yang
2024-06-11 21:04 ` [PATCH 12/20] cyclic: Rise default CYCLIC_MAX_CPU_TIME_US to 5000 Jiaxun Yang
2024-06-12 16:00 ` Tom Rini
2024-06-12 16:13 ` Jiaxun Yang
2024-06-12 16:50 ` Tom Rini
2024-06-14 14:13 ` Stefan Roese
2024-06-17 23:29 ` Tom Rini
2024-06-18 14:00 ` Jiaxun Yang
2024-06-18 14:24 ` Stefan Roese
2024-06-18 14:31 ` Tom Rini
2024-06-18 21:03 ` Tim Harvey
2024-06-19 8:21 ` Rasmus Villemoes
2024-06-19 15:20 ` Tom Rini
2024-06-18 14:01 ` Stefan Roese
2024-06-11 21:04 ` [PATCH 13/20] CI: Ensure pip install is always performed in venv Jiaxun Yang
2024-06-12 16:00 ` Tom Rini
2024-06-11 21:04 ` [PATCH 14/20] CI: GitLab: Split build_world tasks Jiaxun Yang
2024-06-12 16:01 ` Tom Rini
2024-06-12 16:14 ` Jiaxun Yang
2024-06-12 17:07 ` Tom Rini
2024-06-12 20:24 ` Simon Glass
2024-06-13 15:32 ` Tom Rini
2024-06-11 21:04 ` [PATCH 15/20] CI: Dockerfile: Set global git name & email config Jiaxun Yang
2024-06-11 21:04 ` [PATCH 16/20] CI: Dockerfile: Bump various software version Jiaxun Yang
2024-06-12 16:02 ` Tom Rini
2024-06-12 16:19 ` Jiaxun Yang
2024-06-11 21:04 ` [PATCH 17/20] CI: Dockerfile: Add LoongArch64 support Jiaxun Yang
2024-06-11 21:04 ` [PATCH 18/20] doc: ci: Document how to run pipeline on gitlab.com Jiaxun Yang
2024-06-11 21:04 ` [PATCH NFC 19/20] Use Jiaxun's CI Image Jiaxun Yang
2024-06-11 21:04 ` [PATCH NFC 20/20] CI: Dockerfile: Replace some URL with mirror sites Jiaxun Yang
2024-06-12 16:00 ` [PATCH 00/20] New CI image and fixes Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240611-docker-image-v1-2-51472eb70357@flygoat.com \
--to=jiaxun.yang@flygoat.com \
--cc=alpernebiyasak@gmail.com \
--cc=awilliams@marvell.com \
--cc=ilias.apalodimas@linaro.org \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.