Problem
packaging/README.md (Installation section) currently states:
- Open the DMG produced by the Swift build.
But after #1355 (which removed packaging/build.py's create_dmg / sign_app / bundle pipeline), nothing in the repo actually creates a .dmg:
apps/omlx-mac/Scripts/build.sh release produces oMLX.app only — no DMG step (grep -rn "hdiutil\|create-dmg\|\\.dmg" apps/omlx-mac/Scripts/ returns nothing)
- No CI workflow under
.github/workflows/ creates one either
- The Swift updater (
AppUpdater.swift) consumes DMGs from GitHub Releases but doesn't make them
The DMGs at https://github.com/jundot/omlx/releases presumably come from a maintainer-side script that isn't in the public tree.
Impact
Developers building locally from packaging/README.md end up with build/Stage/oMLX.app but no DMG, contradicting the install instructions one section down. The drop-Swift-replaces-PyObjC migration removed the DMG-producing code without replacing it or updating the docs.
Suggested fixes
Either:
-
Add an opt-in DMG step to apps/omlx-mac/Scripts/build.sh — e.g. a --dmg flag that wraps $STAGED_APP with hdiutil create -volname oMLX -srcfolder ... -format UDZO. Keeps the default flow unchanged for the auto-rebuild / Xcode-run loop, but gives local builders a documented way to produce a DMG matching the Releases shape. Update packaging/README.md to reflect the new flag.
-
Or remove the DMG claim from packaging/README.md and document that DMGs only come from official releases.
I'll open a PR doing (1) since it lines up with the README's existing wording. Open to either resolution.
Problem
packaging/README.md(Installation section) currently states:But after #1355 (which removed
packaging/build.py'screate_dmg/sign_app/ bundle pipeline), nothing in the repo actually creates a.dmg:apps/omlx-mac/Scripts/build.sh releaseproducesoMLX.apponly — no DMG step (grep -rn "hdiutil\|create-dmg\|\\.dmg" apps/omlx-mac/Scripts/returns nothing).github/workflows/creates one eitherAppUpdater.swift) consumes DMGs from GitHub Releases but doesn't make themThe DMGs at https://github.com/jundot/omlx/releases presumably come from a maintainer-side script that isn't in the public tree.
Impact
Developers building locally from
packaging/README.mdend up withbuild/Stage/oMLX.appbut no DMG, contradicting the install instructions one section down. The drop-Swift-replaces-PyObjC migration removed the DMG-producing code without replacing it or updating the docs.Suggested fixes
Either:
Add an opt-in DMG step to
apps/omlx-mac/Scripts/build.sh— e.g. a--dmgflag that wraps$STAGED_APPwithhdiutil create -volname oMLX -srcfolder ... -format UDZO. Keeps the default flow unchanged for the auto-rebuild / Xcode-run loop, but gives local builders a documented way to produce a DMG matching the Releases shape. Updatepackaging/README.mdto reflect the new flag.Or remove the DMG claim from
packaging/README.mdand document that DMGs only come from official releases.I'll open a PR doing (1) since it lines up with the README's existing wording. Open to either resolution.