URI: 
       tnotarize_app.sh - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
       tnotarize_app.sh (2196B)
       ---
            1 #!/usr/bin/env bash
            2 # from https://github.com/metabrainz/picard/blob/e1354632d2db305b7a7624282701d34d73afa225/scripts/package/macos-notarize-app.sh
            3 
            4 
            5 if [ -z "$1" ]; then
            6     echo "Specify app bundle as first parameter"
            7     exit 1
            8 fi
            9 
           10 if [ -z "$APPLE_ID_USER" ] || [ -z "$APPLE_ID_PASSWORD" ]; then
           11     echo "You need to set your Apple ID credentials with \$APPLE_ID_USER and \$APPLE_ID_PASSWORD."
           12     exit 1
           13 fi
           14 
           15 APP_BUNDLE=$(basename "$1")
           16 APP_BUNDLE_DIR=$(dirname "$1")
           17 
           18 cd "$APP_BUNDLE_DIR" || exit 1
           19 
           20 # Package app for submission
           21 echo "Generating ZIP archive ${APP_BUNDLE}.zip..."
           22 ditto -c -k --rsrc --keepParent "$APP_BUNDLE" "${APP_BUNDLE}.zip"
           23 
           24 # Submit for notarization
           25 echo "Submitting $APP_BUNDLE for notarization..."
           26 RESULT=$(xcrun altool --notarize-app --type osx \
           27   --file "${APP_BUNDLE}.zip" \
           28   --primary-bundle-id org.electrum.electrum \
           29   --username $APPLE_ID_USER \
           30   --password @env:APPLE_ID_PASSWORD \
           31   --output-format xml)
           32 
           33 if [ $? -ne 0 ]; then
           34   echo "Submitting $APP_BUNDLE failed:"
           35   echo "$RESULT"
           36   exit 1
           37 fi
           38 
           39 REQUEST_UUID=$(echo "$RESULT" | xpath \
           40   "//key[normalize-space(text()) = 'RequestUUID']/following-sibling::string[1]/text()" 2> /dev/null)
           41 
           42 if [ -z "$REQUEST_UUID" ]; then
           43   echo "Submitting $APP_BUNDLE failed:"
           44   echo "$RESULT"
           45   exit 1
           46 fi
           47 
           48 echo "$(echo "$RESULT" | xpath \
           49   "//key[normalize-space(text()) = 'success-message']/following-sibling::string[1]/text()" 2> /dev/null)"
           50 
           51 # Poll for notarization status
           52 echo "Submitted notarization request $REQUEST_UUID, waiting for response..."
           53 sleep 60
           54 while :
           55 do
           56   RESULT=$(xcrun altool --notarization-info "$REQUEST_UUID" \
           57     --username "$APPLE_ID_USER" \
           58     --password @env:APPLE_ID_PASSWORD \
           59     --output-format xml)
           60   STATUS=$(echo "$RESULT" | xpath \
           61     "//key[normalize-space(text()) = 'Status']/following-sibling::string[1]/text()" 2> /dev/null)
           62 
           63   if [ "$STATUS" = "success" ]; then
           64     echo "Notarization of $APP_BUNDLE succeeded!"
           65     break
           66   elif [ "$STATUS" = "in progress" ]; then
           67     echo "Notarization in progress..."
           68     sleep 20
           69   else
           70     echo "Notarization of $APP_BUNDLE failed:"
           71     echo "$RESULT"
           72     exit 1
           73   fi
           74 done
           75 
           76 # Staple the notary ticket
           77 xcrun stapler staple "$APP_BUNDLE"