From 30e40ae520d9c133448541aa93d3c51d675d4a7e Mon Sep 17 00:00:00 2001 From: Neels Janosch Hofmeyr Date: Sat, 8 Feb 2025 01:59:36 +0100 Subject: [PATCH] setup.py: install esim.asn1 resources, install esim.saip These changes are necessary to successfully run ./tests/unittests/test_esim_saip.py with a pySim installed via 'pip install'. For example: virtualenv venv source venv/bin/activate git clone ssh://gerrit.osmocom.org:29418/pysim pip install pysim/ cd pysim ./tests/unittests/test_esim_saip.py Before this patch, that would result first in package pySim.esim.saip being unknown (not installed at all), and when that is added to setup.py, in this error: Traceback (most recent call last): File "/home/moi/osmo-dev/src/pysim/tests/unittests/./test_esim_saip.py", line 23, in from pySim.esim.saip import * File "/home/moi/s/esim/sysmo_esim_mgr/venv/lib/python3.13/site-packages/pySim/esim/saip/__init__.py", line 41, in asn1 = compile_asn1_subdir('saip') File "/home/moi/s/esim/sysmo_esim_mgr/venv/lib/python3.13/site-packages/pySim/esim/__init__.py", line 56, in compile_asn1_subdir for i in resources.files('pySim.esim').joinpath('asn1').joinpath(subdir_name).iterdir(): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/pathlib/_local.py", line 577, in iterdir with os.scandir(root_dir) as scandir_it: ~~~~~~~~~~^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: '/home/moi/s/esim/sysmo_esim_mgr/venv/lib/python3.13/site-packages/pySim/esim/asn1/saip' After this patch, the test completes successfully. ...... ---------------------------------------------------------------------- Ran 6 tests in 0.067s OK Related: sysmocom's eSIM manager product that is currently in development needs to fully use pySim.esim.saip, ideally from a regular 'pip install', and not from using the pySim source tree directly. Related: SYS#6768 Change-Id: I0d7d6962a308eccca589a42c22546d508ff686f5 --- setup.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index f90e07b7..c982ce09 100644 --- a/setup.py +++ b/setup.py @@ -8,6 +8,7 @@ setup( 'pySim.apdu', 'pySim.apdu_source', 'pySim.esim', + 'pySim.esim.saip', 'pySim.global_platform', 'pySim.legacy', 'pySim.transport', @@ -31,11 +32,19 @@ setup( "pycryptodomex", "packaging", "smpp.pdu @ git+https://github.com/hologram-io/smpp.pdu", + "asn1tools", ], scripts=[ 'pySim-prog.py', 'pySim-read.py', 'pySim-shell.py', 'pySim-trace.py', - ] + ], + package_data={ + 'pySim.esim': + [ + 'asn1/rsp/*.asn', + 'asn1/saip/*.asn', + ], + }, )