Skip to content

Restore Extra muxzip packaging for Archive Manager and Core Downloader - #49

Open
gingerbeardman wants to merge 1 commit into
MustardOS:mainfrom
gingerbeardman:fix-muxzip-packaging
Open

gingerbeardman wants to merge 1 commit into
MustardOS:mainfrom
gingerbeardman:fix-muxzip-packaging

Conversation

@gingerbeardman

Copy link
Copy Markdown

What broke

The 2026-09-13 extra release (release-20260913-115543) only uploaded Core - <core>_libretro.so.muxzip files. Each of those is a renamed core/*.so.zip with the .so sitting at the zip root.

Archive Manager (extract.sh) only extracts muxzip top-level folders that have a matching handler in /opt/muos/script/archive/ (core.sh, assign.sh, bios.sh, …). A bare foo_libretro.so is skipped, the archive is still marked .done, and the UI reports complete. On a Jacaranda device that looks like: no extract progress, cores never appear under /opt/muos/share/core, Core Downloader list is empty because GitHub latest no longer has Extra - <system>.muxzip.

I hit this installing extra cores over SSH on an RG35XX H (muOS 2601.0 JACARANDA). Copying the new muxzips into ARCHIVE and running Archive Manager was a no-op.

The last working extras I could use were from release-20260504-013709 (Extra - TIC-80.muxzip etc. with assign/ + core/ at the top level).

Cause

Two changes in .github/workflows/compress-and-release.yml after the system/ tree flattened:

  1. zip -r ../../../artifacts/... assumed system/extra/<name> (three levels). From system/<name> that writes outside the workspace, so Extra/Base muxzips never got uploaded.
  2. Per-core archives are cp core/*.so.zip artifacts/Core - ….muxzip, so they have no core/ prefix for Archive Manager.

Jacaranda's Core Downloader still looks for Extra.-.<system>.muxzip on releases/latest (see data/2601_0.json). Latest currently has none of those, and ~195 Core assets also make the GitHub release page fail to load.

Fix

  • Zip each system/<name> to Extra - <name>.muxzip using $GITHUB_WORKSPACE/artifacts (no ../ counting).
  • Wrap per-core archives as core/*.so so a manual Core muxzip install actually extracts.

I have not re-run the workflow here; this is the packaging script only.

How to check

# broken (current latest):
unzip -l "Core - tic80_libretro.so.muxzip"
#   tic80_libretro.so          <- skipped by Archive Manager

# working (this PR / 2026-05-04 extras):
unzip -l "Extra - TIC-80.muxzip"
#   assign/TIC-80/...
#   core/tic80_libretro.so     <- extracted by core.sh

The 2026-09-13 extra release shipped only Core - *.muxzip files with the
libretro .so at the zip root. Archive Manager looks up a handler from the
archive's top-level folder (core.sh, assign.sh, bios.sh, …) and skips
anything else, so those installs reported "complete" without extracting
anything.

Two bugs in compress-and-release.yml caused that:

1. zip -r ../../../artifacts/... assumed system/extra/<name> (three
   levels). After the tree flattened to system/<name>, the Extra/Base
   muxzips were written outside the workspace and never uploaded.
2. Per-core archives were a straight rename of core/*.so.zip, so they
   had no core/ prefix for Archive Manager.

This restores Extra - <system>.muxzip (the names Core Downloader on
Jacaranda looks for) and wraps per-core archives as core/*.so.
@xonglebongle

Copy link
Copy Markdown
Member

Thank you for the PR however we are moving quite quickly now with the impending Andromeda release. Unfortunately the previous releases are going to take a hit.

@gingerbeardman

gingerbeardman commented Sep 14, 2026

Copy link
Copy Markdown
Author

Sorry, not sure what you mean? Does Andromeda no longer have this bug?

Or do you mean that bugs in older releases won't be fixed?

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants