changeset 31:6ba82eead9bb

Alternative approach to signing
author Chris Cannam
date Fri, 13 Dec 2019 12:51:22 +0000
parents 297711cfb455
children 375d2a839053
files .hgignore azi.pro bbc-vamp-plugins.pro beatroot-vamp.pro cepstral-pitchtracker.pro constant-q-cpp.pro deploy/sign-plugin installer.pro marsyas-vamp.pro match-vamp.pro nnls-chroma.pro pyin.pro qm-vamp-plugins.pro segmentino.pro silvet.pro tipic.pro tuning-difference.pro ua-vamp-plugins.pro vamp-aubio-plugins.pro vamp-example-plugins.pro vamp-fanchirp.pro vamp-libxtract-plugins.pro vamp-plugin-pack.pro vamp-simple-cepstrum.pro vamp-tempogram.pro vampy.pro
diffstat 26 files changed, 85 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Fri Dec 13 10:46:28 2019 +0000
+++ b/.hgignore	Fri Dec 13 12:51:22 2019 +0000
@@ -37,3 +37,5 @@
 out/*_COPYING.txt
 build_win64
 *.orig
+out/.something-to-sign
+out/.signed
--- a/azi.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/azi.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/azi/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/bbc-vamp-plugins.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/bbc-vamp-plugins.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/bbc-vamp-plugins/src/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/beatroot-vamp.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/beatroot-vamp.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/beatroot-vamp/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/cepstral-pitchtracker.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/cepstral-pitchtracker.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/cepstral-pitchtracker/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/constant-q-cpp.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/constant-q-cpp.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/constant-q-cpp/vamp/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/deploy/sign-plugin	Fri Dec 13 10:46:28 2019 +0000
+++ b/deploy/sign-plugin	Fri Dec 13 12:51:22 2019 +0000
@@ -2,29 +2,51 @@
 
 set -e
 
-if [ -z "$1" ]; then
+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
 
-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="$1"
     if [ -d /Applications ]; then
         codesign -s "Developer ID Application: Chris Cannam" -fv --options runtime "$path"
     fi
+}
 
-done
+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
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installer.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -0,0 +1,25 @@
+
+TEMPLATE = app
+
+exists(config.pri) {
+    include(config.pri)
+}
+
+!exists(config.pri) {
+    include(noconfig.pri)
+}
+
+CONFIG += release warn_on c++14
+
+QT += gui widgets svg
+
+TARGET = "Vamp Plugin Pack Installer"
+linux*:TARGET=vamp-plugin-pack-installer
+
+sign.target = $$PWD/out/.signed
+sign.depends = $$PWD/out/.something-to-sign
+sign.commands = $$PWD/deploy/sign-plugin $$PWD/out
+
+QMAKE_EXTRA_TARGETS += sign
+PRE_TARGETDEPS += $$sign.target
+
--- a/marsyas-vamp.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/marsyas-vamp.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -35,7 +35,7 @@
     LIBS += -exported_symbols_list $$PWD/vamp-plugin-sdk/skeleton/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/match-vamp.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/match-vamp.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -35,7 +35,7 @@
     LIBS += -exported_symbols_list $$PWD/match-vamp/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/nnls-chroma.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/nnls-chroma.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/nnls-chroma/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/pyin.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/pyin.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -34,7 +34,7 @@
     LIBS += -exported_symbols_list $$PWD/pyin/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/qm-vamp-plugins.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/qm-vamp-plugins.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -43,7 +43,7 @@
     LIBS += -exported_symbols_list $$PWD/qm-vamp-plugins/vamp-plugin.list -lpthread
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/segmentino.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/segmentino.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -35,7 +35,7 @@
     LIBS += -exported_symbols_list $$PWD/segmentino/segmentino/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/silvet.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/silvet.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/silvet/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/tipic.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/tipic.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -36,7 +36,7 @@
     LIBS += -exported_symbols_list $$PWD/tipic/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/tuning-difference.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/tuning-difference.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -34,7 +34,7 @@
     LIBS += -exported_symbols_list $$PWD/tuning-difference/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/ua-vamp-plugins.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/ua-vamp-plugins.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -34,7 +34,7 @@
     LIBS += -exported_symbols_list $$PWD/ua-vamp-plugins/vamp-plugin.list -lfftw3
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/vamp-aubio-plugins.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/vamp-aubio-plugins.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -34,7 +34,7 @@
     LIBS += -exported_symbols_list $$PWD/vamp-aubio-plugins/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/vamp-example-plugins.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/vamp-example-plugins.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/vamp-plugin-sdk/build/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/vamp-fanchirp.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/vamp-fanchirp.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -34,7 +34,7 @@
     LIBS += -exported_symbols_list $$PWD/vamp-fanchirp/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/vamp-libxtract-plugins.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/vamp-libxtract-plugins.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -37,7 +37,7 @@
     LIBS += -exported_symbols_list $$PWD/vamp-libxtract-plugins/vamp-plugin.list -framework Accelerate
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/vamp-plugin-pack.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/vamp-plugin-pack.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -24,7 +24,8 @@
         sub_marsyas \
         sub_fanchirp \
         sub_vampy \
-        sub_tempogram
+        sub_tempogram \
+        sub_installer
 
 sub_sdk.file = vamp-plugin-sdk.pro
 sub_match.file = match-vamp.pro
@@ -49,6 +50,7 @@
 sub_fanchirp.file = vamp-fanchirp.pro
 sub_vampy.file = vampy.pro
 sub_tempogram.file = vamp-tempogram.pro
+sub_installer.file = installer.pro
 
 repoint.target = $$PWD/.repoint.point
 repoint.depends = $$PWD/repoint-project.json $$PWD/repoint-lock.json
--- a/vamp-simple-cepstrum.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/vamp-simple-cepstrum.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/vamp-simple-cepstrum/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/vamp-tempogram.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/vamp-tempogram.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -33,7 +33,7 @@
     LIBS += -exported_symbols_list $$PWD/vamp-tempogram/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \
--- a/vampy.pro	Fri Dec 13 10:46:28 2019 +0000
+++ b/vampy.pro	Fri Dec 13 12:51:22 2019 +0000
@@ -42,7 +42,7 @@
     LIBS += -lpython2.7 -lpthread -exported_symbols_list $$PWD/vampy/vamp-plugin.list
 }
 
-QMAKE_POST_LINK += $$PWD/deploy/sign-plugin $${PWD}/$${TARGET}.$${QMAKE_EXTENSION_SHLIB}
+QMAKE_POST_LINK += touch $$PWD/out/.something-to-sign
 
 !win* {
     QMAKE_POST_LINK += && \