Replace DotnetPackaging.Dmg with Dotnet.Dmg library #148
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR replaces the DiscUtils-based DMG implementation with the new Dotnet.Dmg library for proper UDIF format support.
Changes
DmgIsoBuilderusingIsoBuilderwith full Rock Ridge supportUdifWriter(Zlib/Bzip2 compression)DmgVerifierto parse UDIF Koly block metadata--compressCLI option for UDIF wrapping controlBenefits
✅ Real DMG format: UDIF container instead of raw ISO
✅ Full metadata: Rock Ridge for symlinks, permissions, timestamps
✅ Better compression: Bzip2 (UDBZ) support for smaller files
✅ Reactive API: ByteSource for composable, observable streams
✅ Cross-platform: No external tools needed
Testing
✅ All 4 DMG tests passing
✅ Code compiles with no errors
✅ Compatible with existing CLI usage