aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-06-24 15:21:51 +0200
committerDanilo M. <danix@danix.xyz>2026-06-24 15:21:51 +0200
commit198499d28f69abd20584a2eb88d9e1dd29e9dbec (patch)
treeaaba332d7285be62ee396896c5e8eb3ca79b961e /README.md
parentbe4f69754e104fb753a9c9f9299a3e72821a6946 (diff)
downloadsbo-batch-tester-198499d28f69abd20584a2eb88d9e1dd29e9dbec.tar.gz
sbo-batch-tester-198499d28f69abd20584a2eb88d9e1dd29e9dbec.zip
Externalize config; mirror mountpoint+auto-mount, MIRROR_TREE, --terse
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>
Diffstat (limited to 'README.md')
-rw-r--r--README.md19
1 files changed, 13 insertions, 6 deletions
diff --git a/README.md b/README.md
index b29542c..6a15ff0 100644
--- a/README.md
+++ b/README.md
@@ -26,15 +26,22 @@ current-vs-15.0 drift bites.
## Prerequisites
-You need three things in place, all configured in the CONFIG block at the top
-of `sbo-batch-test`:
+Configuration lives in an external file, not in the script. Copy `config.example`
+to `~/.config/sbo-batch-tester/config` and edit it (the tool runs as root, so
+that is `/root/.config/sbo-batch-tester/config`). Override the path with the
+`SBO_BATCH_CONFIG` environment variable. You need three things set in it:
1. **`SLACKWARE_BASE`** - a LOCAL (non-NFS) full Slackware 15.0 install tree.
This is the overlay lowerdir. It MUST be local (ext4/xfs). overlayfs over an
NFS lowerdir is fragile and a known source of intermittent failures.
-2. **`LOCAL_MIRROR_15`** - the NFS-mounted Slackware 15.0 mirror. Used only as a
- package SOURCE to populate and patch `SLACKWARE_BASE`. Read-only is fine.
+2. **`LOCAL_MIRROR_15`** - the NFS mountpoint for the Slackware 15.0 mirror.
+ Point it at the mount root itself; the actual tree (ChangeLog.txt,
+ slackware64/, patches/) is found one level down at
+ `$LOCAL_MIRROR_15/slackware64-$VERSION`. Used only as a package SOURCE to
+ populate and patch `SLACKWARE_BASE`. Read-only is fine. If the fstab entry is
+ `noauto`, the script auto-mounts it (`mount $LOCAL_MIRROR_15`) when absent and
+ leaves it mounted after the run.
3. **`SBO_TREE_ROOTS`** - one or more LOCAL SBo tree roots, resolved in order
(first match wins). Standard SBo layout
@@ -49,8 +56,8 @@ 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:
+Set `SLACKWARE_BASE` and `LOCAL_MIRROR_15` in your config file, then run once
+as root:
```sh
sbo-batch-test --init-base