1
0
Fork 0

run_once_05: stop pre-installing pacstall deps, let installer handle them

The pacstall installer has its own dep install logic that handles edge
cases (e.g. debian-trixie dropped spdx-licenses from apt, so the
installer has a fallback to fetch the .deb directly from
ftp.debian.org and install via 'apt install /path/to/deb'). My script
was duplicating that logic with a strict apt-get install that failed
because spdx-licenses isn't in trixie apt.

Fix: install only the absolute minimum (curl, wget, ca-certificates,
sudo) so the installer can fetch and verify its own deps. Trust the
installer.
This commit is contained in:
Rain 2026-06-21 20:58:00 -04:00
parent b4a4b6e6b4
commit 3d972bd144

View file

@ -24,17 +24,24 @@ if command -v pacstall >/dev/null 2>&1; then
exit 0 exit 0
fi fi
# Install pacstall's apt deps first (idempotent — pacstall will skip if present) # Update apt cache (installer needs it)
log "installing pacstall apt dependencies"
sudo apt-get update -y sudo apt-get update -y
# Make sure we have the tools the pacstall installer needs to fetch and
# verify its own dependencies. It handles the rest itself.
log "ensuring pacstall installer prerequisites"
sudo apt-get install -y --no-install-recommends \ sudo apt-get install -y --no-install-recommends \
sudo wget build-essential unzip git zstd iputils-ping \ curl wget ca-certificates sudo
aptitude bubblewrap jq distro-info-data spdx-licenses \
gettext curl ca-certificates
# Fetch and run pacstall's official installer. # Fetch and run pacstall's official installer.
# It must be invoked as root (sudo). NON_INTERACTIVE=true + </dev/null so it # It must be invoked as root (sudo). NON_INTERACTIVE=true + </dev/null so it
# doesn't prompt for the "install axel?" question. # doesn't prompt for the "install axel?" question.
# The installer installs its own apt dependencies (sudo, wget, build-essential,
# unzip, git, zstd, iputils-ping, aptitude, bubblewrap, jq, distro-info-data,
# spdx-licenses, gettext, curl, ca-certificates, optionally axel). For packages
# not in the host's apt repos (e.g. spdx-licenses on debian trixie), the
# installer has a built-in fallback that downloads the .deb directly from
# ftp.debian.org and installs it with apt install.
log "downloading pacstall installer" log "downloading pacstall installer"
PACSTALL_INSTALLER="$(mktemp /tmp/pacstall-install.XXXXXX.sh)" PACSTALL_INSTALLER="$(mktemp /tmp/pacstall-install.XXXXXX.sh)"
if ! curl -fL --retry 3 https://pacstall.dev/q/install -o "$PACSTALL_INSTALLER"; then if ! curl -fL --retry 3 https://pacstall.dev/q/install -o "$PACSTALL_INSTALLER"; then