Frage

Wir brauchen Mac-Pakete im Fluge zu bauen, und es wäre praktisch, wenn es eine Möglichkeit ist, das gleiche unter Windows oder Linux-Plattform anstelle von Package auf Mac zu erstellen. Irgendwelche Ideen?

War es hilfreich?

Lösung

Nein, kann man nicht. Sie könnten ein Skript ssh Login tun und Feuer sie ab mit osascript, so dass Sie die gesamte Build von irgendwo automatisieren kann sonst, aber Sie können nur für einen Mac auf einem Mac bauen.

Sie können tun alle die Builds auf einem Mac, though. Es ist viel einfacher auf diese Weise um.

Andere Tipps

Ich bin nicht einverstanden, dass dies unmöglich ist. Sie könnten all die Dinge sicherlich tun Package auf einem anderen Betriebssystem auf OSX tut. Es ist nur eine Frage der Erstellung dieser Dateien:

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

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

Der gz Teil der .pax.gz Dateieinrichtung mit gzip komprimiert. Dies ist auf Windows und Linux.

Nach dem pax Mann eine pax Datei tatsächlich in verschiedenen Archiv-Formaten einschließlich cpio und tar , auch einfach in Linux oder Windows zu tun. Package scheint komprimiert zu schaffen cpio Dateien, zumindest auf 10.6.

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

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

Vielleicht kann jemand auch implementieren mkbom und dann wird es eine komplette Lösung. Sehen Sie sich die Header-Datei bom.h in dem obigen Code für eine etwas vollständigere Beschreibung des BOM-Dateiformates.

Edit 2: Eine funktionierende Version von mkbom wurde nun umgesetzt und hier gefunden werden kann: 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-nicht-mac-Plattform .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top