@@ -11,8 +11,10 @@ trap 'rm -rf "$TMP_DIR"' EXIT
1111APP_PATH=" $TMP_DIR /cmux.app"
1212SPARKLE_FRAMEWORK=" $APP_PATH /Contents/Frameworks/Sparkle.framework"
1313SPARKLE_VERSION_DIR=" $SPARKLE_FRAMEWORK /Versions/B"
14- EXTRA_SPARKLE_XPC=" $SPARKLE_VERSION_DIR /XPCServices/InstallerStatus.xpc"
14+ NESTED_SPARKLE_XPC=" $SPARKLE_VERSION_DIR /XPCServices/Installer.xpc/Contents/XPCServices/InstallerStatus.xpc"
15+ NESTED_SPARKLE_FRAMEWORK=" $SPARKLE_VERSION_DIR /Updater.app/Contents/Frameworks/UpdaterSupport.framework"
1516OTHER_FRAMEWORK=" $APP_PATH /Contents/Frameworks/Sentry.framework"
17+ NESTED_SENTRY_BUNDLE=" $OTHER_FRAMEWORK /Resources/Crashpad.bundle"
1618CLI_PATH=" $APP_PATH /Contents/Resources/bin/cmux"
1719HELPER_PATH=" $APP_PATH /Contents/Resources/bin/ghostty"
1820ENTITLEMENTS=" cmux.entitlements"
2527mkdir -p \
2628 " $SPARKLE_VERSION_DIR /XPCServices/Installer.xpc" \
2729 " $SPARKLE_VERSION_DIR /XPCServices/Downloader.xpc" \
28- " $EXTRA_SPARKLE_XPC " \
30+ " $NESTED_SPARKLE_XPC " \
31+ " $NESTED_SPARKLE_FRAMEWORK " \
2932 " $SPARKLE_VERSION_DIR /Updater.app" \
30- " $OTHER_FRAMEWORK " \
33+ " $NESTED_SENTRY_BUNDLE " \
3134 " $( dirname " $CLI_PATH " ) "
3235ln -s B " $SPARKLE_FRAMEWORK /Versions/Current"
3336touch \
@@ -47,35 +50,37 @@ line_number_regex() {
4750
4851installer_line=" $( line_number_regex ' Installer\.xpc$' ) "
4952downloader_line=" $( line_number_regex ' Downloader\.xpc$' ) "
50- extra_xpc_line =" $( line_number_regex ' InstallerStatus\.xpc$' ) "
53+ nested_xpc_line =" $( line_number_regex ' InstallerStatus\.xpc$' ) "
5154autoupdate_line=" $( line_number_regex ' /Autoupdate$' ) "
55+ updater_support_line=" $( line_number_regex ' UpdaterSupport\.framework$' ) "
5256updater_line=" $( line_number_regex ' Updater\.app$' ) "
5357sparkle_line=" $( line_number_regex ' Sparkle\.framework$' ) "
58+ nested_bundle_line=" $( line_number_regex ' Crashpad\.bundle$' ) "
5459sentry_line=" $( line_number_regex ' Sentry\.framework$' ) "
5560cli_line=" $( line_number_regex ' /Resources/bin/cmux$' ) "
5661helper_line=" $( line_number_regex ' /Resources/bin/ghostty$' ) "
5762app_line=" $( line_number_regex ' --entitlements cmux\.entitlements .*/cmux\.app$' ) "
5863verify_line=" $( line_number_regex ' --verify --deep --strict --verbose=2 .*/cmux\.app$' ) "
5964
60- for value_name in installer_line downloader_line extra_xpc_line autoupdate_line updater_line sparkle_line sentry_line cli_line helper_line app_line verify_line; do
65+ for value_name in installer_line downloader_line nested_xpc_line autoupdate_line updater_support_line updater_line sparkle_line nested_bundle_line sentry_line cli_line helper_line app_line verify_line; do
6166 if [ -z " ${! value_name} " ]; then
6267 echo " FAIL: expected $value_name in signing plan"
6368 printf ' %s\n' " $OUTPUT "
6469 exit 1
6570 fi
6671done
6772
68- if [ " $installer_line " -ge " $sparkle_line " ] || [ " $downloader_line " -ge " $sparkle_line " ] || [ " $extra_xpc_line " -ge " $sparkle_line " ] || [ " $autoupdate_line " -ge " $sparkle_line " ] || [ " $updater_line " -ge " $sparkle_line " ]; then
73+ if [ " $nested_xpc_line " -ge " $ installer_line" ] || [ " $installer_line " -ge " $sparkle_line " ] || [ " $downloader_line " -ge " $sparkle_line " ] || [ " $autoupdate_line " -ge " $sparkle_line " ] || [ " $updater_support_line " -ge " $updater_line " ] || [ " $updater_line " -ge " $sparkle_line " ]; then
6974 echo " FAIL: Sparkle nested components must be signed before Sparkle.framework"
7075 exit 1
7176fi
7277
73- if [ " $sparkle_line " -ge " $sentry_line " ] || [ " $sentry_line " -ge " $cli_line " ] || [ " $helper_line " -ge " $app_line " ] || [ " $app_line " -ge " $verify_line " ]; then
78+ if [ " $nested_bundle_line " -ge " $sentry_line " ] || [ " $ sparkle_line" -ge " $sentry_line " ] || [ " $sentry_line " -ge " $cli_line " ] || [ " $helper_line " -ge " $app_line " ] || [ " $app_line " -ge " $verify_line " ]; then
7479 echo " FAIL: signing order is incorrect"
7580 exit 1
7681fi
7782
78- for sparkle_component in Installer.xpc Downloader.xpc InstallerStatus.xpc /Autoupdate Updater.app Sparkle.framework Sentry.framework; do
83+ for sparkle_component in Installer.xpc Downloader.xpc InstallerStatus.xpc /Autoupdate UpdaterSupport.framework Updater.app Crashpad.bundle Sparkle.framework Sentry.framework; do
7984 if printf ' %s\n' " $OUTPUT " | grep -F " $sparkle_component " | grep -Fq -- ' --entitlements' ; then
8085 echo " FAIL: $sparkle_component must not be signed with app entitlements"
8186 exit 1
0 commit comments