Skip to content

EmComm Field Node Provisioner v1.0.5

Latest

Choose a tag to compare

@stevejun1986 stevejun1986 released this 29 Sep 19:19
5a275c3

EmComm Field Node Provisioner v1.0.5

The first public release. The provisioner does exactly what v1.0.4 did: same
steps, same checks, same files written. What changed is everything around it. The
repository is now written for someone arriving without context, and two helper
scripts are licensed so they can be reused on their own.

Licensing

The provisioner is licensed under GPL-3.0-or-later (LICENSE). Two standalone helper
scripts — scripts/fetch_map_tiles.py and scripts/diagnose_qmapshack_maps.py — are
licensed under the MIT License (LICENSE-MIT), so they can be reused in tools that cannot
take on GPL-3.0. Organizations whose policy does not permit GPL-3.0 software can request
separate terms: see "Alternative licensing" in README.md.

File v1.0.4 v1.0.5
deploy_emcomm_node_gui.py GPL-3.0-or-later GPL-3.0-or-later
scripts/fetch_map_tiles.py GPL-3.0-or-later MIT
scripts/diagnose_qmapshack_maps.py GPL-3.0-or-later MIT
  • LICENSE is unchanged.
  • Both license files are in the tarball.
  • Each MIT script carries the full permission text in its own header.

Neither license is a license to transmit.

A README for someone arriving cold

  • New order: what a node does, the quick start, and where the documentation is come first. Platform and detail follow.
  • Dock trigger: now scoped to the step it belongs to, with every caveat intact.
  • Checklist link: the Pre-Deployment Config Checklist is linked from the README. It wasn't before.
  • Fix: an empty table in scripts/Packages/README.md that rendered as a blank box now shows its contents.

American English throughout

Prose, comments, docstrings and on-screen text now use US spelling. Not synchronised
is left as written wherever it quotes chronyc tracking, because that is what the
program prints.

A v1.0.5 run log reads slightly differently from a v1.0.4 one ("canceled", "centered").
The steps and their results are the same.

For contributors

The repository gains CONTRIBUTING.md, SECURITY.md and two issue forms, one for a
failed run and one for a field report.

  • Run logs: the forms ask for the run log and, in the same place, ask you to scrub it first: callsign, grid square, device serial numbers, home paths.
  • Security: SECURITY.md treats anything that could key a transmitter unintentionally as a security issue.

None of these files is in the tarball. They're for working on the repository, not for
running a node.

Upgrading from v1.0.4

Nothing needs to be re-run. No step, check or configuration format changed, so a node
provisioned with v1.0.4 is already what v1.0.5 would produce. Replace your copy to pick
up the documentation and licensing. The version on the summary screen and in the run log
becomes 1.0.5.

Verifying this download

1f581c6d8e35cc8107ec9d5bd55c1b43e098a4434bc550d9149bd959081a3fc7  emcomm-field-node-1.0.5.tar.gz

Download the tarball, its .sig and SHA256SUMS, then follow "Verifying a release
download" in README.md:

sha256sum -c SHA256SUMS
ssh-keygen -Y verify -f allowed_signers -I release@emcomm-field-node \
    -n file -s emcomm-field-node-1.0.5.tar.gz.sig \
    < emcomm-field-node-1.0.5.tar.gz

Both should pass; the second prints Good "file" signature. If either fails, do not
run the provisioner
— report it on the issue tracker.

The tarball is a git archive of tag v1.0.5, so its contents can be compared against
the tag directly.

Not verified

  • No radio has been keyed, by this release or any other. The audio and PTT
    bindings are declared, substituted and path-checked. Nothing in this project has put
    a signal on the air.
  • Dock-triggered autostart has never fired on any hardware. It installs and
    verifies, and ships documented as a future feature.
  • Verification checks the filesystem, not radio frequency. No automated check
    covers anything requiring a transmitter or an antenna.

Before you deploy a node

configs/ and docs/ ship empty by design. Supply your own profiles and document
set, and read the placeholder contract in configs/README.md first. Then work through the
Pre-Deployment Config Checklist. Sections 3 and 4 cover the audio device and PTT keying,
including why the radio stays disconnected until the node is configured.

Issues and field reports welcome. GPL-3.0-or-later, with two helper scripts under MIT.