blob: 254cab21744a33f874d55001f33dcd44588bfea7 [file]
From bbb5d1cd7dc1aef140c7d9f5c26d4067d5a013ff Mon Sep 17 00:00:00 2001
From: Patrick Williams <patrick@stwcx.xyz>
Date: Thu, 26 Mar 2026 14:13:19 -0400
Subject: [PATCH] python: use importlib if available
pkg_resources is deprecated for newer versions of Python and importlib
has been available since 3.7. Use importlib instead when available.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Upstream-Status: Submitted [https://github.com/AspeedTech-BMC/socsec/pull/21]
---
requirements.txt | 1 +
setup.py | 4 ++++
socsec/__init__.py | 12 +++++++++++-
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index b3110f7b..c67461a6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,3 +6,4 @@ coverage==5.3.1
ecdsa==0.18.0
xlrd==1.2.0
cryptography==44.0.2
+importlib-resources; python_version < "3.9"
diff --git a/setup.py b/setup.py
index 611a486c..3c882800 100644
--- a/setup.py
+++ b/setup.py
@@ -1,3 +1,7 @@
+try:
+ from importlib import resources as importlib_resources
+except ImportError:
+ import importlib_resources
from socsec import __version__
import setuptools
diff --git a/socsec/__init__.py b/socsec/__init__.py
index 8a1b1cc9..5da77ecb 100644
--- a/socsec/__init__.py
+++ b/socsec/__init__.py
@@ -21,7 +21,17 @@
from bitarray import bitarray
import os
from ecdsa.keys import VerifyingKey
-from pkg_resources import resource_filename as pkgdata
+try:
+ from importlib import resources as importlib_resources
+except ImportError:
+ import importlib_resources
+
+def pkgdata(package, resource):
+ try:
+ return str(importlib_resources.files(package).joinpath(resource))
+ except AttributeError:
+ with importlib_resources.path(package, resource) as p:
+ return str(p)
import struct
from Crypto.PublicKey import RSA
import binascii
--
2.52.0