M6 — cross-compile aarch64-musl + addon.zip + install docs

scripts/build-addon-zip.sh runs the whole pipeline from a host with ssh
lucy:
- one-shot messense/rust-musl-cross:aarch64-musl container builds the
  sidecar static (6.2MB stripped). Doesn't mutate crafting-table.
- fetches yt-dlp_linux_aarch64 from the upstream release page so Tier 2
  + Tier 3 work on the Pi (LibreELEC ships no Python YouTube tools)
- packages everything into plugin.video.torttube.zip with the Kodi
  install-from-zip layout
- drops the zip at /mnt/user/downloads/torttube/ on Lucy SMB

Cargo.toml swaps rustypipe to default-features=false +
rustls-tls-webpki-roots so the cross-compile is openssl-free.

addon.xml drops the unused script.module.requests requirement — main.py
only uses Python stdlib + Kodi's own modules.

docs/install.md walks the Kodi UI flow + a smoke curl that fires
Player.Open via JSON-RPC. Pi-side smoke is pending Cobb's install on
192.168.0.158.
This commit is contained in:
Kayos 2026-05-23 08:54:46 -07:00
parent 9b2a47c909
commit f4ceae3b70
5 changed files with 139 additions and 7 deletions

View file

@ -48,11 +48,19 @@
- [ ] toast on skip + skip-counter in settings
- [ ] category toggles in `settings.xml`
## M6 — install + cross-compile
## M6 — install + cross-compile [PARTIAL]
- [ ] crafting-table builds `torttube-sidecar.aarch64` + `.armv7`
- [ ] `addon.zip` ships with platform detect via `xbmc.getCondVisibility('system.platform.linux.raspberrypi')`
- [ ] one-shot install path documented for LibreELEC `/storage/.kodi/`
- [x] cross-compile sidecar for aarch64-musl static via throwaway
`messense/rust-musl-cross:aarch64-musl` container. 6.2MB stripped
static binary. Builds clean from `scripts/build-addon-zip.sh`.
- [x] bundle yt-dlp's `yt-dlp_linux_aarch64` release binary for Tier 2/3
- [x] zip layout matches Kodi "install from zip" expectations
- [x] addon.zip dropped at `smb://lucy/downloads/torttube/` for Pi-side install
- [x] install + smoke recipe documented at `docs/install.md`
- [ ] **install on the actual Pi** + verify the JSON-RPC `Player.Open`
smoke against `192.168.0.158` — needs Cobb to either install via
Kodi UI or grant SSH to drop the zip directly
- [ ] armv7 build for older Pis (deferred — Cobb's TVs are all aarch64-capable)
## Upstream PR work (parallel lane — every bug evaluated for "fix it upstream?")