diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index ee8301e53..78ee5945d 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs wet diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv index c7d86c6e3..b341b7282 100644 --- a/lgsm/data/almalinux-9.csv +++ b/lgsm/data/almalinux-9.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs wet diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index 2bd1ea57a..616e61c32 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-11-openjdk vs wet diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index ee8301e53..78ee5945d 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs wet diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv index c7d86c6e3..b341b7282 100644 --- a/lgsm/data/centos-9.csv +++ b/lgsm/data/centos-9.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs wet diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index 646df8b2b..fd29e6da3 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,libc6-dev -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,openjdk-11-jre vs wet diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 8f31ec9c4..6f34e2832 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,libc6-dev -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,openjdk-11-jre vs wet diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv index 51b565a00..3738c4749 100644 --- a/lgsm/data/debian-12.csv +++ b/lgsm/data/debian-12.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,libc6-dev -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,openjdk-17-jre vs wet diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index 8ff958ddd..794a54afe 100644 --- a/lgsm/data/debian-9.csv +++ b/lgsm/data/debian-9.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,libc6-dev -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,openjdk-8-jre vs wet diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 196651a2f..1b0b8c1bd 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-11-openjdk vs wet diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index ee8301e53..78ee5945d 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs wet diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv index c7d86c6e3..b341b7282 100644 --- a/lgsm/data/rhel-9.csv +++ b/lgsm/data/rhel-9.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs wet diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index ee8301e53..78ee5945d 100644 --- a/lgsm/data/rocky-8.csv +++ b/lgsm/data/rocky-8.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs wet diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv index c7d86c6e3..b341b7282 100644 --- a/lgsm/data/rocky-9.csv +++ b/lgsm/data/rocky-9.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,glibc-devel -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,java-17-openjdk vs wet diff --git a/lgsm/data/ubuntu-21.04.csv b/lgsm/data/ubuntu-21.04.csv deleted file mode 100644 index 8f31ec9c4..000000000 --- a/lgsm/data/ubuntu-21.04.csv +++ /dev/null @@ -1,135 +0,0 @@ -all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,distro-info,file,gzip,hostname,jq,lib32gcc-s1,lib32stdc++6,netcat,python3,tar,tmux,unzip,util-linux,wget,xz-utils -steamcmd,lib32gcc-s1,lib32stdc++6,libsdl2-2.0-0:i386,steamcmd -ac -ahl -ahl2 -ark -arma3 -armar,libcurl4 -ats -av -bb -bb2,libcurl4-gnutls-dev:i386 -bd -bf1942,libncurses5:i386,libtinfo5:i386 -bfv,libncurses5:i386,libstdc++5:i386 -bmdm,libncurses5:i386 -bo -bs -bt,libicu-dev,dos2unix,libxml2-utils -btl -cc -cd -ck,xvfb,libxi6 -cmw -cod,libstdc++5:i386 -cod2,libstdc++5:i386 -cod4 -coduo,libstdc++5:i386 -codwaw -col -cs -cscz -csgo -css,libtinfo5:i386 -ct -dab -dayz -dmc -dod -dodr -dods -doi -dst,libcurl4-gnutls-dev:i386 -dys -eco,libgdiplus -em -etl -ets2 -fctr -fof -gmod,libtinfo5:i386 -hcu -hl2dm -hldm -hldms -hw,lib32z1 -ins -inss -ios -jc2 -jc3 -jk2 -kf -kf2 -l4d -l4d2 -lo -mc,openjdk-17-jre -mcb -mh -mohaa,libstdc++5:i386 -mom -mta,libncursesw5,libxml2-utils -nd -nec -nmrih,libtinfo5:i386 -ns -ns2,speex,libtbb2 -ns2c,speex:i386,libtbb2 -ohd -onset,libmariadb-dev -opfor -pc -pc2 -pmc,openjdk-17-jre -pstbs,libgconf-2-4 -pvkii -pvr,libc++1 -pz,openjdk-17-jre,rng-tools -q2 -q3 -ql -qw -ricochet -ro -rtcw -rust,lib32z1 -rw,openjdk-17-jre -samp -sb -sbots -scpsl,mono-complete -scpslsm,mono-complete -sdtd,telnet,expect,libxml2-utils -sf -sfc,libtinfo5:i386 -sof2 -sol -squad -st,libxml2-utils -stn -sven,libssl1.1:i386,zlib1g:i386 -terraria -tf2,libcurl4-gnutls-dev:i386 -tfc -ti -ts -ts3 -tu -tw -unt -ut -ut2k4 -ut3 -ut99 -vh,libc6-dev -vints,mono-complete -vpmc,openjdk-11-jre -vs -wet -wf -wmc,openjdk-17-jre -wurm,xvfb -zmr,libtinfo5:i386 -zps,libtinfo5:i386 diff --git a/lgsm/data/ubuntu-21.10.csv b/lgsm/data/ubuntu-21.10.csv deleted file mode 100644 index 8f31ec9c4..000000000 --- a/lgsm/data/ubuntu-21.10.csv +++ /dev/null @@ -1,135 +0,0 @@ -all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,distro-info,file,gzip,hostname,jq,lib32gcc-s1,lib32stdc++6,netcat,python3,tar,tmux,unzip,util-linux,wget,xz-utils -steamcmd,lib32gcc-s1,lib32stdc++6,libsdl2-2.0-0:i386,steamcmd -ac -ahl -ahl2 -ark -arma3 -armar,libcurl4 -ats -av -bb -bb2,libcurl4-gnutls-dev:i386 -bd -bf1942,libncurses5:i386,libtinfo5:i386 -bfv,libncurses5:i386,libstdc++5:i386 -bmdm,libncurses5:i386 -bo -bs -bt,libicu-dev,dos2unix,libxml2-utils -btl -cc -cd -ck,xvfb,libxi6 -cmw -cod,libstdc++5:i386 -cod2,libstdc++5:i386 -cod4 -coduo,libstdc++5:i386 -codwaw -col -cs -cscz -csgo -css,libtinfo5:i386 -ct -dab -dayz -dmc -dod -dodr -dods -doi -dst,libcurl4-gnutls-dev:i386 -dys -eco,libgdiplus -em -etl -ets2 -fctr -fof -gmod,libtinfo5:i386 -hcu -hl2dm -hldm -hldms -hw,lib32z1 -ins -inss -ios -jc2 -jc3 -jk2 -kf -kf2 -l4d -l4d2 -lo -mc,openjdk-17-jre -mcb -mh -mohaa,libstdc++5:i386 -mom -mta,libncursesw5,libxml2-utils -nd -nec -nmrih,libtinfo5:i386 -ns -ns2,speex,libtbb2 -ns2c,speex:i386,libtbb2 -ohd -onset,libmariadb-dev -opfor -pc -pc2 -pmc,openjdk-17-jre -pstbs,libgconf-2-4 -pvkii -pvr,libc++1 -pz,openjdk-17-jre,rng-tools -q2 -q3 -ql -qw -ricochet -ro -rtcw -rust,lib32z1 -rw,openjdk-17-jre -samp -sb -sbots -scpsl,mono-complete -scpslsm,mono-complete -sdtd,telnet,expect,libxml2-utils -sf -sfc,libtinfo5:i386 -sof2 -sol -squad -st,libxml2-utils -stn -sven,libssl1.1:i386,zlib1g:i386 -terraria -tf2,libcurl4-gnutls-dev:i386 -tfc -ti -ts -ts3 -tu -tw -unt -ut -ut2k4 -ut3 -ut99 -vh,libc6-dev -vints,mono-complete -vpmc,openjdk-11-jre -vs -wet -wf -wmc,openjdk-17-jre -wurm,xvfb -zmr,libtinfo5:i386 -zps,libtinfo5:i386 diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index ba801e507..7f417b463 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,libc6-dev -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,openjdk-17-jre vs wet diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv index ba801e507..7f417b463 100644 --- a/lgsm/data/ubuntu-23.04.csv +++ b/lgsm/data/ubuntu-23.04.csv @@ -124,7 +124,7 @@ ut2k4 ut3 ut99 vh,libc6-dev -vints,mono-complete +vints,aspnetcore-runtime-7.0 vpmc,openjdk-17-jre vs wet diff --git a/lgsm/modules/check_deps.sh b/lgsm/modules/check_deps.sh index 41334205e..262c235e3 100644 --- a/lgsm/modules/check_deps.sh +++ b/lgsm/modules/check_deps.sh @@ -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' diff --git a/lgsm/modules/command_dev_detect_glibc.sh b/lgsm/modules/command_dev_detect_glibc.sh index 8ff87d711..ca64ed7cc 100644 --- a/lgsm/modules/command_dev_detect_glibc.sh +++ b/lgsm/modules/command_dev_detect_glibc.sh @@ -15,7 +15,7 @@ echo -e "=================================" echo -e "glibc Requirements Checker" echo -e "=================================" -if [ ! "$(command -v objdump)" ]; then +if [ ! "$(command -v objdump 2> /dev/null)" ]; then fn_print_failure_nl "objdump is missing" fn_script_log_fatal "objdump is missing" core_exit.sh diff --git a/lgsm/modules/core_dl.sh b/lgsm/modules/core_dl.sh index f85499890..2a6c7c400 100644 --- a/lgsm/modules/core_dl.sh +++ b/lgsm/modules/core_dl.sh @@ -36,7 +36,7 @@ fn_dl_steamcmd() { # Unbuffer will allow the output of steamcmd not buffer allowing a smooth output. # unbuffer us part of the expect package. - if [ "$(command -v unbuffer)" ]; then + if [ "$(command -v unbuffer 2> /dev/null)" ]; then unbuffer="unbuffer" fi diff --git a/lgsm/modules/info_distro.sh b/lgsm/modules/info_distro.sh index b375f8c02..aacee2b8f 100644 --- a/lgsm/modules/info_distro.sh +++ b/lgsm/modules/info_distro.sh @@ -127,6 +127,10 @@ if [ "$(command -v mono 2> /dev/null)" ]; then monoversion="$(mono --version 2>&1 | grep -Po '(?<=version )\d')" fi +if [ "$(command -v dotnet 2> /dev/null)" ]; then + dotnetversion="$(dotnet --list-runtimes | grep -E 'Microsoft\.NETCore\.App' | awk '{print $2}')" +fi + ## Uptime uptime="$(< /proc/uptime)" uptime=${uptime/[. ]*/}