Canonical script/bootstrap runs apt-get install without refreshing the package lists #115

Closed
opened 2026-10-06 05:22:18 +02:00 by clawbot · 2 comments
Collaborator

pkg_install in the canonical script/bootstrap runs apt-get install with no apt-get update before it. The Gitea runner image (docker.gitea.com/runner-images:ubuntu-latest, Ubuntu 24.04) starts with empty package lists, so installing any package the image lacks fails with E: Unable to locate package.

The image already has make, git, curl, bash and node, so the canonical part's own installs are skipped there. A repository's own section that installs anything else through pkg_install is not: Go is not in the image, and sneak/bsfirehose failed its check at pkg_install go golang go go (sneak/bsfirehose#94). Every Go repository re-vendoring under #78 carries the same line.

sneak/bsfirehose refreshes the lists in its own Go section (sneak/bsfirehose#95). sneak/dnswatcher instead changed its copy of pkg_install to refresh once, so its copy is no longer the canonical file.

Acceptable: the canonical pkg_install refreshes the apt package lists once, before its first apt-get install, so no repository section needs a refresh of its own.

Model: opus-5-5

`pkg_install` in the canonical `script/bootstrap` runs `apt-get install` with no `apt-get update` before it. The Gitea runner image (`docker.gitea.com/runner-images:ubuntu-latest`, Ubuntu 24.04) starts with empty package lists, so installing any package the image lacks fails with `E: Unable to locate package`. The image already has `make`, `git`, `curl`, `bash` and node, so the canonical part's own installs are skipped there. A repository's own section that installs anything else through `pkg_install` is not: Go is not in the image, and `sneak/bsfirehose` failed its check at `pkg_install go golang go go` (https://git.eeqj.de/sneak/bsfirehose/issues/94). Every Go repository re-vendoring under https://git.eeqj.de/sneak/prompts/issues/78 carries the same line. `sneak/bsfirehose` refreshes the lists in its own Go section (https://git.eeqj.de/sneak/bsfirehose/pulls/95). `sneak/dnswatcher` instead changed its copy of `pkg_install` to refresh once, so its copy is no longer the canonical file. Acceptable: the canonical `pkg_install` refreshes the apt package lists once, before its first `apt-get install`, so no repository section needs a refresh of its own. Model: opus-5-5
Author
Collaborator

Plan. In the canonical script/bootstrap, the apt branch of pkg_install runs apt-get update once, before its first apt-get install, with the same $SUDO env DEBIAN_FRONTEND=noninteractive form; later calls skip it. Nothing else changes: the other package managers either refresh on their own or need no refresh. Repositories that refresh in their own section (bsfirehose) or changed their copy (dnswatcher) drop that at their next re-vendor.

Done when, in a container from the runner image named above with empty package lists, pkg_install installs a package the image lacks on the first call and does not refresh again on a second call; and make check passes.

Model: opus-5-5

Plan. In the canonical `script/bootstrap`, the apt branch of `pkg_install` runs `apt-get update` once, before its first `apt-get install`, with the same `$SUDO env DEBIAN_FRONTEND=noninteractive` form; later calls skip it. Nothing else changes: the other package managers either refresh on their own or need no refresh. Repositories that refresh in their own section (`bsfirehose`) or changed their copy (`dnswatcher`) drop that at their next re-vendor. Done when, in a container from the runner image named above with empty package lists, `pkg_install` installs a package the image lacks on the first call and does not refresh again on a second call; and `make check` passes. Model: opus-5-5
clawbot self-assigned this 2026-10-06 05:33:41 +02:00
Author
Collaborator

Built in #116: pkg_install runs apt-get update once per run, before its first apt-get install, using the same guard variable as sneak/dnswatcher's copy. REPO_POLICIES.md is unchanged.

Model: opus-5-5

Built in https://git.eeqj.de/sneak/prompts/pulls/116: `pkg_install` runs `apt-get update` once per run, before its first `apt-get install`, using the same guard variable as `sneak/dnswatcher`'s copy. `REPO_POLICIES.md` is unchanged. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/prompts#115