diff deploy/osx/sign.sh @ 699:646e48a0d3a5

Some work on macOS packaging
author Chris Cannam
date Tue, 11 Dec 2018 16:40:57 +0000
parents
children c59c17665162
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deploy/osx/sign.sh	Tue Dec 11 16:40:57 2018 +0000
@@ -0,0 +1,31 @@
+#!/bin/bash 
+
+set -eu
+
+# Execute this from the top-level directory of the project (the one
+# that contains the .app bundle).  Supply the name of the .app bundle
+# as argument
+dir="$1"
+if [ -z "$dir" ] || [ ! -d "$dir" ]; then
+	echo "Usage: $0 <pkgdir>"
+	echo "Where pkgdir is the directory containing <MyApplication>.app"
+	echo "All .app bundles in pkgdir will be signed"
+	exit 2
+fi
+
+for app in "$dir"/*.app; do
+    find "$app" -name Qt\* -print | while read fr; do
+	codesign -s "Developer ID Application: Chris Cannam" -fv --deep "$fr"
+    done
+    find "$app" -name \*.dylib -print | while read fr; do
+	codesign -s "Developer ID Application: Chris Cannam" -fv --deep "$fr"
+    done
+    find "$app" -name \*.so -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"
+#    codesign -s "Developer ID Application: Chris Cannam" -fv \
+#         --requirements '=designated =>  identifier "org.easymercurial.EasyMercurial" 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
+