build(mac): an unsigned local build launches — dev entitlements without the keychain group, no profile; native build scripts survive a path with a space - #143
Open
kai-openswarm wants to merge 1 commit into
Conversation
…ut the keychain group, no profile; native build scripts survive a path with a space Two things stopped 'bash scripts/build-app.sh' (the documented unsigned local build) from producing an app that opens: - electron-builder falls back to an ad-hoc signature but still applied the release entitlements + provisioning profile. keychain-access-groups is a restricted entitlement macOS will not honour on an ad-hoc identity, so the app was SIGKILLed at exec with nothing on stderr and no window (bisected: the same signature minus that one key launches, hardened runtime and all). The unsigned path now packs with --dir, re-signs the outer bundle with build/entitlements.mac.dev.plist (production minus that group) and no profile, then builds the dmg/zip from that app with --prepackaged, so what lands in dist/ is what launches. Signed and publish builds are untouched. - build-mouseclamp.sh / build-haptics.sh invoked $NODE_GYP unquoted; a checkout under a directory with a space split the binary path into two words and the build died before packaging. The command is an array now (the npx fallback is legitimately several words). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two things stopped
bash scripts/build-app.sh— the documented unsigned local build — from producing an app that opens:keychain-access-groupsis a restricted entitlement macOS will not honour on an ad-hoc identity, so the app died at launch with nothing on stderr and no window. Bisected on a local build: the same signature minus that one key launches fine, hardened runtime and all.The unsigned path now packs with
--dir, re-signs the outer bundle withbuild/entitlements.mac.dev.plist(production minus that group) and no profile, then builds the dmg/zip from that app with--prepackaged, so what lands indist/is what launches. Signed and publish builds are untouched. Passkey sign-in via the shared keychain group is off in a dev build — it could not have worked on an ad-hoc signature anyway.build-mouseclamp.sh/build-haptics.shinvoked$NODE_GYPunquoted; a checkout under a directory with a space split the binary path into two words and the build died before packaging. The command is an array now (the npx fallback is legitimately several words).Verified
build-mouseclamp.sh arm64on a path containing a space builds and stagesmouseclamp.node(Mach-O 64-bit bundle arm64).plutil -linton the new plist; it differs fromentitlements.mac.plistby exactlykeychain-access-groups.