aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpackaging/macosx/make-package.sh44
-rw-r--r--packaging/macosx/sign27
2 files changed, 35 insertions, 36 deletions
diff --git a/packaging/macosx/make-package.sh b/packaging/macosx/make-package.sh
index 4bddbbe13..f2099fe2c 100755
--- a/packaging/macosx/make-package.sh
+++ b/packaging/macosx/make-package.sh
@@ -9,55 +9,27 @@
#
# run this from the top subsurface directory
-# adjust to your install location of gtk-mac-bundler. I appear to need at
-# least 0.7.2
-BUNDLER=../.local/bin/gtk-mac-bundler
-BUNDLER_SRC=$HOME/gtk-mac-bundler
-
# install location of yourway-create-dmg
DMGCREATE=../yoursway-create-dmg/create-dmg
-# This is the directory into which MacPorts, libdivecomputer and all the
-# other components have been installed
-PREFIX=/Applications/Subsurface.app/Contents/Resources
-
-INFOPLIST=./packaging/macosx/Info.plist
-
# same git version magic as in the Makefile
# for the naming of volume and dmg we don't need the "always 3 digits"
# darwin version - the 'regular' version that has 2 digits for releases
# is better
VERSION=$(./scripts/get-version linux)
-# gtk-mac-bundler allegedly supports signing by setting this environment
-# variable, but this fails as we change the shared objects below and all
-# the signatures become invalid.
-# export APPLICATION_CERT=Dirk
-
-# force rebuilding of Info.plist
-rm $INFOPLIST
# first build and install Subsurface and then clean up the staging area
+sudo rm -rf ./Subsurface.app
make
-make install-macosx
-rm -rf ./staging
-
-# now populate it with the bundle
-$BUNDLER packaging/macosx/subsurface.bundle
+sudo make mac-deploy
-# correct the paths and names
-cd staging/Subsurface.app/Contents
-for i in Resources/lib/gdk-pixbuf-2.0/2.10.0/loaders/*; do
- $BUNDLER_SRC/bundler/run-install-name-tool-change.sh $i $PREFIX Resources change
-done
-for i in Resources/lib/*.dylib; do
- install_name_tool -id "@executable_path/../$i" $i
-done
-
-cd ../../..
+# copy things into staging so we can create a nice DMG
+rm -rf ./staging
+mkdir ./staging
+cp -a ./Subsurface.app ./staging
-codesign -s Dirk ./staging/Subsurface.app/Contents/MacOS/subsurface \
- ./staging/Subsurface.app/Contents/MacOS/subsurface-bin
+sudo sh ./packaging/macosx/sign
if [ -f ./Subsurface-$VERSION.dmg ]; then
rm ./Subsurface-$VERSION.dmg.bak
@@ -67,5 +39,5 @@ fi
$DMGCREATE --background ./packaging/macosx/DMG-Background.png \
--window-size 500 300 --icon-size 96 --volname Subsurface-$VERSION \
--app-drop-link 380 205 \
- --volicon ~/subsurface/packaging/macosx/Subsurface.icns \
+ --volicon ~/src/subsurface/packaging/macosx/Subsurface.icns \
--icon "Subsurface" 110 205 ./Subsurface-$VERSION.dmg ./staging
diff --git a/packaging/macosx/sign b/packaging/macosx/sign
new file mode 100644
index 000000000..de0680e14
--- /dev/null
+++ b/packaging/macosx/sign
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+echo -- signing staging/Subsurface.app
+cd staging
+
+#echo -- signing application
+#
+#codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app/Contents/MacOS/Subsurface
+
+echo -- signing Qt frameworks
+
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtCore.framework/Versions/4/QtCore
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtDeclarative.framework/Versions/4/QtDeclarative
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtGui.framework/Versions/4/QtGui
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtScript.framework/Versions/4/QtScript
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtSql.framework/Versions/4/QtSql
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtSvg.framework/Versions/4/QtSvg
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebkit
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtXml.framework/Versions/4/QtXml
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app//Contents/Frameworks/QtXmlPatterns.framework/Versions/4/QtXmlPatterns
+
+echo -- signing plugins
+find ./Subsurface.app/Contents/PlugIns -name \*.dylib | xargs codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8
+
+echo -- finally sign .app
+codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 ./Subsurface.app