10

I have Debian / Ubuntu / Xubuntu. I'm trying to distribute and run a Python file with the least number of clicks for the end user. How do I create a PKG file for Mac OS X on Linux?

Edit:

I think I may have ended up using a rar or a zip file, which has contents that can be ran somewhat like a DMG can be.

5
  • stackoverflow.com/questions/2323818/… this SE question might be a start, also osxgnu.org/info/osxpackages.html - other than some files that are generated by packagemaker, it looks like the pkg file is a fairly standard nix style compressed archive
    – Journeyman Geek
    Feb 23, 2012 at 11:27
  • If I extract the contents of a .pkg file, there's some directories, and a PAX file (which i can make), and a BOM file, (which i've no idea how to make on a platform other than osx) Feb 23, 2012 at 12:51
  • @TomO'Connor Is your problem identical to Luke's, i.e. you have a script file and just want to execute it (and could accept alternatives), or do you actually want to create a proper Installer .pkg, possibly containing lots of files?
    – Daniel Beck
    Feb 23, 2012 at 17:09
  • Initially, the problem's identical, but there's more than just one file we want/need to package up. Feb 24, 2012 at 9:56
  • @TomO'Connor It's much easier to create Mac OS X application bundles. There might be easier options that integrate just as well with your target system (i.e. easy for your users). Consider specifying your requirements in more detail. If they're not too fancy, and more along the lines of running instead of installing, this might work quite well.
    – Daniel Beck
    Feb 25, 2012 at 20:21

2 Answers 2

5
+100

Some multiplatform installers I know of are :

IzPack is a an open source software installer generator. As it uses Java you need the JRE on the target platform.

The free InstallJammer is :

a multiplatform GUI installer and builder designed to be completely cross-platform and function on Windows and most all versions of UNIX with eventual support for Mac OS X.

You could contact the developer, as he is very responsive.

InstallAnywhere is a commercial multiplatform installer. Its Standard Edition is priced at $1,999.

BitRock's InstallBuilder (don't look at the price tag) also claims :

Generate installers for all target platforms from a single project file. Create all your installers from a single build environment!

JExpress is another one at only $849.

The only one from the above that I have used is InstallJammer, which I really recommend. If OS X is already available in beta, don't hesitate to try it, as the developer corrects bugs at a very fast pace.

7
  • Interesting, but not seeming to answer the exact question, not from my POV, anyway. Feb 23, 2012 at 12:42
  • Then what is your POV?
    – harrymc
    Feb 23, 2012 at 12:48
  • Well, free would be a starting point, and the only free one is IzPack. which doesn't make DMG/PKG files, but is actually it's own installer format. Like we need another one of those(!). Feb 23, 2012 at 12:50
  • IzPack and InstallJammer are open source, so you could have a look at how it is done if you want to roll your own.
    – harrymc
    Feb 23, 2012 at 12:52
  • Another idea would be to use a trial version of one of the commercial packages to create the installation, then use it as a model for repackaging on Linux. I don't know if Lion pkg files are still xarchives or are now standard zip files. (One nasty idea is to install the trial in a disposable VM.)
    – harrymc
    Feb 23, 2012 at 13:36
-3

Sorry - it will not work.

Linux may create Solaris and BSD pkg files which are tarballs with some metadata, which will lead all your searches to a complete no-go.

3
  • 5
    I don't believe you. Feb 23, 2012 at 11:11
  • Make a DMG file in Linux or Windows - OSX PKG is same format...
    – ZaB
    Feb 23, 2012 at 16:46
  • 2
    That's totally wrong. Feb 25, 2012 at 18:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.