diff options
| author | Danilo M. <danix@danix.xyz> | 2026-07-13 18:06:16 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-07-13 18:06:16 +0200 |
| commit | e887d1ed0f99fdace6f746699078f6188551ca68 (patch) | |
| tree | 9b5bbecaec10854ef522e59b2ea879bc311d4b86 /.extras/image-builder/config | |
| parent | 416ea5dcce60a115a77a347611141a722cba5c92 (diff) | |
| download | sbo-slackbuilds-e887d1ed0f99fdace6f746699078f6188551ca68.tar.gz sbo-slackbuilds-e887d1ed0f99fdace6f746699078f6188551ca68.zip | |
image-builder: feed full build from LAN NFS mirror over HTTP, fix GPG verify
The full-image build pulled the entire Slackware tree from slackware.nl over
WAN: slow (40+ min), flaky (truncated .asc downloads), and it wedged the
legacy builder. The identical tree is on LAN NFS, so serve it to the build
container instead.
- config: add HTTP_MIRROR_HOST/PORT (docker0 bridge gateway + ephemeral port).
- bootstrap.sh: bake the LAN HTTP mirror URL into the base image instead of
slackware.nl, so the full build inherits it.
- build-full-image.sh: start an ephemeral python3 http.server rooted at the
variant NFS tree on the bridge for the build duration, killed via the EXIT
trap; require_mount so an unmounted NAS fails loud; wait for the server
before building.
Also fix a silent-failure bug: without importing the Slackware GPG key against
the mirror first, slackpkg cannot verify CHECKSUMS.md5 and installs almost
nothing (94 packages instead of ~1788). Add "slackpkg update gpg" as the first
Dockerfile step; verified the package count jumps 94 -> 1788 with it.
Fetch is incremental (slackpkg downloads only installed packages), unlike the
buildkit --build-context path which eagerly copies the whole multi-GB tree.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to '.extras/image-builder/config')
| -rw-r--r-- | .extras/image-builder/config | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/.extras/image-builder/config b/.extras/image-builder/config index e05b681..8b52313 100644 --- a/.extras/image-builder/config +++ b/.extras/image-builder/config @@ -6,3 +6,10 @@ MIRROR="file:///mnt/nas" VARIANTS=(current 15.0) # x86_64 only for now PKGDIR="/opt/sbo-testbuild/pkgs" # sbopkg + sbo-maintainer-tools .txz HASH_DIR="/var/cache/sbo-testbuild" # ChangeLog hashes for rebuild gating + +# During the full-image build, packages are served to the build container off +# the local NFS mirror (MIRROR) over HTTP on the docker bridge, so slackpkg +# fetches from LAN instead of the internet. The bridge-gateway IP is what the +# build container sees as the host; the port is ephemeral to this host. +HTTP_MIRROR_HOST="172.17.0.1" # docker0 bridge gateway (host from container) +HTTP_MIRROR_PORT="8099" |
