From 032d9e6c316bc33a4fda42505049d4f04dcb3f98 Mon Sep 17 00:00:00 2001 From: claudi Date: Tue, 14 Apr 2026 15:40:54 +0200 Subject: [PATCH] feat: Optimize DMG creation process by implementing staging image for improved efficiency --- build/scripts/build_macos.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/build/scripts/build_macos.sh b/build/scripts/build_macos.sh index 49a58a9..e2044a5 100644 --- a/build/scripts/build_macos.sh +++ b/build/scripts/build_macos.sh @@ -284,16 +284,28 @@ create_dmg() { # Create symlink to Applications folder ln -s /Applications "$DMG_TEMP/Applications" - - # Create DMG + + # Build a small, HFS+ staging image first and then convert to + # compressed UDZO. This avoids oversized APFS container images. + STAGING_DMG="$TEMP_BUILD/${APP_NAME}-staging.dmg" + rm -f "$STAGING_DMG" + hdiutil create \ -volname "$DMG_VOLUME_NAME" \ -srcfolder "$DMG_TEMP" \ + -fs HFS+ \ + -fsargs "-c c=64,a=16,e=16" \ + -format UDRW \ -ov \ + "$STAGING_DMG" + + hdiutil convert "$STAGING_DMG" \ -format UDZO \ - "$DMG_FILE" + -imagekey zlib-level=9 \ + -o "$DMG_FILE" # Clean up + rm -f "$STAGING_DMG" rm -rf "$DMG_TEMP" fi