fc979b650d7e810683b7d770d7af4953216bd88a
Creates tests/e2e/smoketest.sh — a hermetic end-to-end test that:
- Sets up a mock ZUUR (python3 http.server serving local index/recipes)
- Creates fake zeta-makepkg and zeta scripts (no real Lua tools needed)
- Tests the full pipeline: search → install → upgrade → info → remove
- Verifies exit codes (0, 2 for not-found)
- Verifies installed.json state tracking
- Verifies binary installation/removal via ZETA_ROOT
BUG FOUND (documented in problems.md, not fixed):
- info.d scanDepsArray stores ptrdiff_t indexOf() result in size_t,
causing ArrayIndexError when recipe lacks a deps field.
Workaround: recipe includes deps = {}.
Evidence: .omo/evidence/task-27-tofu-core.log — 16/16 checks pass.
tofu
A package manager for the ZereneOS Unofficial User Repository
What it is
A Dlang wrapper around zeta-toolchain and ZETA for the ZUUR recipe repository, in the style of yay/paru for the ZereneOS ecosystem.
Requirements
- dub
- a D compiler (dmd or ldc2)
- lua
- curl
- zeta-toolchain
- Zeta
Build
dub build
Produces the ./tofu binary.
Description
A package manager for the ZereneOS Unofficial User Repository
241 KiB
Languages
D
97.3%
Shell
2.7%