Skip to content

Fix CFBundleExecutable to match the renamed macOS target - #16

Merged
vibesoftwarecoder merged 1 commit into
masterfrom
fix/macos-bundle-executable-name
Oct 6, 2026
Merged

vibesoftwarecoder merged 1 commit into
masterfrom
fix/macos-bundle-executable-name

Conversation

@vibesoftwarecoder

Copy link
Copy Markdown
Owner

Fixes the actual structural defect behind #13, which the ad-hoc-signing fix in #14 did not address (RageMC confirmed v6.3.7 still failed with the identical "damaged or incomplete" error).

Real root cause: app.pro renamed the macOS build target from Moonlight to MoonlightVibe back in 71009e96 (2026-05-01), but app/Info.plist's CFBundleExecutable was never updated — it's been upstream's original Moonlight value, untouched, in every fork release since. macdeployqt resolves a bundle's main executable through CFBundleExecutable, so it's been looking for Contents/MacOS/Moonlight, which has never existed. Confirmed directly in CI logs: macdeployqt's first action has always been ERROR: Could not find bundle binary, immediately cascading into Cannot resolve rpath for essentially every Qt framework — because framework deployment never successfully ran. Upstream's own current CI has neither error.

Fix: one line, CFBundleExecutable → MoonlightVibe, matching app.pro.

Verified, not just "CI passed": manually dispatched the real macOS build against this branch. Both error signatures are completely gone from the log (0 occurrences each). The codesign step now correctly references Contents/MacOS/MoonlightVibe and processes an actual embedded framework. The resulting artifact is 78.7MB vs. 35.4MB for the identical v6.3.7 content before — consistent with the bundle's Qt frameworks actually being copied in for the first time, rather than the deploy step silently failing to populate them.

What this still doesn't prove: that the app actually launches cleanly on a real Mac. The ad-hoc-signing fix also looked solid from CI and wasn't — that's exactly why this needs RageMC's test before we treat #13 as closed, not another assumption from a green build.

Merge with Merge commit (never squash, per this repo's convention).

🤖 Generated with Claude Code

app.pro renamed the macOS build target from "Moonlight" to
"MoonlightVibe" in 71009e9 (2026-05-01), but Info.plist's
CFBundleExecutable was never updated and still names "Moonlight" -
upstream's original value, untouched since e596c2d.

The real compiled binary has been "MoonlightVibe" in every fork release
since. macdeployqt resolves the bundle's main executable via
CFBundleExecutable, so it's been looking for Contents/MacOS/Moonlight,
which has never existed - confirmed directly in CI logs: macdeployqt's
first action on this bundle is "ERROR: Could not find bundle binary",
immediately followed by a cascade of "Cannot resolve rpath" for
essentially every Qt framework, because framework deployment never
successfully ran against the (unfound) real binary. Upstream's own
current CI has neither error.

This is the most likely actual cause of #13 ("damaged or incomplete"
on macOS) - a structurally incomplete bundle, independent of and
pre-dating the ad-hoc-signing fix in #14/v6.3.7, which did not resolve
the reporter's symptom because it signed an already-broken bundle.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@vibesoftwarecoder
vibesoftwarecoder merged commit 3caad3c into master Oct 6, 2026
3 checks passed
@vibesoftwarecoder vibesoftwarecoder mentioned this pull request Oct 6, 2026
@vibesoftwarecoder
vibesoftwarecoder deleted the fix/macos-bundle-executable-name branch October 14, 2026 14:06
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.

1 participant