# HG changeset patch # User Chris Cannam # Date 1541169852 0 # Node ID 513d77e9309084bd621fc8c19920331dfbca0d7d # Parent 4f4eb416fcb470fc3bcc620a901c89770b6426ce# Parent c5abd41591c71bfe55d2f3fc7435f2a6ca8c630d Merge diff -r c5abd41591c7 -r 513d77e93090 deploy/osx/deploy.sh --- a/deploy/osx/deploy.sh Thu Nov 01 15:16:19 2018 +0000 +++ b/deploy/osx/deploy.sh Fri Nov 02 14:44:12 2018 +0000 @@ -97,4 +97,9 @@ hdiutil create -srcfolder "$volume" "$dmg" -volname "$volume" -fs HFS+ && rm -r "$volume" +echo +echo "Signing dmg..." + +codesign -s "Developer ID Application: Chris Cannam" -fv "$dmg" + echo "Done" diff -r c5abd41591c7 -r 513d77e93090 deploy/osx/notarize.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deploy/osx/notarize.sh Fri Nov 02 14:44:12 2018 +0000 @@ -0,0 +1,24 @@ +#!/bin/bash + +# This is just a scrapbook for the mo + +## Before this, we need to open Application Loader and log in to the +## right iTunes Connect account + +# xcrun altool --notarize-app -f "Sonic Visualiser-3.2.dmg" --primary-bundle-id org.sonicvisualiser.SonicVisualiser -u "cannam+apple@all-day-breakfast.com" -p @keychain:"Application Loader: cannam+apple@all-day-breakfast.com" + +## That churns for a while and then dumps out a UUID + +# xcrun altool --notarization-info UUID -u "cannam+apple@all-day-breakfast.com" -p @keychain:"Application Loader: cannam+apple@all-day-breakfast.com" + +## Returns "in progress" at first, then eventually a failure report +## with a URL that can be retrieved as JSON payload using wget. An +## email is also sent to the iTunes Connect account holder when it +## completes + +# xcrun stapler staple -v "Sonic Visualiser-3.2.dmg" + +# spctl -a -v "/Applications/Sonic Visualiser.app" + + + diff -r c5abd41591c7 -r 513d77e93090 deploy/osx/sign.sh --- a/deploy/osx/sign.sh Thu Nov 01 15:16:19 2018 +0000 +++ b/deploy/osx/sign.sh Fri Nov 02 14:44:12 2018 +0000 @@ -12,19 +12,19 @@ echo "All .app bundles in pkgdir will be signed" exit 2 fi + +# NB at some point we are going to have to include "--options runtime" +# in all of these codesign invocations, and figure out what to do +# about signing plugins... + for app in "$dir"/*.app; do + find "$app" -name \*.dylib -print | while read fr; do + codesign -s "Developer ID Application: Chris Cannam" -fv --deep "$fr" + done + codesign -s "Developer ID Application: Chris Cannam" -fv --deep "$app/Contents/MacOS/Sonic Visualiser" codesign -s "Developer ID Application: Chris Cannam" -fv --deep "$app" -# find "$app" -name Qt\* -print | while read fr; do -# codesign -s "Developer ID Application: Chris Cannam" -fv "$fr" -# done -# find "$app" -name \*.dylib -print | while read fr; do -# codesign -s "Developer ID Application: Chris Cannam" -fv "$fr" -# done -# find "$app/Contents/MacOS" -type f -print | while read fr; do -# codesign -s "Developer ID Application: Chris Cannam" -fv "$fr" -# done - codesign -s "Developer ID Application: Chris Cannam" -fv \ - --requirements '=designated => identifier "org.sonicvisualiser.SonicVisualiser" and ( (anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] ) or (anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] and certificate leaf[field.1.2.840.113635.100.6.1.13] and certificate leaf[subject.OU] = "M2H8666U82"))' \ - "$app" +# codesign -s "Developer ID Application: Chris Cannam" -fv --deep \ +# --requirements '=designated => identifier "org.sonicvisualiser.SonicVisualiser" and ( (anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] ) or (anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] and certificate leaf[field.1.2.840.113635.100.6.1.13] and certificate leaf[subject.OU] = "M2H8666U82"))' \ +# "$app" done diff -r c5abd41591c7 -r 513d77e93090 main/MainWindow.cpp --- a/main/MainWindow.cpp Thu Nov 01 15:16:19 2018 +0000 +++ b/main/MainWindow.cpp Fri Nov 02 14:44:12 2018 +0000 @@ -4532,7 +4532,13 @@ } if (warning != "") { emit hideSplash(); - QMessageBox::warning(this, tr("Problems loading plugins"), warning); + QMessageBox box; + box.setWindowTitle(tr("Problems loading plugins")); + box.setText(tr("Failed to load plugins")); + box.setInformativeText(warning); + box.setIcon(QMessageBox::Warning); + box.setStandardButtons(QMessageBox::Ok); + box.exec(); } }