From be4f69754e104fb753a9c9f9299a3e72821a6946 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 24 Jun 2026 11:38:33 +0200 Subject: Add --init-base mode for first-time base populate 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 --- README.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 03f6964..b29542c 100644 --- a/README.md +++ b/README.md @@ -49,16 +49,18 @@ Populate from the NFS mirror with the FULL package set, not a minimal install. A minimal base causes false "missing dependency" results that would not happen on a normal user's full Slackware install. +Set `SLACKWARE_BASE` and `LOCAL_MIRROR_15` in the script's CONFIG block, then +run once as root: + ```sh -mkdir -p /sbo-base/15.0 -for p in /mnt/nfs/slackware64-15.0/slackware64/*/*.t?z; do - installpkg --root /sbo-base/15.0 "$p" -done +sbo-batch-test --init-base ``` -Adjust the two paths to your `SLACKWARE_BASE` and `LOCAL_MIRROR_15`. The tool -will not auto-bootstrap the base unattended; if the base is missing or -incomplete it fails fast with this exact hint. +This installs the full `slackware64/*/*.t?z` set into `SLACKWARE_BASE` and +exits. It refuses to clobber an already-populated base (remove the directory +first to re-init). The tool will not auto-bootstrap the base during a build; if +the base is missing or incomplete a build fails fast and points you at +`--init-base`. The base is kept patched automatically on each run: when the mirror's ChangeLog head differs from the recorded marker, new packages from @@ -108,6 +110,7 @@ sbo-batch-test --dry-run playwright-cli | `--dry-run` | Resolve and print build order, do not build. | | `--with-x` | Enable X passthrough (`xhost +local:hosts`). Headless by default. Security caveat: allows local non-network connections to your X server. | | `-j`, `--jobs N` | Reserved. No-op stub today (builds are serial). | +| `--init-base` | First-time populate `SLACKWARE_BASE` from the mirror, then exit. Run once before the first build. Refuses to clobber an existing base. | ## Per-package status values -- cgit v1.2.3