scripts/docker/slim.sh survived the removal of the stage that copied and ran it, and nothing else referenced it. The README still offered a `Virgin` image type with `pkgmgr-arch-virgin` as its example, which is no longer published. Its second row was wrong independently of that refactor: the image does not contain Nix, it runs `make install`, which is scripts/installation/init.sh, and neither that nor entry.sh installs it. The section now states the tags compute_publish_tags() actually pushes, including the unsuffixed alias the default distribution gets, and points at base-images for the clean environment the virgin image used to serve. A missing blank line before a horizontal rule had also been rendering the paragraph above it as a heading. Three comment blocks explained what the repository used to do rather than what it does, in the Dockerfile, in scripts/build/publish.sh and in the Makefile. That belongs in the history, which is where it already is. Verified: markdownlint-cli2 on the README goes from 21 findings to 10, all remaining ones pre-existing and outside this section; `bash -n` on publish.sh and `make -n build` pass. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
26 lines
669 B
Docker
26 lines
669 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
# hadolint ignore=DL3006,InvalidDefaultArgInFrom
|
|
# BASE_IMAGE carries no default on purpose: a default would build one
|
|
# distribution's image under another distribution's tag whenever the build arg
|
|
# is forgotten. scripts/build/base.sh is the only place that resolves it.
|
|
ARG BASE_IMAGE
|
|
FROM ${BASE_IMAGE}
|
|
|
|
SHELL ["/bin/bash", "-lc"]
|
|
|
|
WORKDIR /build
|
|
|
|
COPY . .
|
|
|
|
RUN set -eu; \
|
|
echo "Building and installing package-manager via make install..."; \
|
|
make install; \
|
|
rm -rf /build
|
|
|
|
COPY scripts/docker/entry.sh /usr/local/bin/docker-entry.sh
|
|
|
|
WORKDIR /opt/src/pkgmgr
|
|
ENTRYPOINT ["/usr/local/bin/docker-entry.sh"]
|
|
CMD ["pkgmgr", "--help"]
|