parallaxinc / BlocklyPropClient

Client to provide access to the propeller for loading binaries and serial terminal
9 stars 7 forks source link

Create build/package/sign script and resources for Mac #34

Closed PropGit closed 7 years ago

PropGit commented 7 years ago

Create a script to build, package, and digitally sign for Mac.

Add to repo.

This is required as a related step of Issue #33.

PropGit commented 7 years ago

Building script. Tested and debugged up to signing the package. Has output and timestamp problem.

PropGit commented 7 years ago

The new build script is working and we can now sign and package for the Mac as of commit b8c8ba.

See README.md for configuration and building/signing/packaging instructions for Mac.

PropGit commented 7 years ago

The script is executed from within the package/ subfolder like so:

$ ./mac_app_sign_and_package.sh -a "BlocklyPropClient" -v 0.5.1 -r -f -d

and the output should look something like this:

----------------RECIPE----------------
* Processing target: "../dist/BlocklyPropClient.app"
* As build version: "0.5.1"
* Using application identity: "Developer ID Application"
* Using installer identity: "Developer ID Installer"
* Restart required after installation
* FTDI kext WILL BE installed by this package

Validating developer identity certificates...
  Found Application Identity: "Developer ID Application"
  Found Installer Identity: "Developer ID Installer"

Code signing the application bundle: ../dist/BlocklyPropClient.app with identity: "Developer ID Application"
../dist/BlocklyPropClient.app: signed bundle with Mach-O thin (x86_64) [BlocklyPropClient]

Validating application signature...
  Verified ../dist/BlocklyPropClient.app signature

Package’s CFBundleIdentifiers will be set for deployment

Found FTDI USB Serial Driver kext

Building FTDI USB Driver package...
pkgbuild: Inferring bundle components from contents of ../drivers/FTDIUSBSerialDriver.kext
pkgbuild: Using timestamp authority for signature
pkgbuild: Signing package with identity "Developer ID Installer: Parallax Inc. (<code>)" from keychain
pkgbuild: Adding certificate "Developer ID Certification Authority"
pkgbuild: Adding certificate "Apple Root CA"
pkgbuild: Wrote package to ../dist/FTDIUSBSerialDriver.pkg

Building application package...
pkgbuild: Inferring bundle components from contents of ../dist/BlocklyPropClient.app
pkgbuild: Using timestamp authority for signature
pkgbuild: Signing package with identity "Developer ID Installer: Parallax Inc. (<code>)" from keychain
pkgbuild: Adding certificate "Developer ID Certification Authority"
pkgbuild: Adding certificate "Apple Root CA"
pkgbuild: Wrote package to ../dist/BlocklyPropClient.pkg

Modifying distribution xml to require restart...

Building installation package...
productbuild: Using timestamp authority for signature
productbuild: Signing product with identity "Developer ID Installer: Parallax Inc. (<code>)" from keychain
productbuild: Adding certificate "Developer ID Certification Authority"
productbuild: Adding certificate "Apple Root CA"
productbuild: Wrote product to ../dist/BlocklyPropClient-0.5.1-setup-MacOS.pkg

Cleaning up temporary files...

Done!