2010-02-24 4 views

Antwort

0

Nein, können Sie nicht. Sie können einen skriptgesteuerten ssh-Login ausführen und ihn mit osascript starten, damit Sie den gesamten Build von woanders aus automatisieren können, aber Sie können nur für einen Mac auf einem Mac erstellen.

Sie könnten alle die Builds auf einem Mac tun, obwohl. Es ist viel einfacher so herum.

16

Ich bin nicht damit einverstanden, dass dies unmöglich ist. Sie könnten sicherlich alle Dinge tun, die PackageMaker unter OSX auf einem anderen Betriebssystem ausführt. Es ist nur eine Frage der Schaffung dieser Dateien:

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

Die .plist-Dateien einfach in Python erstellt werden können mit plistlib, die in Python jetzt Standard ist. Die .bom und .pax.gz sind etwas kniffliger, aber der Rest sind alle Textdateien.

Der .gz-Teil der .pax.gz-Datei bedeutet, dass er mit gzip komprimiert ist. Dies ist unter Windows und Linux verfügbar.

Nach den pax man page eine pax-Datei in mehreren verschiedenen Archivformaten tatsächlich sein kann, einschließlich cpio und Teer, auch einfach in Linux oder Windows zu tun. PackageMaker scheint komprimierte cpio Dateien mindestens am 10.6 zu erstellen.

Die .bom-Datei ist eine Liste aller Dateien im Paket und ihrer Größen. Es ist wahrscheinlich der schwierigste Teil außerhalb von OSX zu erstellen. BOM steht für Bill Of Materials und stammt vom NextSTEP-Betriebssystem. Ich habe nicht in der Lage gewesen, viele Informationen über das BOM-Format zu finden, aber hier sind einige Hinweise: NextSTEP bom man page, OSX bom man page

Edit: Ich habe jetzt eine Version von lsbom implementiert, die ich in der Öffentlichkeit platziert habe. Der Code kann hier in Subversion zu finden: https://cauldrondevelopment.com/svn/osxbom/trunk

Vielleicht hat jemand auch mkbom implementieren und dann wird es eine komplette Lösung. Die Header-Datei bom.h im obigen Code für eine etwas vollständigere Beschreibung des BOM-Dateiformats.

Edit 2: Eine funktionierende Version von mkbom wird nun implementiert und kann hier gefunden werden: https://github.com/hogliux/bomutils

zusammen mit einer detaillierten Anleitung, wie man ein Installationsprogramm auf Linux erstellen: http://hogliux.github.io/bomutils/tutorial.html

Siehe auch die Frage how-to-build-native-mac-os-x-installer-on-a-non-mac-platform.

+0

Sieht aus, als ob jemand bereits Reverse-Engineering-Stücklisten-Dateien gestartet hat: http://hintsforums.macworld.com/archive/index.php/t-66174.html – jcoffland