fix(installer): fixes redownload when dotnet in user folder, fix(installer): removes install for non-supported distros.
Build & Deploy / build (push) Failing after 1m12s
Build & Deploy / build (push) Failing after 1m12s
This commit is contained in:
+29
-12
@@ -90,6 +90,30 @@ if [[ $EUID -ne 0 ]]; then
|
|||||||
die "This script must be run as root (or with sudo)."
|
die "This script must be run as root (or with sudo)."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ── Find dotnet binary ──────────────────────────────────────────────────────
|
||||||
|
find_dotnet() {
|
||||||
|
local candidates=(
|
||||||
|
"$(command -v dotnet 2>/dev/null || true)"
|
||||||
|
/usr/share/dotnet/dotnet
|
||||||
|
/usr/bin/dotnet
|
||||||
|
/usr/local/bin/dotnet
|
||||||
|
/usr/local/share/dotnet/dotnet
|
||||||
|
"$HOME/.dotnet/dotnet"
|
||||||
|
)
|
||||||
|
if [[ -n "${SUDO_USER:-}" ]]; then
|
||||||
|
local invoke_home
|
||||||
|
invoke_home="$(eval echo "~$SUDO_USER")"
|
||||||
|
candidates+=("$invoke_home/.dotnet/dotnet")
|
||||||
|
fi
|
||||||
|
for c in "${candidates[@]}"; do
|
||||||
|
if [[ -n "$c" && -x "$c" ]]; then
|
||||||
|
echo "$c"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
# ── Check / install .NET 10 SDK ──────────────────────────────────────────────
|
# ── Check / install .NET 10 SDK ──────────────────────────────────────────────
|
||||||
install_dotnet() {
|
install_dotnet() {
|
||||||
info "Installing .NET 10 SDK..."
|
info "Installing .NET 10 SDK..."
|
||||||
@@ -120,7 +144,7 @@ install_dotnet() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
die "Unsupported distro. Install .NET 10 SDK manually: https://dotnet.microsoft.com/download"
|
die "Unsupported distro. Install .NET 10 SDK manually: https://dotnet.microsoft.com/download/dotnet/10.0"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add Microsoft package repository GPG key and repo
|
# Add Microsoft package repository GPG key and repo
|
||||||
@@ -149,19 +173,13 @@ REPO
|
|||||||
$PKG_MGR install -y dotnet-sdk-10.0
|
$PKG_MGR install -y dotnet-sdk-10.0
|
||||||
|
|
||||||
elif command -v pacman &>/dev/null; then
|
elif command -v pacman &>/dev/null; then
|
||||||
warn "Arch Linux detected. .NET 10 may need to be installed from the AUR or manually."
|
die "Arch Linux: install dotnet-sdk from the AUR or manually: https://dotnet.microsoft.com/download/dotnet/10.0"
|
||||||
warn "See: https://dotnet.microsoft.com/download"
|
|
||||||
die "Cannot auto-install .NET SDK on Arch. Please install dotnet-sdk-10 manually."
|
|
||||||
|
|
||||||
else
|
else
|
||||||
die "Unsupported package manager. Install .NET 10 SDK manually: https://dotnet.microsoft.com/download"
|
die "Unsupported package manager. Install .NET 10 SDK manually: https://dotnet.microsoft.com/download/dotnet/10.0"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DOTNET_CMD="$(command -v dotnet 2>/dev/null || echo /usr/share/dotnet/dotnet)"
|
if ! DOTNET_CMD="$(find_dotnet)"; then
|
||||||
if [[ ! -x "$DOTNET_CMD" ]]; then
|
|
||||||
DOTNET_CMD="/usr/bin/dotnet"
|
|
||||||
fi
|
|
||||||
if [[ ! -x "$DOTNET_CMD" ]]; then
|
|
||||||
die ".NET SDK installation succeeded but dotnet binary not found. Please add it to PATH."
|
die ".NET SDK installation succeeded but dotnet binary not found. Please add it to PATH."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -170,8 +188,7 @@ REPO
|
|||||||
}
|
}
|
||||||
|
|
||||||
DOTNET_CMD=""
|
DOTNET_CMD=""
|
||||||
if command -v dotnet &>/dev/null; then
|
if DOTNET_CMD="$(find_dotnet)"; then
|
||||||
DOTNET_CMD="$(command -v dotnet)"
|
|
||||||
DOTNET_VER="$("$DOTNET_CMD" --version 2>/dev/null || true)"
|
DOTNET_VER="$("$DOTNET_CMD" --version 2>/dev/null || true)"
|
||||||
if [[ "$DOTNET_VER" == 10.* ]]; then
|
if [[ "$DOTNET_VER" == 10.* ]]; then
|
||||||
info "dotnet 10 is already installed: $DOTNET_CMD ($DOTNET_VER)"
|
info "dotnet 10 is already installed: $DOTNET_CMD ($DOTNET_VER)"
|
||||||
|
|||||||
Reference in New Issue
Block a user