1

is there a common packaging format for shipping complied files (not sources) on Redhat Linux , IBM AIX and Solaris?

JMS77
  • 1,275
  • 5
  • 27
  • 44

4 Answers4

2

Unfortunately, no. At least not in a way that integrates with the "standard" system packages. I've seen RPM packages on AIX, it is mainly used for installing open source packages there. And, packaging is completely brain dead on Solaris. There are improvements in OpenSolaris, but it's still not cross-platform friendly.

TCampbell
  • 2,014
  • 14
  • 14
  • if there is no common ground between the three, what is the best way? gzip binaries and install scripts (sh)? – JMS77 Mar 04 '10 at 13:34
  • That would be the only common ground, yes. And, only recently did Solaris start including gzip and/or bzip2 in the default distribution. – TCampbell Mar 04 '10 at 14:06
  • 1
    You also have to consider the different architectures and, even if they are the same there will be other differences such as available libs, etc. – Dennis Williamson Mar 04 '10 at 14:24
  • Tarballs :) Everyone packages `tar`. – Bill Weiss Mar 04 '10 at 17:41
  • 1
    Probably the best "common ground" you'll find is some way to automate installing the native package format on each system. i.e. using something like Puppet or cfengine. There isn't common ground in the packages, the most you can hope for is a way (through automation, scripts, repositories, etc.) that you can get the correct package type installed on a given system. – Jason Antman Mar 04 '10 at 18:06
  • Tcampbell, Solaris is bundling both gzip and bzip2 as required packages since 10 years ago (Solaris 8), and they were made available as patches to Solaris 2.6 and Solaris 7. Not really what I would qualify "only recently". OpenSolaris packaging system is now cross platform friendly by the way. See my reply. – jlliagre Mar 05 '10 at 09:07
  • Plus 1 for "packaging is completely brain dead on Solaris" :) – Isaac Jan 23 '15 at 12:28
1

Although based on network repositories instead of distribution files, IPS (Image Packaging System) is a recent but promising cross-platform solution (python based) that supports the cited OSes and several others (including Windows and MacOS X):

http://wikis.sun.com/display/IpsBestPractices/Multi-platform+Packaging+for+Layered+Distros

http://wiki.updatecenter.java.net/Wiki.jsp?page=UC2Documentation.ReleaseNotes.2.3

jlliagre
  • 8,691
  • 16
  • 36
1

While all three Unix variants mentioned run on the x86 architecture (and others), it's more likely that you will run into AIX on PowerPC, Solaris on SPARC, and RedHat on x86. That being the case, a single package for a given application would be rather large in trying to deal with multiple OS versions and multiple instruction sets.

Which puts us back in the classic Unix mode: source code tarballs or shar scripts, with make config and make install to handle the OS dependencies at a CLI level, not trying to bake in low level details.

mpez0
  • 1,492
  • 9
  • 9
0

No, RPM is mostly Linux specific, and the binary formats are different on all three platforms. You cannot use a single package to target them. The closest you will be able to get is a shell script with the data encoded inside of it. Sun does something similar with their Java installer for Linux. Effectively, when you run the shell script it writes a tarball to disk, then extracts that tarball and performs the installation.

Richard June
  • 728
  • 4
  • 7