macos - reconoce - ¿Cómo construir un archivo dmg Mac OS X(en una plataforma que no sea Mac)?
mac no reconoce dmg (7)
¿Es posible crear un archivo .dmg (para distribuir aplicaciones) desde una plataforma que no sea Mac? Y si es así, ¿cómo?
No estoy seguro si alguien todavía está mirando este hilo, pero probé TransMac como lo recomendó Nik Reiman .
Usando esta herramienta, pude, ejecutando en Windows 7 , crear archivos dmg que se podían montar en OSX 10.8.3 .
Abajo
El único inconveniente para nosotros es que esta herramienta no parece ser compatible con la línea de comandos; para nosotros es un factor decisivo, ya que necesitamos poder contar con una herramienta automatizada que nuestro servidor de compilación (basado en Windows) pueda usar para construir archivos dmg sobre la marcha.
Parece posible crear archivos DMG con algunas herramientas de terceros. Una búsqueda rápida en Google revela al menos algunas herramientas comerciales:
No estoy seguro acerca de las opciones de OSS / freeware, pero al menos parece posible si así lo desea.
Editar: También me olvidé de MacDrive , que es otra gran herramienta para trabajar con sistemas de archivos HFS + en Windows. Como un DMG es básicamente una instantánea del sistema de archivos HFS +, probablemente con MacDrive también sea posible crear DMG.
Sí, mkfs.hfsplus lo hace.
dd if=/dev/zero of=/tmp/foo.dmg bs=1M count=64
mkfs.hfsplus -v ThisIsFoo /tmp/foo.dmg
Esto crea un archivo dmg (en este caso 64M) que se puede montar en un mac. También se puede montar en Linux, con algo como
mount -o loop /tmp/foo.dmg /mnt/foo
luego de copiar el contenido que desea (en / mnt / foo). Desmóntelo, y el dmg puede copiarse a un mac y montarse allí.
Si distribuye aplicaciones para Mac, seguramente tendrá una Mac para escribirlas y probarlas. ¿Por qué no simplemente usar esa misma Mac para crear la imagen del disco?
[Editar] Alternativamente, si está distribuyendo una aplicación portátil, por ejemplo, un archivo .jar de Java, ¿para qué molestarse con una imagen de disco? Los Mac entienden muy bien los archivos .zip y .tar.gz.
Supongo que lo que quiero decir es que no entiendo cómo se necesitaría una imagen de disco DMG, pero no una Mac con la que crearla.
Un proyecto en el que trabajo crea archivos DMG en Linux usando 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 quieres ser realmente sofisticado, puedes robar el archivo .DS_Store
de un DMG creado en una Mac con un nombre de nombre de volumen y un paquete de aplicaciones llamado progname.app
(es decir, que coincida con lo que quieres crear de la Mac) donde " .background/background.png
un fondo en .background/background.png
y un enlace simbólico a / Applications en el directorio raíz, y ponlo en dmgdir
junto con tu propio enlace simbólico a /Applications
.
Ver mkfs.hfsplus
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
sin comprimir funciona de la caja, la compresión puede causar problemas: el origen / maestro al menos produce un error de ''suma de comprobación'' en el leopardo de las nieves