Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for creating APFS disk images #221

Merged
merged 9 commits into from
Feb 3, 2023
Merged

Conversation

zorgiepoo
Copy link
Contributor

@zorgiepoo zorgiepoo commented Jan 15, 2023

This adds support for creating APFS disk images which require macOS 10.13 or newer.

I tested this change locally with appdmg and verified generating both HFS+ and APFS disk images still work. I slightly changed the attach code to specify the mountpoint instead of fetching it from stdout for this change.

The use case is not wanting to support older OS systems for app disk images and not wanting to use HFS+, which while testing I've seen have worse performance for extraction*. Simply put, APFS is a more modern filesystem.

(*tested on macOS 13.0.1 with an app like VLC.app 3.0.18 (arm64; ~134 MB) under heavier compression using ULMO or UDBZ with Finder** and have seen ~2x performance difference; e.g. 3-4 sec vs 6-8 sec)
(**hdiutil is not measured because its disk image mounting implementation is slower as of current writing and doesn't well model a user using the dmg)

@zorgiepoo
Copy link
Contributor Author

@LinusU Hi friendly ping on this. We'd like to also use this in another project (create-dmg) that depends on node-appdmg.

#220 is also a related change but that one should be an easy one.

Copy link
Owner

@LinusU LinusU left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay in reviewing this, just two small comments otherwise it looks great! 🙏

lib/appdmg.js Outdated Show resolved Hide resolved
lib/hdiutil.js Outdated Show resolved Hide resolved
lib/hdiutil.js Outdated Show resolved Hide resolved
lib/hdiutil.js Outdated Show resolved Hide resolved
Co-authored-by: Linus Unnebäck <linus@folkdatorn.se>
@LinusU LinusU merged commit e872086 into LinusU:master Feb 3, 2023
@LinusU
Copy link
Owner

LinusU commented Feb 3, 2023

Thank you for your work on this! 🙏

@LinusU
Copy link
Owner

LinusU commented Feb 3, 2023

Released as 🚢 0.6.6 / 2023-02-03

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants