feat(distro): add support for Mandriva-based distributions and Devuan

- Extend Debian family to include Devuan and derivatives in README.md
- Add Mandriva family (OpenMandriva, Mageia, etc.) with specific packages, check, and install functions
- Update distro detection to recognize 'devuan' and 'openmandriva'
- Add OpenMandriva 6 to tested distributions in README.md
This commit is contained in:
Greg Gauthier 2026-05-02 15:12:52 +01:00
parent 230d46276d
commit 30407496ef
2 changed files with 18 additions and 7 deletions

View File

@ -20,12 +20,14 @@ The official SDRPlay installer only supports Debian and Ubuntu. This script exte
## Supported distributions
| Family | Distros |
|---|---|
| Debian | Debian, Ubuntu, and derivatives |
| Arch | Arch, Manjaro, EndeavourOS, Garuda, Artix |
| Fedora | Fedora, RHEL, CentOS, Rocky, Alma, Nobara |
| openSUSE | openSUSE (Leap/Tumbleweed), SLES |
| Family | Distros |
|----------|--------------------------------------------|
| Debian | Debian, Ubuntu, Devuan, and derivatives |
| Arch | Arch, Manjaro, EndeavourOS, Garuda, Artix |
| Fedora | Fedora, RHEL, CentOS, Rocky, Alma, Nobara |
| openSUSE | openSUSE (Leap/Tumbleweed), SLES |
| Mandriva | OpenMandriva, Mageia, and derivatives |
Other derivatives are detected automatically via the `ID_LIKE` field in `/etc/os-release`.
@ -34,6 +36,7 @@ Other derivatives are detected automatically via the `ID_LIKE` field in `/etc/os
- Tuxedo OS
- Manjaro
- Fedora
- OpenMandriva 6
## Usage

View File

@ -222,13 +222,21 @@ opensuse_install(){
run_root zypper install -y "$@"
}
mandriva_packages(){ echo "curl tar ca-certificates gzip lib64usb1.0_0 lib64usb1.0-devel alsa-lib lib64uuid1 libsystemd lame lib64lame0 hamlib lame-devel hamlib-devel"; }
mandriva_check(){ rpm -q "$1" >/dev/null 2>&1; }
mandriva_install(){
ensure_sudo
run_root dnf install -y "$@"
}
detect_distro_family(){
. /etc/os-release
case "$ID" in
debian|ubuntu) DISTRO_FAMILY="debian" ;;
debian|ubuntu|devuan) DISTRO_FAMILY="debian" ;;
arch|manjaro|endeavouros|garuda|artix) DISTRO_FAMILY="arch" ;;
fedora|rhel|centos|rocky|alma|nobara) DISTRO_FAMILY="fedora" ;;
opensuse*|sles) DISTRO_FAMILY="opensuse";;
openmandriva) DISTRO_FAMILY="mandriva";;
*)
# Fall back to ID_LIKE
case "${ID_LIKE:-}" in