Slashdot Mirror


Best Cross-Distro Installation Tools for Linux?

swillden asks: "I need to package up some commercial Linux software for multiple distributions (Red Hat Enterprise 3 and 4, Fedora, Novell Desktop, SuSE Professional and Enterprise, Mandrake and Debian), and I'm wondering what tools others have found useful. The software is closed source and needs to be very easy to install. This has been an ongoing problem for commercial software on Linux for some time. Has there been any progress?" "So far, the options I'm looking into are:
  1. Create distribution-specific packages using each distribution's tools. Nice in lots of ways, but a lot of work for ~11 different distributions.
  2. Use a commercial cross-distro installer like InstallShield. This is what the previous developers chose.
  3. Use one of the open source cross-distro installers, like autopackage or Loki.
  4. Write a custom installer.
I really would like to provide distro-specific packages, to make use of the native dependency management solutions and to make the software fit nicely into each system, but implementing, testing and supporting all of those installers may be too costly. It may also exclude any other Linux distributions unnecessarily.

I don't like the current InstallShield installer for multiple reasons. First, it's written in Java which is fine except that it can only run if a JRE is present. Requiring users to install a JRE so they can run the installer to install a (non-Java) product is really annoying. Also, it doesn't really know how to do any proper dependency management, so the developers had to take the approach of installing everything that might be required, often duplicating tools that might already be on the system, and sometimes even creating conflicts. Obviously this approach doesn't integrate with the native package management at all.

The Loki installer has some of the same limitations as InstallShield, but it doesn't require Java and it's very scriptable, so I could probably write code to do the dependency checking and be smarter about what to install.

Autopackage looks very interesting, and I'm going to take all of the docs with me to read on a flight this afternoon. However, I'm concerned that it may be unstable, as it's just reached a 1.0 release.

Finally, I could always just write an installer from scratch, but that may be even more work than creating all the distro-specific packages."

2 of 61 comments (clear)

  1. Re:Source? by coaxial · · Score: 1, Insightful

    LOL, it's flamebait because some moderator's favorite obscure hobby distro didn't make your cut.

    truer words have yet to be posted on /.

  2. Native Packages by pete-classic · · Score: 2, Insightful

    If you are going to ask people to pay for your software it would be in your best interest to provide them with native packages. I'm sure your other three options sound tempting but I think it's worth your while to avoid the "pain in the ass to install" or "broke when I upgraded" or "broke my upgrade" or "can't get it to work on the server running the other program we need that uses a non-native install" stigmas.

    Have you considered contacting people who do 3rd party packages for the commercial* distros you want to target? (For example Dag Wieers** for Red Hat.) I imagine you could negotiate one-off contracts easily and, if your selling your software for real money, relatively inexpensively. This sort of guy would find this a simple task and could build you a high quality package that would probably pay for itself in reduced support costs.

    -Peter

    * Go with official packagers of non-commercial distros. They don't have the same conflict of interests.

    ** I know nothing of Dag except that I use his packages and they work great. I surmise that he knows more about Red Hat packages than anyone you're likely to hire.