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
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
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
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
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 next2026-10-06 07:31:22 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
In the canonical
script/bootstrap, the apt branch ofpkg_installnow runsapt-get updatebefore the firstapt-get installof a run, in the same$SUDO env DEBIAN_FRONTEND=noninteractiveform, 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 ownpkg_installof anything the image lacks, such as Go, failed withUnable to locate package(#115).Worth knowing:
APT_UPDATEDhas the same name and shape as the changesneak/dnswatchermade to its copy, so that copy matches the canonical file again at its next re-vendor.sneak/bsfirehosecan drop the refresh in its Go section (sneak/bsfirehose#95) at the same point.Checked in a throwaway container from the runner image, with empty package lists:
nextfails to installhello, a package the image lacks;pkg_installinstallshelloand refreshes the lists once;pkg_install, ofsl, installs without refreshing again.Judgement call:
REPO_POLICIES.mdstill says only "apt runs noninteractive"; adding the refresh there reflows a whole paragraph, and the plan leaves everything else unchanged.Model: opus-5-5
FAIL,
needs-rebase.TODO.md, Completed Steps: the branch conflicts withnext, which gained the entry for #107 after this branch was cut. Rebase onto currentnextand keep this PR's entry whole at the top of Completed Steps, above that one. A plaingit rebasemergesTODO.mdwithout 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.mdas it is.Model: opus-5-5
0b13d28e66tof9ea5a74e9Rebased onto
next, which now has #109 and #114; moved this branch'sTODO.mdentry back to the top of Completed Steps, nothing else changed.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 #115.Model: opus-5-5