diff --git a/install_base.sh b/install_base.sh index f450d57be77b022cdd48740507efb679d3fb630c..3b18da1ffefd92fe4542e707a567a1b30db34083 100755 --- a/install_base.sh +++ b/install_base.sh @@ -115,13 +115,21 @@ clone_alpine_chroot_install() { install_apt() { echo "Installing apt packages ..." - sudo apt-get update && - sudo apt-get install -y "${apt_packages[@]}" + sudo apt-get update + if [[ $unsupported_distro == 1 ]]; then + for package in "${apt_packages[@]}"; do + if ! sudo apt-get install -y "$package"; then + echo "Failed to install $package on that distribution" >&2 + fi + done + else + sudo apt-get install -y "${apt_packages[@]}" || exit $? + fi } install_pacman() { echo "Installing pacman packages ..." - sudo pacman -Sy --needed --noconfirm "${pacman_packages[@]}" + sudo pacman -Sy --needed --noconfirm "${pacman_packages[@]}" || exit $? } register_pip_extra_requirements() { @@ -212,9 +220,12 @@ else fi if [[ ! -z "$package_manager" ]] && ! test_os_release NAME "$expected_distro"; then + unsupported_distro=1 echo echo "INFO: the distribution seems based on $package_manager but is not $expected_distro, some package names might not be right" echo +else + unsupported_distro=0 fi usage() {