Skip to content

Add dist-local.sh: build a distributable .pkg on this Mac - #4

Open
Adron wants to merge 1 commit into
mainfrom
build/dist-local
Open

Adron wants to merge 1 commit into
mainfrom
build/dist-local

Conversation

@Adron

@Adron Adron commented Oct 24, 2026

Copy link
Copy Markdown
Member

What

scripts/dist-local.sh (or make dist) builds a distributable Substratal Hub installer on your Mac:

  • Signing: finds the Developer ID Application and Developer ID Installer certificates in your Keychain and signs the app and the .pkg with them. Override with APP_IDENTITY / INSTALLER_IDENTITY; --unsigned skips signing.
  • Notarization: uses a notarytool Keychain profile (default substratal-notary) when one exists, then staples. Set one up once with xcrun notarytool store-credentials substratal-notary --team-id <TEAMID> --apple-id <you@example.com>.
  • Checks: reports the package signature, the Gatekeeper verdict and the SHA-256, and prints the install command. --open shows the .pkg in Finder.
  • Without certificates: builds an unsigned test package and says so up front.

build-pkg.sh (used by CI) also accepts NOTARY_PROFILE as an alternative to an App Store Connect key.

Verification

  • scripts/dist-local.sh 0.1.0 on this Mac built build/pkg/SubstratalHub-0.1.0.pkg in about 2.5 minutes. There are no Developer ID certificates here, so it took the unsigned path and reported "no signature" and "not accepted" by Gatekeeper, as expected.
  • Certificate detection matches by type: it finds the installed Apple Development certificate with the same pattern, and correctly finds no Developer ID certificates.
  • Not exercised: the signed and notarized path, which needs Developer ID certificates and a notarytool profile on this Mac.

🤖 Generated with Claude Code

Wraps build-pkg.sh for a person at a Mac: finds the Developer ID
Application and Installer certificates in the Keychain, notarizes with a
notarytool Keychain profile (substratal-notary by default) when one exists,
then reports the package signature, the Gatekeeper verdict and the SHA-256.
Without certificates it builds an unsigned test package and says so.
--unsigned skips signing, --open reveals the .pkg in Finder.

build-pkg.sh also accepts NOTARY_PROFILE as an alternative to an App Store
Connect key. make dist; README and CHANGELOG updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

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.

1 participant