From 3610ad0b72d3bee64c54cb475516a6a20442c07f Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Thu, 16 Jul 2026 11:50:04 +0200 Subject: 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 --- skills/test-build-slackbuild/SKILL.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'skills/test-build-slackbuild/SKILL.md') 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 `//`) to the search roots, so those siblings resolve and build before the SBo tree is consulted. + +```bash +cd my-slackbuilds//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. | -- cgit v1.2.3