This is a stripped down version of libdmg-hfsplus, which only contains the dmg
tool.
Ideally, the minimal c code could be ported to Rust. We could also
reimplement the build ISO functionality and skip the genisoimage
step during gitian building.
zlib
is required.
Configure, compile and run:
cmake . -B build
make -C build/dmg -j8
build/dmg/dmg
Compare DMG output for a Bitcoin-Core ISO (from genisoimage
):
git clean -fxd && \
cmake . -B build && \
make -C build/dmg -j8 && \
build/dmg/dmg Bitcoin-Core.iso osx-unsigned.dmg && \
diffoscope osx-unsigned-orig.dmg osx-unsigned.dmg
Running Clang tools:
clang-format -i dmg/*.c
clang-tidy -p build --checks=modernize dmg/*.c
http://newosxbook.com/DMG.html https://developer.apple.com/library/archive/technotes/tn2166/_index.html
This work is released under the terms of the GNU General Public License, version 3. The full text of the license can be found in the LICENSE file.