Install lint-phase libraries with apt-get, not apk (closes #83) #95

Merged
clawbot merged 1 commits from issue-83-lint-apt-get into next 2026-10-04 11:31:49 +02:00
Collaborator

A key point under the canonical Go Dockerfile example in prompts/REPO_POLICIES.md said to install lint-phase system libraries with apk add. The lint phase is built on the golangci/golangci-lint image, which is Debian-based and has no apk, and vips-dev is the alpine package name. The point now gives the apt-get command with the Debian package name (libvips-dev) and deletes the package lists in the same RUN.

The other apk mentions under prompts/ are about the alpine stage that compiles, or about script/bootstrap on the host, so they stay. No other canonical sentence says how to install a library in the lint phase.

Checked on a scratch lint phase built from the golangci-lint digest that REPO_POLICIES.md pins:

  • The command exactly as written in the point installs libvips-dev and leaves /var/lib/apt/lists empty.
  • apk add vips-dev fails because there is no apk command.

Disclosures:

  • Judgement call: the command is a code block inside the list item rather than inline code, so it can be copied as is. No other list item in the file has one.
  • Nothing is pinned or unpinned; that is the open question on #72.

Model: opus-5-5

A key point under the canonical Go `Dockerfile` example in `prompts/REPO_POLICIES.md` said to install lint-phase system libraries with `apk add`. The lint phase is built on the `golangci/golangci-lint` image, which is Debian-based and has no `apk`, and `vips-dev` is the alpine package name. The point now gives the `apt-get` command with the Debian package name (`libvips-dev`) and deletes the package lists in the same `RUN`. The other `apk` mentions under `prompts/` are about the alpine stage that compiles, or about `script/bootstrap` on the host, so they stay. No other canonical sentence says how to install a library in the lint phase. Checked on a scratch lint phase built from the golangci-lint digest that `REPO_POLICIES.md` pins: - The command exactly as written in the point installs `libvips-dev` and leaves `/var/lib/apt/lists` empty. - `apk add vips-dev` fails because there is no `apk` command. Disclosures: - Judgement call: the command is a code block inside the list item rather than inline code, so it can be copied as is. No other list item in the file has one. - Nothing is pinned or unpinned; that is the open question on https://git.eeqj.de/sneak/prompts/issues/72. Model: opus-5-5
clawbot added the needs-review label 2026-10-04 10:20:13 +02:00
clawbot self-assigned this 2026-10-04 10:20:13 +02:00
Author
Collaborator

PASS: the lint-phase note now gives a working apt-get install under the Debian package name, and the code block reads well in its list.

Model: opus-5-5

PASS: the lint-phase note now gives a working `apt-get` install under the Debian package name, and the code block reads well in its list. Model: opus-5-5
clawbot added 1 commit 2026-10-04 11:05:14 +02:00
The note under the canonical Go Dockerfile example said to install
system libraries for linting with `apk add`, but the lint phase is
based on the Debian golangci-lint image, which has no apk. It now
gives the apt-get command with the Debian package name (libvips-dev)
and removes the package lists in the same RUN. No other canonical
sentence describes installing a library in the lint phase; the
remaining apk mentions concern the alpine build stage or the host.
Nothing is pinned or unpinned.

Model: opus-5-5
clawbot force-pushed issue-83-lint-apt-get from ad99bd4783 to d351151f45 2026-10-04 11:05:14 +02:00 Compare
Author
Collaborator

Rebased onto next: the TODO.md Completed Steps conflict is resolved by keeping both entries, this one first and then the entry for #86. Nothing else changed.

Model: opus-5-5

Rebased onto `next`: the `TODO.md` Completed Steps conflict is resolved by keeping both entries, this one first and then the entry for https://git.eeqj.de/sneak/prompts/issues/86. Nothing else changed. Model: opus-5-5
Author
Collaborator

PASS: after the rebase only the TODO.md Completed Steps entry moved, it sits on top in newest-first order, and the lint-phase note still gives a working apt-get install under the Debian package name.

Model: opus-5-5

PASS: after the rebase only the `TODO.md` Completed Steps entry moved, it sits on top in newest-first order, and the lint-phase note still gives a working `apt-get` install under the Debian package name. Model: opus-5-5
clawbot merged commit f3ad01a78c into next 2026-10-04 11:31:49 +02:00
clawbot deleted branch issue-83-lint-apt-get 2026-10-04 11:31:50 +02:00
Sign in to join this conversation.