diff --git a/auto_install/install.sh b/auto_install/install.sh index 4e74ebb..49a0a0f 100755 --- a/auto_install/install.sh +++ b/auto_install/install.sh @@ -656,45 +656,30 @@ preconfigurePackages() { fi fi - if - # If the module is builtin and the package available, we only need - # to install wireguard-tools. - [[ "${WIREGUARD_BUILTIN}" -eq 1 && -n "${AVAILABLE_WIREGUARD}" ]] \ - || - - # If the package is not available, on Debian and Raspbian we can - # add it via Bullseye repository. - [[ "${WIREGUARD_BUILTIN}" -eq 1 && ("${PLAT}" == 'Debian' || "${PLAT}" == 'Raspbian') ]] \ - || - - # If the module is not builtin, on Raspbian we know the headers - # package: raspberrypi-kernel-headers - [[ "${PLAT}" == 'Raspbian' ]] \ - || - - # On Alpine, the kernel must be linux-lts or linux-virt if we want to - # load the kernel module - [[ "${PLAT}" == 'Alpine' && ! -f /.dockerenv && "$(uname -mrs)" =~ ^Linux\ +[0-9\.\-]+\-((lts)|(virt))\ +.*$ ]] \ - || - - # On Alpine Docker Container, the responsibility to have a WireGuard - # module on the host system is at user side - [[ "${PLAT}" == 'Alpine' && -f /.dockerenv ]] \ - || - - # On Debian (and Ubuntu), we can only reliably assume the headers package - # for amd64: linux-image-amd64 - [[ "${PLAT}" == 'Debian' && "${DPKG_ARCH}" == 'amd64' ]] \ - || - - # On Ubuntu, additionally the WireGuard package needs to be available, - # since we didn't test mixing Ubuntu repositories. - [[ "${PLAT}" == 'Ubuntu' && "${DPKG_ARCH}" == 'amd64' && -n "${AVAILABLE_WIREGUARD}" ]] \ - || - - # Ubuntu focal has wireguard support - [[ "${PLAT}" == 'Ubuntu' && "${DPKG_ARCH}" == 'arm64' && "${OSCN}" == 'focal' && -n "${AVAILABLE_WIREGUARD}" ]] - then + # case 1: If the module is builtin and the package available, + # we only need to install wireguard-tools. + # case 2: If the package is not available, on Debian and + # Raspbian we can add it via Bullseye repository. + # case 3: If the module is not builtin, on Raspbian we know + # the headers package: raspberrypi-kernel-headers + # case 4: On Alpine, the kernel must be linux-lts or linux-virt + # if we want to load the kernel module + # case 5: On Alpine Docker Container, the responsibility to have + # a WireGuard module on the host system is at user side + # case 6: On Debian (and Ubuntu), we can only reliably assume the + # headers package for amd64: linux-image-amd64 + # case 7: On Ubuntu, additionally the WireGuard package needs to + # be available, since we didn't test mixing Ubuntu repositories. + # case 8: Ubuntu focal has wireguard support + + if [[ "${WIREGUARD_BUILTIN}" -eq 1 && -n "${AVAILABLE_WIREGUARD}" ]] \ + || [[ "${WIREGUARD_BUILTIN}" -eq 1 && ("${PLAT}" == 'Debian' || "${PLAT}" == 'Raspbian') ]] \ + || [[ "${PLAT}" == 'Raspbian' ]] \ + || [[ "${PLAT}" == 'Alpine' && ! -f /.dockerenv && "$(uname -mrs)" =~ ^Linux\ +[0-9\.\-]+\-((lts)|(virt))\ +.*$ ]] \ + || [[ "${PLAT}" == 'Alpine' && -f /.dockerenv ]] \ + || [[ "${PLAT}" == 'Debian' && "${DPKG_ARCH}" == 'amd64' ]] \ + || [[ "${PLAT}" == 'Ubuntu' && "${DPKG_ARCH}" == 'amd64' && -n "${AVAILABLE_WIREGUARD}" ]] \ + || [[ "${PLAT}" == 'Ubuntu' && "${DPKG_ARCH}" == 'arm64' && "${OSCN}" == 'focal' && -n "${AVAILABLE_WIREGUARD}" ]]; then WIREGUARD_SUPPORT=1 fi