JAL-4428 codesign jnilibs
authorJim Procter <jprocter@dundee.ac.uk>
Wed, 11 Sep 2024 14:25:52 +0000 (15:25 +0100)
committerJim Procter <jprocter@dundee.ac.uk>
Wed, 11 Sep 2024 14:25:52 +0000 (15:25 +0100)
utils/osx_signing/sign_and_staple_dmg.sh

index e2bde9b..d79c04d 100755 (executable)
@@ -466,6 +466,41 @@ if [ "$SIGN" = 1 ]; then
   mycommand $DOSIGN codesign  --remove-signature --force --deep -vvvv -s "$DEVELOPERID" --options runtime --entitlements "$ENTITLEMENTSFILE" "$FILE"
   mycommand $DOSIGN codesign  --verify --deep -v "$FILE"
 
+
+  # Need to unpack and sign everything in here too
+  CWD=$(pwd)
+  mycommand $DOSIGN mkdir ${TEMPDIR}/jarsign
+  mycommand $DOSIGN cd ${TEMPDIR}/jarsign
+
+  JFILE="${APPPATH}/Contents/Resources/app/alt/libquaqua-8.0.jnilib.jar"
+  mycommand $DOSIGN jar xf "$JFILE" 
+
+  FILE="libquaqua.jnilib"
+  mycommand $DOSIGN codesign  --remove-signature --force --deep -vvvv -s "$DEVELOPERID" --options runtime --entitlements "$ENTITLEMENTSFILE" "$FILE"
+  mycommand $DOSIGN codesign  --verify --deep -v "$FILE"
+
+  mycommand $DOSIGN mv "$JFILE" "${JFILE}.old"
+  mycommand $DOSIGN jar cf "$JFILE" *
+  mycommand $DOSIGN rm "${JFILE}.old"
+
+
+  JFILE="${APPPATH}/Contents/Resources/app/alt/libquaqua64-8.0.jnilib.jar"
+  mycommand $DOSIGN jar xf "$JFILE" 
+
+  FILE="libquaqua64.jnilib"
+  mycommand $DOSIGN codesign  --remove-signature --force --deep -vvvv -s "$DEVELOPERID" --options runtime --entitlements "$ENTITLEMENTSFILE" "$FILE"
+  mycommand $DOSIGN codesign  --verify --deep -v "$FILE"
+
+  mycommand $DOSIGN mv "$JFILE" "${JFILE}.old"
+  mycommand $DOSIGN jar cf "$JFILE" *
+  mycommand $DOSIGN rm "${JFILE}.old"
+
+  mycommand $DOSIGN codesign  --remove-signature --force --deep -vvvv -s "$DEVELOPERID" --options runtime --entitlements "$ENTITLEMENTSFILE" "$JFILE"
+  mycommand $DOSIGN codesign  --verify --deep -v "$JFILE"
+
+  mycommand $DOSIGN cd $CWD
+  mycommand $DOSIGN rm -Rf ${TEMPDIR}/jarsign
+
   FILE="${APPPATH}/Contents/MacOS/JavaApplicationStub"
   mycommand $DOSIGN codesign  --remove-signature --force --deep -vvvv -s "$DEVELOPERID" --options runtime --entitlements "$ENTITLEMENTSFILE" "$FILE"
 fi