Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lgsm/data/debian-12.csv
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ ut2k4
ut3
ut99
vh,libc6-dev,libatomic1,libpulse-dev
vints,dotnet-runtime-8.0
vints,dotnet-runtime-10.0
vpmc,openjdk-17-jre
vs
wet
Expand Down
2 changes: 1 addition & 1 deletion lgsm/data/debian-13.csv
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ ut2k4
ut3
ut99
vh,libc6-dev,libatomic1,libpulse-dev
vints,dotnet-runtime-8.0
vints,dotnet-runtime-10.0
vpmc,openjdk-25-jre
vs
wet
Expand Down
2 changes: 1 addition & 1 deletion lgsm/data/ubuntu-24.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ ut2k4
ut3
ut99
vh,libc6-dev,libatomic1,libpulse-dev
vints,dotnet-runtime-8.0
vints,dotnet-runtime-10.0
vpmc,openjdk-25-jre
vs
wet
Expand Down
2 changes: 1 addition & 1 deletion lgsm/data/ubuntu-26.04.csv
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ ut2k4
ut3
ut99
vh,libc6-dev,libatomic1,libpulse-dev
vints,dotnet-runtime-8.0
vints,dotnet-runtime-10.0
vpmc,openjdk-25-jre
vs
wet
Expand Down
38 changes: 30 additions & 8 deletions lgsm/modules/check_deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,28 @@
moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"

fn_install_dotnet_repo() {
local dotnetpackage
dotnetpackage="dotnet-runtime-7.0"

for dep in "${array_deps_missing[@]}"; do
if [[ "${dep}" == dotnet-runtime-* ]]; then
dotnetpackage="${dep}"
break
fi
done

if [ "${distroid}" == "ubuntu" ]; then
# if package dotnet-runtime-7.0 is unavailable in ubuntu repos, add the microsoft repo.
if ! apt-cache show dotnet-runtime-7.0 > /dev/null 2>&1; then
# If the required .NET package is unavailable in Ubuntu repos, add the Microsoft repo.
if ! apt-cache show "${dotnetpackage}" > /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
# If the required .NET package is unavailable in Debian repos, add the Microsoft repo.
if ! apt-cache show "${dotnetpackage}" > /dev/null 2>&1; 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
fi
}

Expand Down Expand Up @@ -281,10 +294,10 @@ fn_deps_detector() {
depstatus=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 dotnet --list-runtimes | grep -q "Microsoft.NETCore.App 7.0"; then
# .NET runtime: check installed runtime version for any dotnet-runtime-X.Y package.
elif [[ "${deptocheck}" =~ ^dotnet-runtime-([0-9]+\.[0-9]+)$ ]]; then
dotnetrequired="${BASH_REMATCH[1]}"
if [ "$(command -v dotnet 2> /dev/null)" ] && dotnet --list-runtimes | grep -q "Microsoft.NETCore.App ${dotnetrequired}"; then
depstatus=0
dotnetinstalled=true
else
Expand Down Expand Up @@ -379,6 +392,15 @@ if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}"
fi
fi

# Vintage Story tracks newer .NET runtimes; older distro releases may not ship required packages.
if [ "${shortname}" == "vints" ]; then
if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "lt" "24.04"; } || { [ "${distroid}" == "debian" ] && dpkg --compare-versions "${distroversion}" "lt" "12"; } || [ "${distroid}" == "centos" ] || [ "${distroid}" == "rhel" ] || [ "${distroid}" == "rocky" ] || [ "${distroid}" == "almalinux" ]; then
fn_print_warning_nl "${gamename} may require newer .NET runtimes than ${distroname} provides."
echo -e "If startup fails due to missing .NET runtime, upgrading to Ubuntu 24.04+ or Debian 12+ is recommended."
fn_script_log_warn "${gamename} may require newer .NET runtimes than ${distroname} provides."
fi
fi

if [ ! -f "${tmpdir}/dependency-no-check.tmp" ] && [ ! -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then
# Check that the distro dependency csv file exists.
fn_check_file_github "lgsm/data" "${distroid}-${distroversioncsv}.csv"
Expand Down