macOS: remove hardcoded paths for code signing python/dylib/so
authorArto Kitula <arto.kitula@gmail.com>
Fri, 12 Jul 2019 12:44:16 +0000 (14:44 +0200)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Fri, 12 Jul 2019 16:59:27 +0000 (18:59 +0200)
Differential Revision: https://developer.blender.org/D5234

release/darwin/bundle.sh

index 73fba0f30e6914cb3a9bba994e6cf7151d086ca9..fed91d26b7ff7bb7c184e8b7b325175772f1c7a7 100755 (executable)
@@ -124,11 +124,17 @@ sleep 5
 
 if [ ! -z "${C_CERT}" ]; then
     # Codesigning requires all libs and binaries to be signed separately.
-    # TODO: use find to get the list automatically
-    echo -n "Codesigning..."
-    codesign --timestamp --options runtime --sign "${C_CERT}" "${_mount_dir}/Blender.app/Contents/Resources/*/python/bin/python*"
-    codesign --timestamp --options runtime --sign "${C_CERT}" "${_mount_dir}/Blender.app/Contents/Resources/*/python/lib/python*/site-packages/libextern_draco.dylib"
-    codesign --timestamp --options runtime --sign "${C_CERT}" "${_mount_dir}/Blender.app/Contents/Resources/lib/libomp.dylib"
+    echo -n "Codesigning Python"
+    for f in $(find "${_mount_dir}/Blender.app/Contents/Resources" -name "python*"); do
+       if [ -x ${f} ] && [ ! -d ${f} ]; then
+           codesign --timestamp --options runtime --sign "${C_CERT}" "${f}"
+       fi
+    done
+    echo ; echo -n "Codesigning .dylib and .so libraries"
+    for f in $(find "${_mount_dir}/Blender.app" -name "*.dylib" -o -name "*.so"); do
+       codesign --timestamp --options runtime --sign "${C_CERT}" "${f}"
+    done
+    echo ; echo -n "Codesigning Blender.app"
     codesign --timestamp --options runtime --sign "${C_CERT}" "${_mount_dir}/Blender.app"
     echo
 else
@@ -161,6 +167,7 @@ if [ ! -z "${N_USERNAME}" ] && [ ! -z "${N_PASSWORD}" ] && [ ! -z "${N_BUNDLE_ID
     # Send to Apple
     echo -n "Sending ${DEST_DMG} for notarization..."
     _tmpout=$(mktemp)
+    echo xcrun altool --notarize-app -f "${DEST_DMG}" --primary-bundle-id "${N_BUNDLE_ID}" --username "${N_USERNAME}" --password "${N_PASSWORD}"
     xcrun altool --notarize-app -f "${DEST_DMG}" --primary-bundle-id "${N_BUNDLE_ID}" --username "${N_USERNAME}" --password "${N_PASSWORD}" >${_tmpout} 2>&1
 
     # Parse request uuid