|
|
@ -7,6 +7,19 @@ |
|
|
|
|
|
|
|
moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" |
|
|
|
|
|
|
|
fn_install_dotnet_repo() { |
|
|
|
if [ "${distroid}" == "ubuntu" ]; then |
|
|
|
# if package aspnetcore-runtime-7.0 is unavailable in ubuntu repos, add the microsoft repo. |
|
|
|
if ! apt-cache show aspnetcore-runtime-7.0 > /dev/null 2>&1; then |
|
|
|
fn_fetch_file "https://packages.microsoft.com/config/ubuntu/${distroversion}/packages-microsoft-prod.deb" "" "" "" "/tmp" "packages-microsoft-prod.deb" "" "" "" "" |
|
|
|
sudo dpkg -i /tmp/packages-microsoft-prod.deb |
|
|
|
fi |
|
|
|
elif [ "${distroid}" == "debian" ]; then |
|
|
|
fn_fetch_file "https://packages.microsoft.com/config/debian/${distroversion}/packages-microsoft-prod.deb" "" "" "" "/tmp" "packages-microsoft-prod.deb" "" "" "" "" |
|
|
|
sudo dpkg -i /tmp/packages-microsoft-prod.deb |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
fn_install_mono_repo() { |
|
|
|
if [ "${autodepinstall}" == "0" ]; then |
|
|
|
fn_print_information_nl "Automatically adding Mono repository." |
|
|
@ -20,11 +33,11 @@ fn_install_mono_repo() { |
|
|
|
echo -en " \r" |
|
|
|
if [ "${distroid}" == "ubuntu" ]; then |
|
|
|
if [ "${distroversion}" == "22.04" ]; then |
|
|
|
cmd="sudo apt install gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-jammy main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
cmd="sudo apt-get install gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-jammy main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
elif [ "${distroversion}" == "20.04" ]; then |
|
|
|
cmd="sudo apt install gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-focal main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
cmd="sudo apt-get install gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-focal main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
elif [ "${distroversion}" == "18.04" ]; then |
|
|
|
cmd="sudo apt install gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-bionic main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
cmd="sudo apt-get install gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-bionic main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
elif [ "${distroversion}" == "16.04" ]; then |
|
|
|
cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https ca-certificates;echo 'deb https://download.mono-project.com/repo/ubuntu stable-xenial main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
else |
|
|
@ -32,13 +45,13 @@ fn_install_mono_repo() { |
|
|
|
fi |
|
|
|
elif [ "${distroid}" == "debian" ]; then |
|
|
|
if [ "${distroversion}" == "12" ]; then |
|
|
|
cmd="sudo apt install apt-transport-https dirmngr gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-bookworm main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
cmd="sudo apt-get install apt-transport-https dirmngr gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-bookworm main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
elif [ "${distroversion}" == "11" ]; then |
|
|
|
cmd="sudo apt install apt-transport-https dirmngr gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-bullseye main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
cmd="sudo apt-get install apt-transport-https dirmngr gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-bullseye main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
elif [ "${distroversion}" == "10" ]; then |
|
|
|
cmd="sudo apt install apt-transport-https dirmngr gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-buster main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
cmd="sudo apt-get install apt-transport-https dirmngr gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-buster main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
elif [ "${distroversion}" == "9" ]; then |
|
|
|
cmd="sudo apt install apt-transport-https dirmngr gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-stretch main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
cmd="sudo apt-get install apt-transport-https dirmngr gnupg ca-certificates;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-stretch main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
else |
|
|
|
monoautoinstall="1" |
|
|
|
fi |
|
|
@ -135,10 +148,14 @@ fn_install_missing_deps() { |
|
|
|
fi |
|
|
|
autodepinstall="$?" |
|
|
|
|
|
|
|
if [ "${monostatus}" == "1" ]; then |
|
|
|
if [ "${monoinstalled}" == "false" ]; then |
|
|
|
fn_install_mono_repo |
|
|
|
fi |
|
|
|
|
|
|
|
if [ "${dotnetinstalled}" == "false" ]; then |
|
|
|
fn_install_dotnet_repo |
|
|
|
fi |
|
|
|
|
|
|
|
if [ "${commandname}" == "INSTALL" ]; then |
|
|
|
if [ "${autodepinstall}" == "0" ]; then |
|
|
|
fn_print_information_nl "$(whoami) has sudo access." |
|
|
@ -254,11 +271,18 @@ fn_deps_detector() { |
|
|
|
if [ -n "${monoversion}" ] && [ "${monoversion}" -ge "5" ]; then |
|
|
|
# Mono >= 5.0.0 already installed. |
|
|
|
depstatus=0 |
|
|
|
monostatus=0 |
|
|
|
monoinstalled=true |
|
|
|
else |
|
|
|
# Mono not installed or installed Mono < 5.0.0. |
|
|
|
depstatus=1 |
|
|
|
monostatus=1 |
|
|
|
monoinstalled=false |
|
|
|
fi |
|
|
|
# .NET Core: A .NET Core repo needs to be installed. |
|
|
|
elif [ "${deptocheck}" == "dotnet-runtime-7.0" ]; then |
|
|
|
# .NET is not installed. |
|
|
|
if [ -z "${dotnetversion}" ]; then |
|
|
|
depstatus=1 |
|
|
|
dotnetinstalled=false |
|
|
|
fi |
|
|
|
elif [ "$(command -v apt 2> /dev/null)" ]; then |
|
|
|
dpkg-query -W -f='${Status}' "${deptocheck}" 2> /dev/null | grep -q -P '^install ok installed' |
|
|
|