Est-il possible de créer un fichier .dmg (pour distribuer des applications) à partir d'une plate-forme non Mac? Et si oui, comment?
Il semble possible de créer des fichiers DMG avec des outils tiers. Une recherche rapide sur Google révèle au moins quelques outils commerciaux:
Je ne suis pas sûr des options OSS/freeware, mais cela semble au moins possible si vous êtes si enclin.
Edit: j'ai également oublié MacDrive , qui est un autre excellent outil pour travailler avec les systèmes de fichiers HFS + sous Windows. Puisqu'un DMG est simplement un instantané de système de fichiers HFS +, il est probablement possible avec MacDrive de créer également des DMG.
Oui, mkfs.hfsplus le fait.
dd if=/dev/zero of=/tmp/foo.dmg bs=1M count=64
mkfs.hfsplus -v ThisIsFoo /tmp/foo.dmg
Cela crée un fichier dmg (dans ce cas 64M) qui peut être monté sur un mac. Il peut également être monté sur Linux, avec quelque chose comme
mount -o loop /tmp/foo.dmg /mnt/foo
après quoi vous venez de copier le contenu que vous voulez (dans/mnt/foo). Démontez-le et le dmg peut être copié sur un mac et monté là-bas.
Un projet sur lequel je travaille crée des fichiers DMG sous Linux en utilisant genisoimage:
mkdir -p dmgdir/progname.app/Contents/{MacOS,Resources}
...copy your PkgInfo, Info.plist to Contents...
...copy your .icns to Resources...
...copy your other things to where you expect them to go...
genisoimage -V progname -D -R -Apple -no-pad -o progname.dmg dmgdir
Si vous voulez être vraiment chic, vous pouvez voler le .DS_Store
fichier d'un DMG créé sur un Mac avec un nom de volume progname
et un ensemble d'applications appelé progname.app
(c'est-à-dire correspondant à ce que vous voulez créer sur le Mac) où vous avez mis un arrière-plan dans .background/background.png
et un lien symbolique vers/Applications dans le répertoire racine, et mettez-le dans dmgdir
avec votre propre lien symbolique vers /Applications
.
git clone https://github.com/hamstergene/libdmg-hfsplus
cd libdmg-hfsplus && cmake . && make && cd dmg
./dmg --help
Makefile:
dmg:
genisoimage -D -V "$(PROJECT) $(VERSION)" -no-pad -r -Apple -o project-$(VERSION)-uncompressed.dmg $(DARWIN_DIR)
./dmg dmg project-$(VERSION)-uncompressed.dmg project-$(VERSION).dmg
travaux non compressés prêts à l'emploi, la compression peut provoquer des problèmes - l'Origin/master génère au moins une erreur de "somme de contrôle" sur le léopard des neiges
Je ne sais pas si quelqu'un regarde toujours ce fil, mais j'ai essayé TransMac comme recommandé par Nik Reiman.
En utilisant cet outil, j'ai pu, en exécutant Windows 7, créer dmg des fichiers montables sur OSX 10.8..
inconvénient
Le seul inconvénient pour nous est que cet outil ne semble pas être convivial en ligne de commande; pour nous, c'est une rupture, car nous devons pouvoir disposer d'un outil automatisé que notre serveur de génération (basé sur Windows) peut utiliser pour créer des fichiers dmg à la volée.
Voir mkfs.hfsplus