From a5ac23ea63b8f0a74233f0144c323da8d2227f39 Mon Sep 17 00:00:00 2001 From: Larry Joy Date: Thu, 13 Mar 2025 17:01:09 -0700 Subject: [PATCH 1/4] Fix package installation issue by including subpackages --- setup.py | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/setup.py b/setup.py index bc1e583..9d72e63 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,5 @@ import re - -from glob import glob -from setuptools import setup +from setuptools import setup, find_packages def readme(): with open('README.md') as f: @@ -31,15 +29,9 @@ def readme(): url='https://github.com/peppelinux/pyMDL-MDOC', author='Giuseppe De Marco', author_email='demarcog83@gmail.com', - license='License :: OSI Approved :: Apache Software License', - # scripts=[f'{_pkg_name}/bin/{_pkg_name}'], - packages=[f"{_pkg_name}"], - package_dir={f"{_pkg_name}": f"{_pkg_name}"}, - package_data={f"{_pkg_name}": [ - i.replace(f'{_pkg_name}/', '') - for i in glob(f'{_pkg_name}/**', recursive=True) - ] - }, + license='Apache Software License', + packages=find_packages(include=["pymdoccbor", "pymdoccbor.*"]), # ✅ Detect all subpackages + include_package_data=True, # ✅ Include data files install_requires=[ 'cbor2>=5.4.0,<5.5.0', 'cwt>=2.3.0,<2.4', From 8dc0e42364d5638b88ab8a416683b39cde327e02 Mon Sep 17 00:00:00 2001 From: Larry Joy Date: Thu, 13 Mar 2025 17:06:40 -0700 Subject: [PATCH 2/4] Add missing __init__.py to mdoc --- pymdoccbor/mdoc/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pymdoccbor/mdoc/__init__.py diff --git a/pymdoccbor/mdoc/__init__.py b/pymdoccbor/mdoc/__init__.py new file mode 100644 index 0000000..e69de29 From a9d773449b7f6588217642a0ea429c0ef3cf33be Mon Sep 17 00:00:00 2001 From: Larry Joy Date: Thu, 13 Mar 2025 17:17:09 -0700 Subject: [PATCH 3/4] fix depricated utcnow; --- pymdoccbor/mso/issuer.py | 2 +- pymdoccbor/settings.py | 4 ++-- setup.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pymdoccbor/mso/issuer.py b/pymdoccbor/mso/issuer.py index 94afe2e..f4b90d6 100644 --- a/pymdoccbor/mso/issuer.py +++ b/pymdoccbor/mso/issuer.py @@ -137,7 +137,7 @@ def sign( :return: the signed mso :rtype: Sign1Message """ - utcnow = datetime.datetime.utcnow() + utcnow = datetime.datetime.now(datetime.UTC) if settings.PYMDOC_EXP_DELTA_HOURS: exp = utcnow + datetime.timedelta( hours=settings.PYMDOC_EXP_DELTA_HOURS diff --git a/pymdoccbor/settings.py b/pymdoccbor/settings.py index 8ba2777..59ecc84 100644 --- a/pymdoccbor/settings.py +++ b/pymdoccbor/settings.py @@ -34,11 +34,11 @@ X509_ORGANIZATION_NAME = os.getenv('X509_ORGANIZATION_NAME', u"My Company") X509_COMMON_NAME = os.getenv('X509_COMMON_NAME', u"mysite.com") -X509_NOT_VALID_BEFORE = os.getenv('X509_NOT_VALID_BEFORE', datetime.datetime.utcnow()) +X509_NOT_VALID_BEFORE = os.getenv('X509_NOT_VALID_BEFORE', datetime.datetime.now(datetime.UTC)) X509_NOT_VALID_AFTER_DAYS = os.getenv('X509_NOT_VALID_AFTER_DAYS', 10) X509_NOT_VALID_AFTER = os.getenv( 'X509_NOT_VALID_AFTER', - datetime.datetime.utcnow() + datetime.timedelta( + datetime.datetime.now(datetime.UTC) + datetime.timedelta( days=X509_NOT_VALID_AFTER_DAYS ) ) diff --git a/setup.py b/setup.py index 9d72e63..6bf1045 100644 --- a/setup.py +++ b/setup.py @@ -30,8 +30,8 @@ def readme(): author='Giuseppe De Marco', author_email='demarcog83@gmail.com', license='Apache Software License', - packages=find_packages(include=["pymdoccbor", "pymdoccbor.*"]), # ✅ Detect all subpackages - include_package_data=True, # ✅ Include data files + packages=find_packages(include=["pymdoccbor", "pymdoccbor.*"]), + include_package_data=True, install_requires=[ 'cbor2>=5.4.0,<5.5.0', 'cwt>=2.3.0,<2.4', From 486cc28fcba3515230599ff21efbd933d87c70f4 Mon Sep 17 00:00:00 2001 From: Larry Joy Date: Mon, 17 Mar 2025 12:21:32 -0700 Subject: [PATCH 4/4] switch to timezone.utc for compatibility; --- pymdoccbor/mso/issuer.py | 4 +++- pymdoccbor/settings.py | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pymdoccbor/mso/issuer.py b/pymdoccbor/mso/issuer.py index f4b90d6..0ff6e51 100644 --- a/pymdoccbor/mso/issuer.py +++ b/pymdoccbor/mso/issuer.py @@ -4,6 +4,8 @@ import secrets import uuid +from datetime import timezone + from pycose.headers import Algorithm, KID from pycose.keys import CoseKey, EC2Key from pycose.messages import Sign1Message @@ -137,7 +139,7 @@ def sign( :return: the signed mso :rtype: Sign1Message """ - utcnow = datetime.datetime.now(datetime.UTC) + utcnow = datetime.datetime.now(timezone.utc) if settings.PYMDOC_EXP_DELTA_HOURS: exp = utcnow + datetime.timedelta( hours=settings.PYMDOC_EXP_DELTA_HOURS diff --git a/pymdoccbor/settings.py b/pymdoccbor/settings.py index 59ecc84..bba7433 100644 --- a/pymdoccbor/settings.py +++ b/pymdoccbor/settings.py @@ -1,6 +1,8 @@ import datetime import os +from datetime import timezone + COSEKEY_HAZMAT_CRV_MAP = { "secp256r1": "P_256", "secp384r1": "P_384", @@ -34,11 +36,11 @@ X509_ORGANIZATION_NAME = os.getenv('X509_ORGANIZATION_NAME', u"My Company") X509_COMMON_NAME = os.getenv('X509_COMMON_NAME', u"mysite.com") -X509_NOT_VALID_BEFORE = os.getenv('X509_NOT_VALID_BEFORE', datetime.datetime.now(datetime.UTC)) +X509_NOT_VALID_BEFORE = os.getenv('X509_NOT_VALID_BEFORE', datetime.datetime.now(timezone.utc)) X509_NOT_VALID_AFTER_DAYS = os.getenv('X509_NOT_VALID_AFTER_DAYS', 10) X509_NOT_VALID_AFTER = os.getenv( 'X509_NOT_VALID_AFTER', - datetime.datetime.now(datetime.UTC) + datetime.timedelta( + datetime.datetime.now(timezone.utc) + datetime.timedelta( days=X509_NOT_VALID_AFTER_DAYS ) )