aboutsummaryrefslogtreecommitdiffstats
path: root/sbo-batch-test
AgeCommit message (Collapse)AuthorFilesLines
7 hoursWipe package cache when base is patchedDanilo M.1-0/+5
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 hoursReport CACHED status and cached count in summaryDanilo M.1-4/+6
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 hoursbuild_one: dedupe basename, note non-atomic cache installDanilo M.1-2/+5
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 hoursWire cache into build_one: install cached deps, store buildsDanilo M.1-6/+41
build_one gains a third arg is_target (default 0). Dependencies with a version-matching cached package are installed from cache (status CACHED) and skip the build entirely. The target always builds. After any successful build, the produced package is copied into PKG_CACHE via cache_store before overlay teardown, making it available for future runs or sibling targets. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 hoursForce controlled OUTPUT in build, do not inherit /repoDanilo M.1-3/+9
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 hoursAnnotate build order with cache outcome (run + dry-run)Danilo M.1-3/+34
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 hoursAdd version_of .info reader + testDanilo M.1-0/+11
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 hoursAdd cache_path + cache_store + testsDanilo M.1-0/+25
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 hoursAdd cache_decision + testsDanilo M.1-0/+36
Implements cache_decision <cat> <prog> <version> which inspects $PKG_CACHE/<cat>/<prog>/ and returns "cached", "bump:OLD:NEW", or "new". Empty PKG_CACHE disables the cache. Tests in test-logic.sh cover all four outcomes and are driven pure (no VM needed). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 hoursAdd PKG_CACHE config var (empty = disabled)Danilo M.1-0/+7
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
8 hoursExternalize config; mirror mountpoint+auto-mount, MIRROR_TREE, --terseDanilo M.1-38/+79
Config now lives outside the script in $SBO_BATCH_CONFIG (default ~/.config/sbo-batch-tester/config), sourced at load. Script ships empty defaults plus config.example as the template; require_config (in validate_env and init_base) hard-fails a real run when the config is missing or has not set SLACKWARE_BASE / LOCAL_MIRROR_15 / SBO_TREE_ROOTS. LOCAL_MIRROR_15 is now the NFS mountpoint, not the tree root. The Slackware tree is derived as MIRROR_TREE=$LOCAL_MIRROR_15/slackware64-$VERSION (holds ChangeLog.txt, slackware64/, patches/); all mirror content reads use it. The mountpoint is checked with mountpoint -q and auto-mounted (mount $LOCAL_MIRROR_15) when the noauto fstab entry is not mounted, left mounted after the run. installpkg/upgradepkg run with --terse for cleaner output. Docs updated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
12 hoursAdd --init-base mode for first-time base populateDanilo M.1-5/+49
New --init-base flag installs the full slackware64-15.0 package set into SLACKWARE_BASE from the mirror, then exits. Runs its own pre-flight checks (root, NFS reachable, base not under the mirror) since the base does not exist yet, refuses to clobber a populated base, and seeds the last-base-update marker so the first build skips a needless re-patch. Replaces the manual installpkg --root loop that validate_env used to print as a hint. Docs (README, CLAUDE.md, HANDOFF) updated to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2 daysCredit bassmadrigal's overlay-chroot.sh in script and READMEDanilo M.1-2/+4
Document that the overlayfs setup, system bind mounts, base patching, and teardown ordering are inspired by overlay-chroot.sh by Slackware user bassmadrigal (Jeremy Hansen). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2 daysInitial commit: sbo-batch-testDanilo M.1-0/+668
Batch-test SlackBuilds against a clean Slackware 15.0 overlay chroot. Non-interactive, local-tree-only dependency resolution with topological sort, per-target disposable overlay, persistent per-package logs, and a color summary. Includes README.md, CLAUDE.md working notes, the reference overlay-chroot.sh, the original spec, and test-logic.sh (resolver + BLOCKED-BY-DEP self-check, 12 checks passing). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>