(Scroll down for Backup/Restore Configurations Script.)

One-Click Install/Update for:
• JS8Call
• JS8Spotter
• SitRepMapper
• FLDIGI
• FLRIG
• FLMSG
• FLAMP

The SitRepNet Install Script downloads the current release of each program from its official source (w1hkj.org for FLDIGI/FLRIG/FLMSG/FLAMP, js8call.com for JS8Call, and sitrepnet.com for JS8Spotter/SitRepMapper) and installs it — so you always end up with the current version rather than whatever (possibly older) version your Linux distro’s app store happens to carry.

The four w1hkj.org programs are compiled from source specifically for your machine. JS8Call installs as a prebuilt AppImage. JS8Spotter and SitRepMapper are Python programs — SitRepMapper gets its own private Python environment so it can’t conflict with anything else on your system.

Every time you run the script, it first checks what you have installed against what’s currently available, and only installs what’s missing or out of date.

This script will work with any Debian-based Linux system: Debian, Ubuntu, Linux Mint, Pop!_OS, or Raspberry Pi OS (32-bit or 64-bit).

The script will:
1. Detect your OS/architecture.
2. Report currently installed vs. latest available versions for every program.
3. Ask which programs (if any) to skip — press Enter to install everything.
4. Install dependencies via ‘apt’.
5. Download and install whatever was selected and is missing or out of date.
6. Create desktop launcher icons (optional).

 

Download the Install Script
Download the Instructions text file
Download the ReadMe text file

This script was written using Claude Code AI.

What does the script actually do?

The four w1hkj.org programs (FLDIGI, FLRIG, FLMSG, FLAMP) are compiled from source, not just downloaded — the script does considerably more than fetch a tarball:

1. Version discovery (install-sitrepnet-suite.sh:359-366)
It scrapes the directory listing at https://www.w1hkj.org/files// with curl, regex-matches filenames like fldigi-4.1.30.tar.gz, sorts with sort -V (version-aware sort), and takes the highest — there’s no version API, just parsing an autoindex page.

2. Download (build_and_install(), line 443-454)
wget -N pulls https://www.w1hkj.org/files//-.tar.gz into BUILD_DIR. -N means it skips re-downloading if a local copy with the same timestamp already exists.

3. Extract (line 456-460)
Plain tar xzf, then verifies the expected – directory actually appeared (w1hkj tarballs aren’t always well-behaved, so this is a real check, not decoration).

4. Source patching (line 467, apply_known_source_fixes)
Before configuring, the script applies known fixes to the extracted source — per my memory of this project, this currently patches a genuine upstream FLMSG 4.0.24 bug (a missing #include ) in-place before build.

5. Build (line 469-487)
Standard autotools flow: ./configure with arch-specific flags from configure_flags(), make -j (job count picked based on the machine, notably scaled down for Raspberry Pi memory constraints), then sudo make install.

6. Cleanup (line 489)
Deletes the tarball after a successful install; the extracted source tree is left in BUILD_DIR.

Notably, the script does not create .desktop entries for these four itself — each program’s own make install handles that (installing into /usr/local/share/applications/), which is why create_desktop_entry() is only called for the other programs (JS8Call, JS8Spotter, SitRepMapper).

So: scrape for latest version → download tarball → extract → patch known source bugs → configure/make/make install → cleanup. Not a simple download-and-run.

 


Backup/Restore Configurations Script

Backs up and restores settings/preferences for: FLDIGI, FLRIG, FLMSG, FLAMP, JS8Call so they don’t have to be reconfigured by hand after a fresh install or a move to a new machine/OS image. This is a sibling project to
install-sitrepnet-suite.sh, which installs these same programs (plus JS8Spotter and SitRepMapper, which are out of scope here). See the README and the INSTRUCTIONS files (below) for more information.

Download the Config Backup/Restore Script
Download the Instructions text file
Download the ReadMe text file