I'm running a business where we are creating email stationeries for people. We have some Mac users that currently have to download a zip file and manually copy that to their mail stationeries directory.
I want to automate that process and allow Mac users to download directly a package that will copy those files automatically.
I've build a sample package with PackageMaker, created script that will replace Archive.pax.gz with client's stationeries but go an error. I have realized I did not provide a mandatory BOM file. How can I create it on a non-mac platform? Or if I can't, is there any other way to create a Mac installer on a non-mac platform?
It is now possible to create BOM (bill-of-materials) files on linux. Someone created an open-source version of mkbom at:
http://hogliux.github.io/bomutils
The website also has an easy to follow step-by-step tutorial on creating a Mac OS X installer on Linux ( http://hogliux.github.io/bomutils/tutorial.html ).
My company regularly build Mac OS X installers on linux with this method and so far we haven't had any major problems.
Either you can find a package of this utility for your Linux: http://www.unix.com/man-page/All/8/mkbom/ or you can try to write it yourself, given the information available at Apple's website on BOM.
I created some code which can list a BOM from Linux. Needs some more work to actually write a BOM.
https://cauldrondevelopment.com/svn/osxbom/trunk
The BOM format is not at all intuitive. Really nasty actually. If you take a look at my code you can get an idea of the format. I noticed that GNUStep did away with the NEXTStep BOM format which is presumably where Apple got it.
Finally I've created a postflight hook that is doing all the installation process
来源:https://stackoverflow.com/questions/7116078/how-can-i-build-a-mac-package-on-linux-bom-file-problem