docs(readme): update installation steps and add dynamic version lookup

- Add new step for resolving SDRconnect and RigControl build hashes from upstream install.sh, with fallback to defaults
- Increment step numbering and adjust descriptions
- Document new env vars: SDRCONNECT_GITBUILD, RIGCONTROL_GITBUILD for pinning hashes
- Expand DONOTDOWNLOAD=1 description to note it skips version lookup
- Explain default hash fetching behavior
This commit is contained in:
Greg Gauthier 2026-05-01 20:43:07 +01:00
parent b430c23506
commit b3d8f40ac8

View File

@ -8,14 +8,15 @@ The official SDRPlay installer only supports Debian and Ubuntu. This script exte
1. Detects your Linux distribution and maps dependencies to the correct package names 1. Detects your Linux distribution and maps dependencies to the correct package names
2. Installs required system libraries (libusb, ALSA, hamlib, etc.) via your native package manager 2. Installs required system libraries (libusb, ALSA, hamlib, etc.) via your native package manager
3. Downloads the SDRconnect and RigControl binaries from SDRPlay's servers 3. Resolves the current SDRconnect and RigControl build hashes by parsing SDRPlay's official `install.sh`, falling back to built-in defaults if the upstream lookup fails
4. Verifies download integrity via SHA256 checksums 4. Downloads the SDRconnect and RigControl binaries from SDRPlay's servers
5. Installs both applications to `/opt/sdrconnect` and `/opt/rigcontrol` 5. Verifies download integrity via SHA256 checksums
6. Configures udev rules for SDRPlay USB hardware 6. Installs both applications to `/opt/sdrconnect` and `/opt/rigcontrol`
7. Creates desktop entries and icons (freedesktop.org standard) 7. Configures udev rules for SDRPlay USB hardware
8. Sets up a PATH profile script so the tools are available from the terminal 8. Creates desktop entries and icons (freedesktop.org standard)
9. Optionally configures a systemd service for SDRconnect server mode 9. Sets up a PATH profile script so the tools are available from the terminal
10. Generates an uninstaller at `/opt/sdrconnect/sdrconnect-uninstall.sh` 10. Optionally configures a systemd service for SDRconnect server mode
11. Generates an uninstaller at `/opt/sdrconnect/sdrconnect-uninstall.sh`
## Supported distributions ## Supported distributions
@ -47,9 +48,13 @@ The script will present the SDRPlay license agreement and prompt for acceptance
- `--dry-run` — Print what would be done without making changes - `--dry-run` — Print what would be done without making changes
- `ACCEPTLICENSE=1` — Skip the interactive license prompt - `ACCEPTLICENSE=1` — Skip the interactive license prompt
- `DONOTDOWNLOAD=1` — Use local tarballs instead of downloading (place them in the current directory) - `DONOTDOWNLOAD=1` — Use local tarballs instead of downloading (place them in the current directory). Also skips the upstream version lookup; pin filenames with the override variables below
- `NOTSUPPORTED=1` — Skip dependency checks entirely (install them yourself) - `NOTSUPPORTED=1` — Skip dependency checks entirely (install them yourself)
- `SYSTEMD_MODE=install SYSTEMD_TARGET=sdrconnectserver` — Enable the server systemd service - `SYSTEMD_MODE=install SYSTEMD_TARGET=sdrconnectserver` — Enable the server systemd service
- `SDRCONNECT_GITBUILD=<hash>` — Pin the SDRconnect build hash, bypassing the upstream lookup
- `RIGCONTROL_GITBUILD=<hash>` — Pin the RigControl build hash, bypassing the upstream lookup
By default the installer fetches the current build hashes from SDRPlay's official `install.sh` at runtime, so it tracks new releases without needing edits. If that fetch fails, it falls back to a pair of built-in hashes baked into the script.
### Adding support for a new distro family ### Adding support for a new distro family