From: openbsd@systemfailure.net Subject: Re: [UPDATE] net/{py-rns,py-lxmf,nomadnet} to 0.9.3, 0.6.3, 0.6.1 To: Aaron Bieber ,ports@openbsd.org Date: Sun, 16 Mar 2025 21:23:40 +0000 On 2025/03/14 14:13, Aaron Bieber wrote: > Hi, > > Here are updates to the Reticulum stack. Nomadnet runs fine for me. > > I'll probably commit this today or tomorrow if I no one objects. > > Cheers, > Aaron Hi, thanks for updating these ports. py-rns-0.9.3 works fine, as far as I tested, but 'make test' fails: see the attached log file. Moreover, it would be very useful to include a README for people wanting to use rnodeconf, since its usage on OpenBSD is not documented anywhere. Patch attached. Best regards. ============================= test session starts ============================== platform openbsd7 -- Python 3.12.9, pytest-8.3.5, pluggy-1.5.0 -- /usr/local/bin/python3.12 cachedir: .pytest_cache rootdir: /usr/ports/pobj/py-rns-0.9.3/rns-0.9.3 collecting ... collected 0 items / 1 error ==================================== ERRORS ==================================== ________________________ ERROR collecting tests/all.py _________________________ ImportError while importing test module '/usr/ports/pobj/py-rns-0.9.3/rns-0.9.3/tests/all.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/local/lib/python3.12/site-packages/pyximport/_pyximport3.py:318: in create_module so_path = build_module(spec.name, pyxfilename=spec.origin, pyxbuild_dir=self._pyxbuild_dir, /usr/local/lib/python3.12/site-packages/pyximport/_pyximport3.py:197: in build_module so_path = pyxbuild.pyx_to_dll(pyxfilename, extension_mod, /usr/local/lib/python3.12/site-packages/pyximport/pyxbuild.py:103: in pyx_to_dll dist.run_commands() /usr/local/lib/python3.12/site-packages/setuptools/_distutils/dist.py:954: in run_commands self.run_command(cmd) /usr/local/lib/python3.12/site-packages/setuptools/dist.py:995: in run_command super().run_command(command) /usr/local/lib/python3.12/site-packages/setuptools/_distutils/dist.py:973: in run_command cmd_obj.run() /usr/local/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:359: in run self.build_extensions() /usr/local/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:476: in build_extensions self._build_extensions_serial() /usr/local/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:502: in _build_extensions_serial self.build_extension(ext) /usr/local/lib/python3.12/site-packages/Cython/Distutils/build_ext.py:130: in build_extension new_ext = cythonize( /usr/local/lib/python3.12/site-packages/Cython/Build/Dependencies.py:1072: in cythonize safe_makedirs_once(dir) Cython/Utils.py:90: in Cython.Utils.cached_function.wrapper ??? Cython/Utils.py:220: in Cython.Utils.safe_makedirs ??? Cython/Utils.py:217: in Cython.Utils.safe_makedirs ??? :215: in makedirs ??? :215: in makedirs ??? :215: in makedirs ??? :215: in makedirs ??? :215: in makedirs ??? :215: in makedirs ??? :215: in makedirs ??? :215: in makedirs ??? :225: in makedirs ??? E PermissionError: [Errno 13] Permission denied: '/py-rns-0.9.3_writes_to_HOME' During handling of the above exception, another exception occurred: /usr/local/lib/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/__init__.py:25: in import RNS; compiling = False /usr/local/lib/python3.12/site-packages/pyximport/_pyximport3.py:336: in create_module raise exc.with_traceback(tb) /usr/local/lib/python3.12/site-packages/pyximport/_pyximport3.py:318: in create_module so_path = build_module(spec.name, pyxfilename=spec.origin, pyxbuild_dir=self._pyxbuild_dir, /usr/local/lib/python3.12/site-packages/pyximport/_pyximport3.py:197: in build_module so_path = pyxbuild.pyx_to_dll(pyxfilename, extension_mod, /usr/local/lib/python3.12/site-packages/pyximport/pyxbuild.py:103: in pyx_to_dll dist.run_commands() /usr/local/lib/python3.12/site-packages/setuptools/_distutils/dist.py:954: in run_commands self.run_command(cmd) /usr/local/lib/python3.12/site-packages/setuptools/dist.py:995: in run_command super().run_command(command) /usr/local/lib/python3.12/site-packages/setuptools/_distutils/dist.py:973: in run_command cmd_obj.run() /usr/local/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:359: in run self.build_extensions() /usr/local/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:476: in build_extensions self._build_extensions_serial() /usr/local/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py:502: in _build_extensions_serial self.build_extension(ext) /usr/local/lib/python3.12/site-packages/Cython/Distutils/build_ext.py:130: in build_extension new_ext = cythonize( /usr/local/lib/python3.12/site-packages/Cython/Build/Dependencies.py:1072: in cythonize safe_makedirs_once(dir) Cython/Utils.py:90: in Cython.Utils.cached_function.wrapper ??? Cython/Utils.py:220: in Cython.Utils.safe_makedirs ??? Cython/Utils.py:217: in Cython.Utils.safe_makedirs ??? E ImportError: Building module RNS failed: ["PermissionError: [Errno 13] Permission denied: '/py-rns-0.9.3_writes_to_HOME'\n"] ------------------------------- Captured stdout -------------------------------- Compiling RNS object code... =========================== short test summary info ============================ ERROR tests/all.py !!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!! =============================== 1 error in 0.98s =============================== *** Error 2 in . (/usr/ports/lang/python/python.port.mk:397 'do-test': @ cd /usr/ports/pobj/py-rns-0.9.3/rns-0.9.3 && /usr/bin/env -i CC=cc ...) Index: Makefile =================================================================== RCS file: /cvs/ports/net/py-rns/Makefile,v diff -u -p -r1.2 Makefile --- Makefile 15 Mar 2025 00:40:00 -0000 1.2 +++ Makefile 16 Mar 2025 20:55:55 -0000 @@ -3,6 +3,7 @@ COMMENT = cryptography-based networking MODPY_DISTV = 0.9.3 DISTNAME= rns-${MODPY_DISTV} PKGNAME = py-${DISTNAME} +REVISION = 0 CATEGORIES = net devel Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/py-rns/pkg/PLIST,v diff -u -p -r1.2 PLIST --- pkg/PLIST 15 Mar 2025 00:40:00 -0000 1.2 +++ pkg/PLIST 16 Mar 2025 20:55:56 -0000 @@ -274,3 +274,4 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/rns-${MODPY_DISTV}.dist-info/WHEEL lib/python${MODPY_VERSION}/site-packages/rns-${MODPY_DISTV}.dist-info/entry_points.txt lib/python${MODPY_VERSION}/site-packages/rns-${MODPY_DISTV}.dist-info/top_level.txt +share/doc/pkg-readmes/${PKGSTEM} Index: pkg/README =================================================================== RCS file: pkg/README diff -N pkg/README --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/README 16 Mar 2025 20:55:56 -0000 @@ -0,0 +1,25 @@ ++----------------------------------------------------------------------- +| Running ${PKGSTEM} on OpenBSD ++----------------------------------------------------------------------- + +Connect to RNodes with rnodeconf +================================ + +The rnodeconf utility can control, configure and provision RNodes +attached as USB serial devices. + +To access an RNode over USB, the user must be in the dialer group: + + usermod -G dialer + +The corresponding virtual device will most often be /dev/cuaU0. See +cua(4) for explanations. + +For example, you could get info about your RNode by running: + + rnodeconf --info /dev/cuaU0 + +Please note that to create a new RNode with an nRF52-based device, like +the RAK4631 or LilyGO T-Echo, rnodeconf requires the python +adafruit-nrfutil package, which is not yet included in OpenBSD ports, +but can be installed from PyPI.