annotate mac/finishup.sh @ 2815:1efe0ed76629

Mac: Fixed a longstanding crash I had on exit in dwtest on PPC MacOS. I don't really understand why, but I need two retains in the box unpack functions or the unpacked widget will be double deallocated when draining the auto release pool on application exit. The zombie detection code on Intel reported the problem as well, but it did not actually crash.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 01 Aug 2022 22:09:46 +0000
parents b9d373d1ccf5
children 2934b2fdcd8e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
443
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1 #!/bin/sh
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2 PLATFORM=`uname -s`
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
3
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
4 if [ $PLATFORM = "Darwin" ]
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
5 then
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
6 mkdir -p dwtest.app/Contents/MacOS
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
7 mkdir -p dwtest.app/Contents/Resources
2446
b9d373d1ccf5 Add support for checking the application data directory for the images.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2120
diff changeset
8 mkdir -p dwtest.app/Contents/Resources/mac
639
06be879f5137 Support for building with GTK+ on Mac OSX
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 443
diff changeset
9
06be879f5137 Support for building with GTK+ on Mac OSX
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 443
diff changeset
10 cp -f $1/mac/Info.plist dwtest.app/Contents
2446
b9d373d1ccf5 Add support for checking the application data directory for the images.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2120
diff changeset
11 cp -f $1/mac/PkgInfo dwtest.app/Contents
b9d373d1ccf5 Add support for checking the application data directory for the images.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2120
diff changeset
12 cp -f $1/mac/file.png dwtest.app/Contents/Resources/mac
b9d373d1ccf5 Add support for checking the application data directory for the images.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2120
diff changeset
13 cp -f $1/mac/folder.png dwtest.app/Contents/Resources/mac
b9d373d1ccf5 Add support for checking the application data directory for the images.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2120
diff changeset
14 cp -f $1/image/test.png dwtest.app/Contents/Resources
443
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
15 cp -f dwtest dwtest.app/Contents/MacOS
2074
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
16 # Check if there is a certificate to sign with...
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
17 if [ ! -f mac/key.crt ]; then
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
18 if [ -f mac/key.rsa ]; then
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
19 # If not we generate a self-signed one for testing purposes
2120
3784795a1e94 Mac: Add support for AdHoc code signing in finishup script.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2074
diff changeset
20 echo "No certificate in mac/key.crt so generating self-signed certificate..."
2074
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
21 openssl req -new -key mac/key.rsa -out mac/key.csr -config mac/openssl.cnf
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
22 openssl x509 -req -days 3650 -in mac/key.csr -signkey mac/key.rsa -out mac/key.crt -extfile mac/openssl.cnf -extensions codesign
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
23 certtool i mac/key.crt k="`pwd`/mac/key.keychain" r=mac/key.rsa c p=moof
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
24 else
2120
3784795a1e94 Mac: Add support for AdHoc code signing in finishup script.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2074
diff changeset
25 echo "No key pair found, cannot generate certificate... signing AdHoc."
3784795a1e94 Mac: Add support for AdHoc code signing in finishup script.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2074
diff changeset
26 codesign -s "-" dwtest.app/Contents/MacOS/dwtest
2074
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
27 fi
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
28 fi
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
29 if [ -f mac/key.keychain ]; then
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
30 echo "Signing the apllication with certificate in mac/key.crt"
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
31 codesign -s my-signing-identity --keychain mac/key.keychain dwtest.app/Contents/MacOS/dwtest
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
32 fi
639
06be879f5137 Support for building with GTK+ on Mac OSX
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 443
diff changeset
33 fi