The "proper" format for shipping OS X files is a DMG file (which is a slightly magical HFS+ file system). Unfortunately the tools used to create these are proprietary and only available on OS X. Right now we're creating ISO files, which OS X also handles somewhat decently. We should look for open source tools for creating DMG files so we can do things more properly.
It seems like modern mkisofs can do something magical. See this script: http://git.dmdirc.com/cgit.cgi/installer/tree/makeDMG.sh Also see these projects: http://www.shanemcc.co.uk/libdmg/ https://github.com/planetbeing/libdmg-hfsplus
One reason for doing this could be to reduce the risk of mistakes. Our .iso files are magical in that they have Unix extensions to do things like set the execute bit. Not all tools might respect that though and you can end up with a broken app bundle. See issue 22298 for one such case.
It seems to be easier to create .dmg files on Linux nowadays. I managed to relatively straightforward create a .dmg file through hfsplus-tools. This .dmg could both be used and modified on macOS. On my Fedora 35, hfsplus-tools were installed by default, and below are the steps I followed to create the .dmg. > # Create a ~40 MB dmg file > $ dd if=/dev/zero of=out_file.dmg bs=10KB count=4096 > $ sudo losetup -fP out_file.dmg > $ mkfs.hfsplus out_file.dmg > Initialized out_file.dmg as a 39 MB HFS Plus volume
(In reply to Linn from comment #3) > > > # Create a ~40 MB dmg file > > $ dd if=/dev/zero of=out_file.dmg bs=10KB count=4096 > > $ sudo losetup -fP out_file.dmg > > $ mkfs.hfsplus out_file.dmg > > Initialized out_file.dmg as a 39 MB HFS Plus volume Note that we probably don't need the `sudo losetup` step. Otherwise, requiring sudo during our builds would be problematic.