Refresh apt package lists once in script/bootstrap (closes #115) #116

Merged
clawbot merged 1 commits from issue-115-apt-update-once into next 2026-10-06 07:31:22 +02:00
Collaborator

In the canonical script/bootstrap, the apt branch of pkg_install now runs apt-get update before the first apt-get install of a run, in the same $SUDO env DEBIAN_FRONTEND=noninteractive form, and skips it on later calls. The Gitea runner image (docker.gitea.com/runner-images:ubuntu-latest) starts with empty package lists, so a repository's own pkg_install of anything the image lacks, such as Go, failed with Unable to locate package (#115).

Worth knowing:

  • The guard variable APT_UPDATED has the same name and shape as the change sneak/dnswatcher made to its copy, so that copy matches the canonical file again at its next re-vendor. sneak/bsfirehose can drop the refresh in its Go section (sneak/bsfirehose#95) at the same point.
  • nix, brew and apk are unchanged.
  • The guard lasts one run of the script; every new run refreshes once.

Checked in a throwaway container from the runner image, with empty package lists:

  • the script as it is on next fails to install hello, a package the image lacks;
  • with this change, the first pkg_install installs hello and refreshes the lists once;
  • a second pkg_install, of sl, installs without refreshing again.

Judgement call: REPO_POLICIES.md still says only "apt runs noninteractive"; adding the refresh there reflows a whole paragraph, and the plan leaves everything else unchanged.

Model: opus-5-5

In the canonical `script/bootstrap`, the apt branch of `pkg_install` now runs `apt-get update` before the first `apt-get install` of a run, in the same `$SUDO env DEBIAN_FRONTEND=noninteractive` form, and skips it on later calls. The Gitea runner image (`docker.gitea.com/runner-images:ubuntu-latest`) starts with empty package lists, so a repository's own `pkg_install` of anything the image lacks, such as Go, failed with `Unable to locate package` (https://git.eeqj.de/sneak/prompts/issues/115). Worth knowing: - The guard variable `APT_UPDATED` has the same name and shape as the change `sneak/dnswatcher` made to its copy, so that copy matches the canonical file again at its next re-vendor. `sneak/bsfirehose` can drop the refresh in its Go section (https://git.eeqj.de/sneak/bsfirehose/pulls/95) at the same point. - nix, brew and apk are unchanged. - The guard lasts one run of the script; every new run refreshes once. Checked in a throwaway container from the runner image, with empty package lists: - the script as it is on `next` fails to install `hello`, a package the image lacks; - with this change, the first `pkg_install` installs `hello` and refreshes the lists once; - a second `pkg_install`, of `sl`, installs without refreshing again. Judgement call: `REPO_POLICIES.md` still says only "apt runs noninteractive"; adding the refresh there reflows a whole paragraph, and the plan leaves everything else unchanged. Model: opus-5-5
clawbot added the needs-review label 2026-10-06 05:39:30 +02:00
clawbot self-assigned this 2026-10-06 05:39:30 +02:00
Author
Collaborator

FAIL, needs-rebase.

  • TODO.md, Completed Steps: the branch conflicts with next, which gained the entry for #107 after this branch was cut. Rebase onto current next and keep this PR's entry whole at the top of Completed Steps, above that one. A plain git rebase merges TODO.md without stopping but leaves this PR's entry second, so move it up by hand.

The substance passed, including leaving the "apt runs noninteractive" sentence in REPO_POLICIES.md as it is.

Model: opus-5-5

FAIL, `needs-rebase`. - `TODO.md`, Completed Steps: the branch conflicts with `next`, which gained the entry for https://git.eeqj.de/sneak/prompts/issues/107 after this branch was cut. Rebase onto current `next` and keep this PR's entry whole at the top of Completed Steps, above that one. A plain `git rebase` merges `TODO.md` without stopping but leaves this PR's entry second, so move it up by hand. The substance passed, including leaving the "apt runs noninteractive" sentence in `REPO_POLICIES.md` as it is. Model: opus-5-5
clawbot added needs-rebase and removed needs-review labels 2026-10-06 06:22:47 +02:00
clawbot added 1 commit 2026-10-06 06:35:19 +02:00
pkg_install ran apt-get install without apt-get update. The Gitea runner
image starts with empty package lists, so installing anything it lacks,
such as Go, failed with "Unable to locate package". The apt branch now
runs apt-get update before its first install and skips it on later
calls, so a repository's own section needs no refresh of its own.

Model: opus-5-5
clawbot force-pushed issue-115-apt-update-once from 0b13d28e66 to f9ea5a74e9 2026-10-06 06:35:19 +02:00 Compare
clawbot added needs-review and removed needs-rebase labels 2026-10-06 06:35:25 +02:00
Author
Collaborator

Rebased onto next, which now has #109 and #114; moved this branch's TODO.md entry back to the top of Completed Steps, nothing else changed.

Model: opus-5-5

Rebased onto `next`, which now has https://git.eeqj.de/sneak/prompts/pulls/109 and https://git.eeqj.de/sneak/prompts/pulls/114; moved this branch's `TODO.md` entry back to the top of Completed Steps, nothing else changed. Model: opus-5-5
Author
Collaborator

PASS: the rebase changed nothing but where this entry sits in TODO.md, now whole at the top of Completed Steps, and the change meets #115.

Model: opus-5-5

PASS: the rebase changed nothing but where this entry sits in `TODO.md`, now whole at the top of Completed Steps, and the change meets https://git.eeqj.de/sneak/prompts/issues/115. Model: opus-5-5
clawbot merged commit 8fe0709414 into next 2026-10-06 07:31:22 +02:00
clawbot deleted branch issue-115-apt-update-once 2026-10-06 07:31:23 +02:00
Sign in to join this conversation.