summaryrefslogtreecommitdiff
path: root/branding/scripts/osx-stapler.sh
diff options
context:
space:
mode:
authorkali <kali@leap.se>2021-07-15 17:10:31 +0200
committerkali kaneko (leap communications) <kali@leap.se>2021-07-15 17:23:55 +0200
commit8fd0fcc5eaa9b5fc7692304cdf24560dfb8862ab (patch)
tree9fb77f1ee6b88fb258a5f3fc08f02c3af4eaf074 /branding/scripts/osx-stapler.sh
parentd9131ae8c78519e6c8e17285ae29caa06e704892 (diff)
[pkg] improve stapler script
Diffstat (limited to 'branding/scripts/osx-stapler.sh')
-rwxr-xr-x[-rw-r--r--]branding/scripts/osx-stapler.sh44
1 files changed, 15 insertions, 29 deletions
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