| Age | Commit message (Collapse) | Author | Files | Lines |
|
A dead dockerd is a global failure, not a per-variant one, but every stage
treated it as the latter: the digest probes read an unreachable daemon as
"no digest, rebuilding to be safe", the build then failed, and the variant
loop logged "WARNING: variant X failed; continuing" and moved on. Cron kept
exiting nonzero into a log nobody read, so a daemon that died in August went
unnoticed for 25 days while no image was ever rebuilt.
Add require_docker() to lib.sh, following the existing require_mount()
precedent, and call it before the variant loop in all three stages. One loud
error, exit 1, instead of a nightly pile of warnings.
In build-full-image.sh the check goes before the --force cache prune, since
that prune also talks to the daemon.
Self-check stubs `docker` so it never contacts a real daemon.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AD4jP4wFMpBgEvd9ZP9Xhu
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
A host-side sbodl source cache leaves a symlink (<src> -> ~/sbodl-cache/...)
in the SlackBuild dir. Copied into the container it dangled (the cache path
does not exist there), and wget -c choked on it, reporting DOWNLOAD-FAILED.
Copy the dir with rsync -a --no-links instead of cp -a, excluding all
symlinks so the build downloads the source fresh. A host-side WARN names each
ignored symlink.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Resolve deps that are siblings in the target's own repo (not on SBo or
official Slackware) by prepending the target's repo root to the dep search
roots when --local-deps is passed. The SBo tree is still searched after.
Covers packages like huggingface_cli whose deps live in the same
maintenance repo. Adds two logic self-checks and updates CLAUDE.md,
README, and the test-build-slackbuild skill.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Reference skill teaching agents to drive test-build: the two-source
target/dep rule, dry-run-first workflow, --yes for non-interactive runs,
override discipline, and the status-code table. Built and verified via
subagent baseline (RED) then with-skill (GREEN).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Bake a PROJECT_VERSION="1.0.0" const into every script (test-build,
install.sh, and the three image-builder/*.sh). test-build and install.sh
expose -V/--version; the image-builder scripts already use --version for
the Slackware target, so their project-version flag is -V only. bootstrap.sh
handles -V before its root check so it is queryable as any user.
No VERSION file: a release bump is one sed over the consts, anchored on
^PROJECT_VERSION= so it never hits the SBo package VERSION/OPT_VERSION vars.
Release procedure documented in CLAUDE.md; user-facing note in README.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Install ~/.config/sbo-testbuild/{config,overrides} from the example files
on first install, skipping either if it already exists so user edits are
never clobbered. Uninstall leaves them in place (user data).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Extracted from the .extras/ dir of the sbo-slackbuilds package repo, where it
grew from a throwaway helper into a standalone tool. Git history starts fresh;
the original 41-commit development log is preserved in HISTORY.md.
Contents: the test-build CLI (resolves a local SlackBuild's deps from a
configured SBo tree and builds it in a throwaway container, lints, caches deps),
the image-builder chain that produces the images it consumes, their pure-logic
self-checks, design specs/plans, an install.sh for ~/bin, and docs.
Licensed GPLv2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|