2010-02-24 6 views

Respuesta

0

No, no se puede. Podría hacer un inicio de sesión ssh con scripts y activarlo utilizando osascript para que pueda automatizar toda la construcción desde otro lugar, pero solo puede construir para una Mac en una Mac.

Usted podría hacer todas las compilaciones en una Mac, sin embargo. Es mucho más fácil de esa manera.

16

No estoy de acuerdo con que esto sea imposible. Ciertamente podría hacer todo lo que hace PackageMaker en OSX en otro sistema operativo. Es sólo una cuestión de crear estos archivos:

Contents/ 
    Archive.bom 
    Archive.pax.gz 
    Info.plist 
    PkgInfo 
    Resources/ 
    TokenDefinitions.plist 
    package_version 
    en.lproj/ 
     Description.plist 

Los archivos plist pueden ser fácilmente creados en Python con plistlib que es ahora estándar en Python. The .bom y .pax.gz son un poco más complicados, pero el resto son todos archivos de texto.

La parte .gz del archivo .pax.gz significa que está comprimida con gzip. Esto está disponible en Windows y Linux.

De acuerdo con la pax man page un archivo pax en realidad puede estar en varios formatos de archivo diferentes, incluyendo cpio y alquitrán, también es fácil de hacer en Linux o Windows. PackageMaker parece crear archivos comprimidos cpio, al menos en 10.6.

El archivo .bom es una lista de todos los archivos del paquete y sus tamaños. Probablemente sea la parte más difícil de crear fuera de OSX. BOM significa Bill Of Materials y proviene del sistema operativo NextSTEP. No he podido encontrar mucha información sobre el formato de lista de materiales, pero aquí hay algunas pistas: NextSTEP bom man page, OSX bom man page

Editar: Ahora he implementado una versión de lsbom, que he colocado en el dominio público. El código se puede encontrar en Subversion aquí: https://cauldrondevelopment.com/svn/osxbom/trunk

Quizás alguien también puede implementar mkbom y luego habrá una solución completa. Consulte el archivo de encabezado bom.h en el código anterior para obtener una descripción algo completa del formato de archivo BOM.

Edición 2: Una versión de trabajo del mkbom ahora se ha implementado y se puede encontrar aquí: https://github.com/hogliux/bomutils

junto con un tutorial detallado sobre cómo crear un instalador en Linux: http://hogliux.github.io/bomutils/tutorial.html

También vea la pregunta how-to-build-native-mac-os-x-installer-on-a-non-mac-platform.

+0

Parece que alguien ya ha comenzado los archivos BOM de ingeniería inversa: http://hintsforums.macworld.com/archive/index.php/t-66174.html – jcoffland

Cuestiones relacionadas