|
@@ -7,6 +7,19 @@
|
|
|
|
|
|
|
|
moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
|
|
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() {
|
|
fn_install_mono_repo() {
|
|
|
if [ "${autodepinstall}" == "0" ]; then
|
|
if [ "${autodepinstall}" == "0" ]; then
|
|
|
fn_print_information_nl "Automatically adding Mono repository."
|
|
fn_print_information_nl "Automatically adding Mono repository."
|
|
@@ -20,11 +33,11 @@ fn_install_mono_repo() {
|
|
|
echo -en " \r"
|
|
echo -en " \r"
|
|
|
if [ "${distroid}" == "ubuntu" ]; then
|
|
if [ "${distroid}" == "ubuntu" ]; then
|
|
|
if [ "${distroversion}" == "22.04" ]; 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
|
|
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
|
|
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
|
|
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"
|
|
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
|
|
else
|
|
@@ -32,13 +45,13 @@ fn_install_mono_repo() {
|
|
|
fi
|
|
fi
|
|
|
elif [ "${distroid}" == "debian" ]; then
|
|
elif [ "${distroid}" == "debian" ]; then
|
|
|
if [ "${distroversion}" == "12" ]; 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
|
|
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
|
|
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
|
|
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
|
|
else
|
|
|
monoautoinstall="1"
|
|
monoautoinstall="1"
|
|
|
fi
|
|
fi
|
|
@@ -135,10 +148,14 @@ fn_install_missing_deps() {
|
|
|
fi
|
|
fi
|
|
|
autodepinstall="$?"
|
|
autodepinstall="$?"
|
|
|
|
|
|
|
|
- if [ "${monostatus}" == "1" ]; then
|
|
|
|
|
|
|
+ if [ "${monoinstalled}" == "false" ]; then
|
|
|
fn_install_mono_repo
|
|
fn_install_mono_repo
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
|
|
+ if [ "${dotnetinstalled}" == "false" ]; then
|
|
|
|
|
+ fn_install_dotnet_repo
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
if [ "${commandname}" == "INSTALL" ]; then
|
|
if [ "${commandname}" == "INSTALL" ]; then
|
|
|
if [ "${autodepinstall}" == "0" ]; then
|
|
if [ "${autodepinstall}" == "0" ]; then
|
|
|
fn_print_information_nl "$(whoami) has sudo access."
|
|
fn_print_information_nl "$(whoami) has sudo access."
|
|
@@ -254,11 +271,21 @@ fn_deps_detector() {
|
|
|
if [ -n "${monoversion}" ] && [ "${monoversion}" -ge "5" ]; then
|
|
if [ -n "${monoversion}" ] && [ "${monoversion}" -ge "5" ]; then
|
|
|
# Mono >= 5.0.0 already installed.
|
|
# Mono >= 5.0.0 already installed.
|
|
|
depstatus=0
|
|
depstatus=0
|
|
|
- monostatus=0
|
|
|
|
|
|
|
+ monoinstalled=true
|
|
|
else
|
|
else
|
|
|
# Mono not installed or installed Mono < 5.0.0.
|
|
# Mono not installed or installed Mono < 5.0.0.
|
|
|
depstatus=1
|
|
depstatus=1
|
|
|
- monostatus=1
|
|
|
|
|
|
|
+ monoinstalled=false
|
|
|
|
|
+ fi
|
|
|
|
|
+ # .NET Core: A .NET Core repo needs to be installed.
|
|
|
|
|
+ elif [ "${deptocheck}" == "aspnetcore-runtime-7.0" ]; then
|
|
|
|
|
+ # .NET is not installed.
|
|
|
|
|
+ if [ -n "${dotnetversion}" ]; then
|
|
|
|
|
+ depstatus=0
|
|
|
|
|
+ dotnetinstalled=true
|
|
|
|
|
+ else
|
|
|
|
|
+ depstatus=1
|
|
|
|
|
+ dotnetinstalled=false
|
|
|
fi
|
|
fi
|
|
|
elif [ "$(command -v apt 2> /dev/null)" ]; then
|
|
elif [ "$(command -v apt 2> /dev/null)" ]; then
|
|
|
dpkg-query -W -f='${Status}' "${deptocheck}" 2> /dev/null | grep -q -P '^install ok installed'
|
|
dpkg-query -W -f='${Status}' "${deptocheck}" 2> /dev/null | grep -q -P '^install ok installed'
|