docs(setup): drop deprecated apt packages on Debian 13 trixie #223

Merged
julien merged 1 commits from docs/setup-trixie-pkg-cleanup into main 2026-05-24 21:02:25 +02:00
Owner

Summary

Follow-up on #220. 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 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:

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, …).
  • pnpm exec prettier --check clean on the touched files.
  • bash -n docs/setup/scripts/10-base-packages.sh clean.
## Summary Follow-up on [#220](https://git.unespace.com/julien/apf_portal/pulls/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.
julien added 1 commit 2026-05-24 21:02:14 +02:00
docs(setup): drop deprecated apt packages on Debian 13 trixie
CI / commits (pull_request) Successful in 3m31s
CI / scan (pull_request) Successful in 3m40s
CI / check (pull_request) Successful in 3m54s
CI / a11y (pull_request) Successful in 3m26s
Docs site / build (pull_request) Successful in 3m32s
CI / perf (pull_request) Successful in 7m23s
05faeca05d
10-base-packages.sh was failing on a fresh Trixie VM with
`E: Impossible de trouver le paquet software-properties-common`.

The package isn't shipped on Trixie anymore, but it was also never
needed: 50-docker.sh writes /etc/apt/sources.list.d/docker.list
manually and never invokes add-apt-repository. apt-transport-https
is a transitional no-op since apt 1.5 (2018, native HTTPS). lsb-release
isn't called anywhere either - the codename detection in 50-docker.sh
reads /etc/os-release directly.

Drop all three from the install list. The minimal set is now what's
actually consumed downstream: curl wget git ca-certificates gnupg
build-essential pkg-config. Doc table descriptor updated accordingly.

Inline comment explains why each kept package is there and why the
three dropped ones were not just removed but deliberately excluded -
so a future drive-by addition doesn't reintroduce them.
julien merged commit 1d11db9f36 into main 2026-05-24 21:02:25 +02:00
julien deleted branch docs/setup-trixie-pkg-cleanup 2026-05-24 21:02:28 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: julien/apf_portal#223