2010-02-24 76 views

回答

0

不,你不能。你可以做一個腳本化的ssh登錄並使用osascript將其關閉,這樣你就可以從其他地方自動完成整個構建,但是你只能在Mac上構建Mac。

雖然你可以做全部構建在Mac上。這種方法更容易。

16

我不認爲這是不可能的。您當然可以在其他OS上執行PackageMaker在OSX上執行的所有操作。這只是一個創建這些文件的事情:

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

該文件的.plist可以很容易地在Python與plistlib這是目前Python標準創建的。 .bom和.pax.gz有點棘手,但其餘的都是文本文件。

.pax.gz文件的.gz部分表示它用gzip壓縮。這在Windows和Linux上可用。

按照pax man page pax文件中居然可以在幾個不同的壓縮格式,包括的cpio焦油,也容易在Linux或Windows做。 PackageMaker似乎創建了壓縮的文件,至少在10.6上創建了壓縮文件cpio

.bom文件是包中所有文件及其大小的列表。這可能是在OSX之外創建的最難的部分。 BOM代表物料清單,來自NextSTEP操作系統。我一直沒能找到有關BOM格式多的信息,但這裏有一些線索:NextSTEP bom man pageOSX bom man page

編輯:我現在已經實現了一個版本lsbom我已經放置在公共領域的。該代碼可以在顛覆這裏找到:https://cauldrondevelopment.com/svn/osxbom/trunk

也許有人還可以實現mkbom,然後會有一個完整的解決方案。在上面的代碼中查看頭文件bom.h以獲得BOM文件格式的某種完整描述。

編輯2:mkbom的工作版本現在已經實現,並且可以在這裏找到: http://hogliux.github.io/bomutils/tutorial.html

https://github.com/hogliux/bomutils

關於如何建立在Linux上安裝一個詳細的教程一起

另請參閱問題how-to-build-native-mac-os-x-installer-on-a-non-mac-platform

+0

看起來像某人已經開始反向工程BOM文件:http://hintsforums.macworld.com/archive/index.php/t-66174.html – jcoffland 2011-11-04 23:01:11