2010-02-24 2 views

risposta

0

No, non è possibile. Potresti fare un login ssh con script e attivarlo usando osascript in modo da poter automatizzare l'intera build da qualche altra parte, ma puoi costruire solo per un Mac su un Mac.

Si potrebbe fare tutte le build su un Mac, però. È molto più facile in questo modo.

16

Non sono d'accordo che ciò sia impossibile. Potresti certamente fare tutte le cose che PackageMaker fa su OSX su un altro SO. E 'solo una questione di creazione di questi file:

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

I file .plist possono essere create facilmente in Python con plistlib che è ora di serie in Python. .bom e .pax.gz sono un po 'più complicati ma il resto sono tutti file di testo.

La parte .gz del file .pax.gz indica che è compressa con gzip. Questo è disponibile su Windows e Linux.

Secondo il pax man page un file pax può effettivamente essere in diversi formati di archivio differenti tra cui cpio e tar, anche facile da fare in Linux o Windows. PackageMaker sembra creare file compressi cpio, almeno il 10.6.

Il file .bom è un elenco di tutti i file nel pacchetto e delle loro dimensioni. È probabilmente la parte più difficile da creare al di fuori di OSX. BOM è l'acronimo di Bill Of Materials e proviene dal sistema operativo NextSTEP. Non sono stato in grado di trovare molte informazioni sul formato distinta ma qui ci sono alcuni indizi: NextSTEP bom man page, OSX bom man page

Edit: ora ho implementato una versione di lsbom che ho messo nel pubblico dominio. Il codice può essere trovato in Subversion qui: https://cauldrondevelopment.com/svn/osxbom/trunk

Forse qualcuno può anche implementare mkbom e quindi ci sarà una soluzione completa. Vedere il file di intestazione bom.h nel codice precedente per una descrizione un po 'completa del formato di file BOM.

Edit 2: una versione funzionante di mkbom ora è stato implementato e può essere trovato qui: https://github.com/hogliux/bomutils

insieme a un dettagliato tutorial su come creare un programma di installazione su Linux: http://hogliux.github.io/bomutils/tutorial.html

Vedi anche la domanda how-to-build-native-mac-os-x-installer-on-a-non-mac-platform.

+0

Sembra che qualcuno abbia già avviato i file BOM di reverse engineering: http://hintsforums.macworld.com/archive/index.php/t-66174.html – jcoffland