summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-04-20 11:55:03 -0400
committerBrad King <brad.king@kitware.com>2022-04-20 13:27:39 -0400
commit2167fce99befa565c3a70d09a2be65a865a2f23a (patch)
tree88b0fac91611aa1dc76c039e5f8af4cb3f6e9e88
parent722e4d4619d32fa3da1a3de7fb7b37a87f5a6a8c (diff)
downloadcmake-2167fce99befa565c3a70d09a2be65a865a2f23a.tar.gz
Utilities/Release: Drop SLA from CMake macOS DMG package
macOS 12 deprecates the tools needed to attach a SLA to a `.dmg`. CMake 3.23 added `CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE` to control whether `CPACK_RESOURCE_FILE_LICENSE` is used as the SLA. CMake 3.24 will add policy CMP0133 to disable the SLA by default. Explicitly turn off the SLA for CMake's official macOS binaries. This will allow them to build on future macOS versions that have no SLA tooling available. Issue: #22978
-rw-r--r--CMakeCPack.cmake1
-rw-r--r--Help/release/dev/rel-macos-dmg-no-sla.rst7
-rwxr-xr-xUtilities/Release/macos/sign-notarize.bash9
3 files changed, 8 insertions, 9 deletions
diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake
index 9357804634..38fec3f91a 100644
--- a/CMakeCPack.cmake
+++ b/CMakeCPack.cmake
@@ -22,6 +22,7 @@ set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
set(CPACK_PACKAGE_VERSION "${CMake_VERSION}")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmake-${CMake_VERSION}")
+set(CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE OFF)
# Installers for 32- vs. 64-bit CMake:
# - Root install directory (displayed to end user at installer-run time)
diff --git a/Help/release/dev/rel-macos-dmg-no-sla.rst b/Help/release/dev/rel-macos-dmg-no-sla.rst
new file mode 100644
index 0000000000..2f20aab602
--- /dev/null
+++ b/Help/release/dev/rel-macos-dmg-no-sla.rst
@@ -0,0 +1,7 @@
+rel-macos-dmg-no-sla
+--------------------
+
+* The precompiled macOS binaries provided on
+ `cmake.org <https://cmake.org/download/>`_ no longer attach a SLA
+ to the ``.dmg`` packages. This was removed because macOS 12 deprecated
+ the tools used to attach ``.dmg`` resources.
diff --git a/Utilities/Release/macos/sign-notarize.bash b/Utilities/Release/macos/sign-notarize.bash
index 8283c90bab..fe27afe532 100755
--- a/Utilities/Release/macos/sign-notarize.bash
+++ b/Utilities/Release/macos/sign-notarize.bash
@@ -77,12 +77,6 @@ echo '<?xml version="1.0" encoding="UTF-8"?>
</dict>
</plist>' > "$entitlements_xml"
-# Extract SLA
-readonly sla_xml="$tmpdir/sla.xml"
-hdiutil udifderez -xml "$dmg" > "$sla_xml"
-plutil -remove 'blkx' "$sla_xml"
-plutil -remove 'plst' "$sla_xml"
-
# Convert from read-only original image to read-write.
readonly udrw_dmg="$tmpdir/udrw.dmg"
hdiutil convert "$dmg" -format UDRW -o "${udrw_dmg}"
@@ -112,6 +106,3 @@ hdiutil detach "$vol_path"
# Convert back to read-only, compressed image.
hdiutil convert "${udrw_dmg}" -format UDZO -imagekey zlib-level=9 -ov -o "$dmg"
-
-# Re-insert SLA.
-hdiutil udifrez -xml "${sla_xml}" 'FIXME_WHY_IS_THIS_ARGUMENT_NEEDED' "$dmg"