aboutsummaryrefslogtreecommitdiffstats
path: root/skills
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-07-16 11:50:04 +0200
committerDanilo M. <danix@danix.xyz>2026-07-16 11:50:04 +0200
commit3610ad0b72d3bee64c54cb475516a6a20442c07f (patch)
treea8c9d2e6b603283e779b89c769f91b353abce123 /skills
parent766a11b18578e754eebc9d2ca69b198ef01129e1 (diff)
downloadsbo-dockerbuild-3610ad0b72d3bee64c54cb475516a6a20442c07f.tar.gz
sbo-dockerbuild-3610ad0b72d3bee64c54cb475516a6a20442c07f.zip
test-build: add --local-deps for in-repo deps
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>
Diffstat (limited to 'skills')
-rw-r--r--skills/test-build-slackbuild/SKILL.md15
1 files changed, 14 insertions, 1 deletions
diff --git a/skills/test-build-slackbuild/SKILL.md b/skills/test-build-slackbuild/SKILL.md
index 3cac388..e8b553c 100644
--- a/skills/test-build-slackbuild/SKILL.md
+++ b/skills/test-build-slackbuild/SKILL.md
@@ -14,7 +14,7 @@ description: Use when driving the sbo-dockerbuild `test-build` tool to verify a
There are TWO different package sources. Do not conflate them:
- **Target** = the SlackBuild *under edit*. Resolved from **where you are** (CWD or a path you pass), NOT from the config tree. Always rebuilt.
-- **Deps** = resolved from the **config tree** (`SBO_TREE_CURRENT` / `SBO_TREE_STABLE`). Built once and cached.
+- **Deps** = resolved from the **config tree** (`SBO_TREE_CURRENT` / `SBO_TREE_STABLE`). Built once and cached. (With `--local-deps`, also from the target's own repo, see below.)
Common mistake: `cd`ing into the config SBo tree to test an edit. Wrong. The edit lives wherever it was edited. `cd` into *that* dir. If the edit and the config tree happen to be the same dir, fine, but never assume it.
@@ -41,6 +41,18 @@ test-build --yes --stable foo # 15.0
**`--yes` for any non-interactive run.** Without it `test-build` prints the order then blocks on `read -rp "Proceed?"`. Driving it non-interactively without `--yes` hangs. The order is still printed with `--yes`.
+## Deps that live in the target's own repo
+
+If the target's deps are **siblings in the same repo** (not on SBo and not official Slackware, e.g. a package plus its private deps in one maintenance repo), the default tree search won't find them and they show as UNMET. Pass `--local-deps`: it prepends the target's repo root (its grandparent dir, since the target sits at `<repo>/<category>/<pkg>`) to the search roots, so those siblings resolve and build before the SBo tree is consulted.
+
+```bash
+cd my-slackbuilds/<category>/foo
+test-build --local-deps --dry-run foo # confirm the local deps now resolve
+test-build --local-deps --yes foo
+```
+
+The local deps must themselves be valid, buildable SlackBuilds. Without the flag, behavior is unchanged.
+
## Deps that -current already ships
15.0 is the SBo baseline; `-current` has deltas. `~/.config/sbo-testbuild/overrides` (applied **only on -current**, inert on 15.0) handles them:
@@ -60,6 +72,7 @@ test-build --yes --stable foo # 15.0
| `--yes` | Skip the confirm prompt (order still printed). Use for non-interactive runs. |
| `--no-cache` | Rebuild all deps this run. |
| `--keep` | Copy the built target `.txz` to `kept/` so it can be installed on the host. |
+| `--local-deps` | Also resolve deps from the target's own repo (grandparent dir), for deps that are siblings in the same repo and not on SBo. |
| `--no-color` | Disable ANSI color (auto-off when not a TTY). |
| `-V`, `--version` | Print version. |