Commit 328c749
Depend on python3-aprslib; stop masking the import failure
aprscot 8.2.0-1 cannot start at all as packaged. On a fresh AryaOS box:
AttributeError: module 'aprscot' has no attribute 'KISSWorker'
at functions.py:49 in create_tasks
The real cause is two problems stacked.
MISSING DEPENDENCY. classes.py imports aprslib.parsing, and setup.cfg
correctly lists aprslib in install_requires, but the generated deb
Depends on only "pytak, python3-aiohttp" -- stdeb did not translate
aprslib into python3-aprslib. python3-aprslib IS in Debian (0.7.2-2), so
the fix is just to name it in stdeb.cfg.
MASKED FAILURE. __init__.py wrapped every import in
except ImportError as exc:
warnings.warn(f"COMPAT: CI. Ignoring Exception {str(exc)}")
a leftover py3.6 CI shim. It swallowed "No module named 'aprslib'", left
the module loaded but exporting nothing, and turned a clear import error
into an AttributeError thrown much later and much further away. Every
path was affected -- KISS, the APRS-IS internet feed, and SensorWorker --
so no configuration of aprscot could have worked.
Constants import unconditionally (no third-party deps), and the class and
function imports are now allowed to raise. A missing dependency should
stop the process at import with the name of what is missing.
Verified: with aprslib present all three workers and create_tasks are
exported; with aprslib hidden the import now fails loudly with "No module
named 'aprslib'" instead of silently degrading.
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0197da7dhvcPoHxYKamrYqyM1 parent e4ef6bd commit 328c749
2 files changed
Lines changed: 22 additions & 26 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 45 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
0 commit comments