diff options
author | kali <kali@leap.se> | 2021-07-15 17:10:31 +0200 |
---|---|---|
committer | kali kaneko (leap communications) <kali@leap.se> | 2021-07-15 17:23:55 +0200 |
commit | 8fd0fcc5eaa9b5fc7692304cdf24560dfb8862ab (patch) | |
tree | 9fb77f1ee6b88fb258a5f3fc08f02c3af4eaf074 /branding/scripts | |
parent | d9131ae8c78519e6c8e17285ae29caa06e704892 (diff) |
[pkg] improve stapler script
Diffstat (limited to 'branding/scripts')
-rwxr-xr-x | branding/scripts/osx-staple-status.py | 5 | ||||
-rwxr-xr-x | branding/scripts/osx-staple-uuid.py | 5 | ||||
-rwxr-xr-x[-rw-r--r--] | branding/scripts/osx-stapler.sh | 44 |
3 files changed, 25 insertions, 29 deletions
diff --git a/branding/scripts/osx-staple-status.py b/branding/scripts/osx-staple-status.py new file mode 100755 index 0000000..6ee9943 --- /dev/null +++ b/branding/scripts/osx-staple-status.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 +import sys +arg = sys.argv[1] +line = [x for x in arg.split('\n') if x.startswith('Status:')] +print(line[0].split('Status: ')[-1]) diff --git a/branding/scripts/osx-staple-uuid.py b/branding/scripts/osx-staple-uuid.py new file mode 100755 index 0000000..2db3699 --- /dev/null +++ b/branding/scripts/osx-staple-uuid.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 +import sys +arg = sys.argv[1] +line = [x for x in arg.split('\n') if x.startswith('Status:')] +print(line[0].split('=')[1]) diff --git a/branding/scripts/osx-stapler.sh b/branding/scripts/osx-stapler.sh index 3069e49..5017f0b 100644..100755 --- a/branding/scripts/osx-stapler.sh +++ b/branding/scripts/osx-stapler.sh @@ -1,19 +1,20 @@ #!/bin/bash # Notes to script notarization steps. +# To be called from the root folder. # Taken from https://oozou.com/blog/scripting-notarization-for-macos-app-distribution-38 # TODO: put pass in keychain +# --password "@keychain:notarization-password" -# 1. create dmb -hdiutil create -format UDZO -srcfolder yourFolder YourApp.dmg +USER=info@leap.se -# 2. send notarization request requestInfo=$(xcrun altool --notarize-app \ - --file "YourApp.dmg" \ - --username "yourDeveloperAccountEmail@email.com" \ - --password "@keychain:notarization-password" \ - --asc-provider "yourAppleTeamID" \ - --primary-bundle-id "com.your.app.bundle.id") + -t osx -f build/installer/${APPNAME}-installer-${VERSION}.zip \ + --primary-bundle-id="se.leap.bitmask.${TARGET}" \ + -u ${USER} \ + -p ${OSXAPPPASS}) + +uuid=$(python branding/scripts/osx-get-uuid.py $requestInfo) current_status = "in progress" @@ -22,31 +23,16 @@ while [[ "$currentStatus" == "in progress" ]]; do sleep 15 statusResponse=$(xcrun altool --notarization-info "$uuid" \ - --username "yourDeveloperAccountEmail@email.com" \ - --password "@keychain:notarization-password") - -# TODO change to python ---- ruby script ------------------------------------ -# the response is a multiline string, with the status being on its own line -# using the format "Status: <status here>" -# Split each line into its own object in an array -response_objects = ARGV[0].split("\n") - -# get line that contains the "Status:" text -status_line = response_objects.select { |data| data.include?('Status:') }[0] - -# get text describing the status (should be either "in progress" or "success") -current_status = "#{status_line.split('Status: ').last}" - -# respond with value -puts current_status -# -- end ruby script -------------------------------------------------------- - -current_status=$(ruby status.rb "$statusResponse") + --username ${USER} \ + --password ${OSXAPPPASS}) +current_status=$(python branding/scripts/osx-get-status.py $statusResponse) done + if [[ "$current_status" == "success" ]]; then # staple notarization here - xcrun stapler staple "YourApp.dmg" + xcrun stapler staple build/installer/${APPNAME}-installer-${VERSION}.app + create-dmg deploy/${APPNAME}-${VERSION}.dmg build/installer/${APPNAME}-installer-${VERSION}.app else echo "Error! The status was $current_status. There were errors. Please check the LogFileURL for error descriptions" exit 1 |