1d11db9f36
## Summary Follow-up on [#220](#220). [`10-base-packages.sh`](docs/setup/scripts/10-base-packages.sh) fails on a fresh Debian 13 Trixie VM with `E: Impossible de trouver le paquet software-properties-common`. The package is no longer shipped on Trixie — and it was never used by any of our downstream scripts in the first place. Drop three deprecated / unused packages from the install list. Add an inline comment explaining each kept package's purpose so a drive-by addition doesn't reintroduce the dropped ones. ## What lands | File | Change | | --- | --- | | `docs/setup/scripts/10-base-packages.sh` | Drop `software-properties-common`, `apt-transport-https`, `lsb-release`. Remaining minimal set: `curl wget git ca-certificates gnupg build-essential pkg-config`. Inline comment lists which downstream script consumes each kept package + which three were deliberately removed and why. | | `docs/setup/01-dev-debian-vm-setup.md` | Step-3 table row for `10-base-packages.sh` updated to match the new package list. | ## Why each removed package wasn't needed | Package | Why removed | | --- | --- | | `software-properties-common` | Drops `add-apt-repository`. We don't use it — [`50-docker.sh`](docs/setup/scripts/50-docker.sh) writes `/etc/apt/sources.list.d/docker.list` manually with the keyring-pinned `signed-by=` form. Also no longer in Trixie. | | `apt-transport-https` | Transitional package since apt 1.5 (2018) — apt has native HTTPS. Intermittently absent on Trixie. | | `lsb-release` | Shell scripts read `/etc/os-release` directly (see `50-docker.sh`'s `. /etc/os-release && echo "${VERSION_CODENAME}"`). | ## Unblock path (manual, if you're stuck mid-bootstrap) The user can either pull this PR and re-run, or shortcut manually: ```bash sudo apt-get install -y curl wget git ca-certificates gnupg build-essential pkg-config ./docs/setup/scripts/20-zsh.sh # continue from the next step ``` Scripts are idempotent — re-running `bootstrap.sh` after pulling this PR is also safe. ## Test plan - [ ] On a fresh Trixie VM, `./docs/setup/scripts/10-base-packages.sh` exits successfully. - [ ] Verify each downstream script still has the binaries it expects (curl in 40-node.sh, gpg in 50-docker.sh, build-essential in pnpm install, …). - [x] `pnpm exec prettier --check` clean on the touched files. - [x] `bash -n docs/setup/scripts/10-base-packages.sh` clean. --------- Co-authored-by: Julien Gautier <julien.gautier@apf.asso.fr> Reviewed-on: #223
32 lines
1.3 KiB
Bash
Executable File
32 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# apt update + install base packages every other script assumes.
|
|
set -euo pipefail
|
|
# shellcheck source=./lib.sh
|
|
source "$(cd "$(dirname "$0")" && pwd)/lib.sh"
|
|
require_debian
|
|
require_not_root
|
|
|
|
log "apt update"
|
|
sudo apt-get update -qq
|
|
|
|
# Minimal set actually consumed by the other scripts:
|
|
# - curl/wget used by 40-node.sh (nvm install), 50-docker.sh (gpg key)
|
|
# and the .NET appendix (wget packages-microsoft-prod.deb)
|
|
# - git every other script that touches the repo
|
|
# - ca-certs HTTPS over apt + curl/wget
|
|
# - gnupg verifying the Docker apt repo key
|
|
# - build-essential / pkg-config — native deps during pnpm install
|
|
#
|
|
# Deliberately NOT installed (deprecated or unused on Debian 13 Trixie):
|
|
# - software-properties-common: drops `add-apt-repository`, which we
|
|
# don't use (50-docker.sh writes /etc/apt/sources.list.d/docker.list
|
|
# manually). Also failing to resolve on a fresh Trixie install.
|
|
# - apt-transport-https: apt has had native HTTPS support since 1.5 (2018),
|
|
# the transitional package isn't needed and is intermittently absent.
|
|
# - lsb-release: shell scripts read /etc/os-release directly (see 50-docker.sh).
|
|
apt_install \
|
|
curl wget git ca-certificates gnupg \
|
|
build-essential pkg-config
|
|
|
|
ok "Base packages ready."
|