# ------------------------------------------------------------------------------ # Version determination function # This file is part of the init.sh project # Copyright (c) 2019-2021 Geoffray Levasseur # ------------------------------------------------------------------------------ # This file is distributed under 3-clause BSD license. # The complete license agreement can be obtained at: # https://opensource.org/licenses/BSD-3-Clause # ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------ # Return on stdout $distro $version $codename get_os_version() { if [[ ! -f /etc/os-release ]]; then prnt E "get_os_version(): Your distribution doesn't have the needed os-release file." die 8 --force fi # Create a sub-shell to avoid polluting the environnement ( # Iniitalise version codename in case the var don't exists VERSION_CODENAME="NULL" # Import the file in the environment source /etc/os-release if [[ -z $ID ]]; then prnt E "get_os_version(): Your /etc/os-release file mises some vital information." die --force 8 fi if [[ -z $VERSION_ID ]]; then local maj=$(uname -r | cut -d'.' -f1) local min=$(uname -r | cut -d'.' -f2) VERSION_ID="$maj.$min" unset maj min fi # Return values on stdout echo ${ID,,} ${VERSION_ID} ${VERSION_CODENAME,,} ) } export read_os_release # ------------------------------------------------------------------------------ # Create system related variables # ------------------------------------------------------------------------------ set_sys_vars() { if [[ $# -ne 4 ]]; then prnt E "set_sys_vars(): Incorrect number of parameters ($@)." die --force 7 fi export SYS_ARCH=$1 export SYS_DIST=$2 export SYS_VER=$3 if [[ $4 != "null" ]]; then export SYS_CODE=$4 elif [[ -n $SYS_CODE ]]; then unset SYS_CODE fi } export -f get_os_version # EOF