feat: build the Jellyfin clients and YouTube AdFree from our mirrors #6
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/jellyfin-youtube-apps"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds Breezyfin, Jellyfin, Litefin, Moonfin, OcenFin and YouTube AdFree (the Jellyfin-related apps and YouTube AdFree from repo.webosbrew.org), built from source from the new pull mirrors in https://git.owenap.com/webos.
What changes
appworkflow (.forgejo/workflows/app.yaml). Pick an app and its upstream tag in Run workflow, or push a tag<app>-<upstream tag>such asjellyfin-v1.2.2. The release is tagged that way and carries the ipk,<app id>.manifest.json, a source tarball andSHA256SUMS.apps/<app>/has anapp.conf(mirror, app id, icon) and abuild.shthat follows upstream's own release workflow, minus lint and tests. Optionalpatches/*.patchwork like the top-levelpatches/.scripts/build-app.shrunsbuild.sh, checks the ipk'sappinfo.jsonid and version againstapp.confand the tag, and writes a manifest that points at the mirror.scripts/update-index.sh, shared by both workflows, rebuildsapps.jsonfrom all releases and lists the newest version of each app id. Two runs that finish together still end up with a correct index. With the currentv0.7.3andv0.7.3.1releases it picksv0.7.3.1and produces the live index byte for byte.v0.7.3.Nrebuilds from #3 still sort correctly:v0.7.3.1(app version0.7.3001) is belowv0.7.4.release.yamlkeeps its rebuild logic and calls the shared script for the index.app.yamlchecks this repo out the same wayrelease.yamldoes, and records the builder commit in the release notes.Per-app notes
build.shsets it from the tag.youtube.leanback.v4, replacing the stock YouTube app.build.shdrops it and uses the image's Node 22 (upstream asks for >=22).ares-packageis a GitHub fork pinned in the lockfile, so its install does reach GitHub.v:2.10.0,2026.10.19.Testing
All six were built locally with
scripts/build-app.shinnode:22-alpine(arm64; the runner is x86_64) at the current upstream tags. Compared with upstream's released ipk:Differences are bundle content hashes, plus one extra
ilibmanifest.jsonthat Enact generates in Moonfin. All six mirrors have the tags at the same commits, and every manifest icon URL returns 200.Not tested: the workflows themselves on the Forgejo runner, the index with more than one app published, and installing on a TV. After merging, run
apponce per app, then check the index on the TV.🤖 Generated with Claude Code
0cc0090c55to1e4cea799f