#!/bin/sh # Copyright (C) 2023 Denis 'GNUtoo' Carikli # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . "$(dirname $0)"/../../scripts/misc/sysexits.sh true=0 false=1 progname="resources/packages/dependencies/install" usage() { progname="$1" printf "Usage:\n" printf "\t%s --help\n" \ "${progname}" printf "\t%s # Install dependencies for GNU Boot\n" \ "${progname}" } is_base_distro() { distro="$1" grep "ID=${distro}" /etc/os-release > /dev/null && return ${true} grep "ID_LIKE=${distro}" /etc/os-release > /dev/null && return ${true} return ${false} } if [ $# -eq 1 ] && [ "$1" == "--help" ] ; then usage "${progname}" exit 0 elif [ $# -ne 0 ] ; then usage "${progname}" exit ${EX_USAGE} fi # Try to detect distributions derived from other distributions first # as for instance Trisquel 10 has ID_LIKE=debian and not # ID_LIKE=ubuntu. if is_base_distro "trisquel" ; then "$(dirname $0)"/../../dependencies/pureos-trisquel $@ exit $? elif is_base_distro "pureos" ; then # PureOS doesn't have ID_LIKE "$(dirname $0)"/../../dependencies/pureos-trisquel $@ exit $? fi if is_base_distro "arch" ; then "$(dirname $0)"/../../dependencies/arch $@ elif is_base_distro "debian" ; then "$(dirname $0)"/../../dependencies/pureos-trisquel $@ elif is_base_distro "fedora" ; then "$(dirname $0)"/../../dependencies/fedora35 $@ elif is_base_distro "ubuntu" ; then "$(dirname $0)"/../../dependencies/pureos-trisquel $@ elif is_base_distro "void" ; then "$(dirname $0)"/../../dependencies/void $@ fi