changeset 64:0c94d3065ecd

Fix app signing; remove plugin signing from project files, as we now need to separate out the plugin build, plugin signing, and installer build phases on every platform
author Chris Cannam
date Tue, 11 Feb 2020 10:16:49 +0000
parents 58e766558fac
children bf0fc15c3e21
files .hgignore deploy/linux/sign-plugins deploy/osx/build-and-package.sh deploy/osx/sign-plugins installer.pro
diffstat 5 files changed, 6 insertions(+), 110 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Tue Feb 11 09:47:44 2020 +0000
+++ b/.hgignore	Tue Feb 11 10:16:49 2020 +0000
@@ -47,3 +47,4 @@
 *.app
 installer.qrc
 Dockerfile.gen
+plugins.zip
--- a/deploy/linux/sign-plugins	Tue Feb 11 09:47:44 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-#!/bin/bash
-
-# This is purely a stub - we have no actual signing on Linux yet
-
-set -e
-
-usage() {
-    echo "Usage: $0 <plugin> [<plugin> ...]" 1>&2
-    echo "       $0 <plugin-dir>" 1>&2
-    exit 2
-}    
-
-first_arg="$1"
-
-if [ -z "$first_arg" ]; then
-    usage
-fi
-
-if [ -d "$first_arg" ] && [ -n "$2" ]; then
-    usage
-fi
-
-paths=("$@")
-
-set -u
-
-sign() {
-    path="$1"
-    echo "$path"
-}
-
-if [ -d "$first_arg" ]; then
-    for path in "$first_arg"/*.{dll,so,dylib} ; do
-        if [ -f "$path" ]; then
-            sign "$path"
-        fi
-    done
-    touch "$first_arg/.signed"
-else
-    for path in "${paths[@]}"; do
-        if [ ! -f "$path" ]; then
-            echo "ERROR: Path $path not found" 1>&2
-            exit 1
-        fi
-    done
-    for path in "${paths[@]}"; do
-        sign "$path"
-    done
-fi
-
-exit 0
-
--- a/deploy/osx/build-and-package.sh	Tue Feb 11 09:47:44 2020 +0000
+++ b/deploy/osx/build-and-package.sh	Tue Feb 11 10:16:49 2020 +0000
@@ -113,7 +113,11 @@
 
 echo
 echo "Signing installer..."
-codesign -s "$identity" -fv --deep --timestamp --options runtime "$volume"
+find "$target" -name \*.dylib -print | while read fr; do
+    codesign -s "$identity" -fv --deep --timestamp --options runtime "$fr"
+done
+codesign -s "$identity" -fv --deep --timestamp --options runtime "$target/Contents/MacOS/$app"
+codesign -s "$identity" -fv --deep --timestamp --options runtime "$target"
 echo "Done"
 
 echo
--- a/deploy/osx/sign-plugins	Tue Feb 11 09:47:44 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-#!/bin/bash
-
-set -e
-
-usage() {
-    echo "Usage: $0 <plugin> [<plugin> ...]" 1>&2
-    echo "       $0 <plugin-dir>" 1>&2
-    exit 2
-}    
-
-first_arg="$1"
-
-if [ -z "$first_arg" ]; then
-    usage
-fi
-
-if [ -d "$first_arg" ] && [ -n "$2" ]; then
-    usage
-fi
-
-paths=("$@")
-
-set -u
-
-sign() {
-    path="$1"
-    codesign -s "Developer ID Application: Chris Cannam" -fv --options runtime "$path"
-}
-
-if [ -d "$first_arg" ]; then
-    for path in "$first_arg"/*.{dll,so,dylib} ; do
-        if [ -f "$path" ]; then
-            sign "$path"
-        fi
-    done
-    touch "$first_arg/.signed"
-else
-    for path in "${paths[@]}"; do
-        if [ ! -f "$path" ]; then
-            echo "ERROR: Path $path not found" 1>&2
-            exit 1
-        fi
-    done
-    for path in "${paths[@]}"; do
-        sign "$path"
-    done
-fi
-
-exit 0
-
--- a/installer.pro	Tue Feb 11 09:47:44 2020 +0000
+++ b/installer.pro	Tue Feb 11 10:16:49 2020 +0000
@@ -25,13 +25,6 @@
 MOC_DIR = o
 RCC_DIR = o
 
-sign.target = $$PWD/out/.signed
-sign.depends = $$PWD/out/.something-to-sign
-sign.commands = $$DEPLOYDIR/sign-plugins $$PWD/out
-
-QMAKE_EXTRA_TARGETS += sign
-PRE_TARGETDEPS += $$sign.target
-
 qrc.target = $$PWD/installer.qrc
 qrc.depends = $$PWD/installer.qrc.in
 qrc.commands = $$DEPLOYDIR/generate-qrc $$PWD/installer.qrc