About installp packaging
This is not an FAQ, because it is not a Question and then the Answer. That would not work. Neither do I want it to be a deep-dive into installp packaging.
My goal: that you understand some core differences between "installp" aka LPP and other packaging systems - noteably RPM as that is also available for AIX. (not yet addressed here, coming real real soon!)
I am taking material, sometime literally for "ancient" documentation - 2000-2001 time frame because most, if not all of what I will be explaining goes back to 1994-1995 - if not even earlier.
The three parts of an installp package
An LPP or installp package has three parts: "root", "usr" and "share".
- The "root" part is unique to the host (aka system, host). These files are unique
to the system the software is installed on. The content after initial installation might be the same - as defaults tend to be that, but any customization of a "root" file will ony affect that single system.
- The "usr" part are files that could be shared among any other AIX system at the same
maintainence (now Technology and Service Pack) level. The name "usr" comes from it's initial location "/usr". The "usr" part, since AIX 5.0 (which was a early adopter release) includes "/opt". The exception being the "share" part that resides as a sub-directory in the /usr area.
- The "share" part is similiar, in function, to the "usr" part, but now it is meant to be
independent of AIX level - or even further - should be useable by anu *NIX system. An easy example is man pages - located in /usr/share/man/* because reading a man page is not dependent on your flavor of UNIX or Linux. Another common "share" component is termcap definitions.
== Packaging Categories ==
Now some "paste" from the Installation Guide for AIX 5.1
|Licensed Program|| A licensed program (also known as a product) is a complete software product
including all packages associated with that licensed program. For example, bos (the Base Operating System) is a licensed program.
|Package|| A group of separately installable units that provide a set of related functions.
For example, bos.net is a package.
|Fileset|| An individually installable option. Filesets provide a specific function. An
example of a fileset is bos.net.nfs.client 5.1.
|Fileset Update|| An individually installable update. Fileset updates either enhance or correct a
defect in a previously installed fileset.
|Bundle|| A collection of packages, products, or individual filesets that suit a specific
purpose, such as providing personal productivity software or software for a client machine in a network environment.
A product can be composed of several packages, which in turn can be composed of different filesets.
A product might be installed in its entirety, or only certain packages or filesets for the product might be installed. Software products are subdivided in this way, because many software products are large and have many pieces that can be used independently. Dividing a product into separately installable filesets allows you to install only those filesets you need.
You can install all the filesets included in a package or the entire product, or you can install only selected filesets....
And in relation to AIXTOOLS
The files provided by AIXTOOLS use the following naming convention
|installp concept||AIXTOOLS value||Description|
|Program||aixtools|| This is the first part of any file provided - aixtools takes the position of the
so called "licensed program" - and some filesets also require acceptance of a license (usually an Apache or GNU project that has a LICENSE file)
|Fileset||Package name||When part of a larger project this is the root name of a source tarball that gets downloaded before it gets packaged - e.g., the file downloaded as libressl-2.2.1.tar.gz is the aixtools
package libressl and coreutils-8.24.tar.xz is the aixtools package coreutils.
|VRMF||VRMF||This stands for Version.Release.Modication.FixLevel in AIX-speak. As much as possible this is a direct translation of a download file name to VRMF numbering: e.g., coreutils-8.24.tar.xz get the numbers 126.96.36.199. An exceptional case is the convention of openbsd to label certain source files as *p1 or very occainsionally *p2. For example, the file openssh-6.9p1.tar.gz will get the number 188.8.131.521. The letter 'p'
being the 16 letter becomes the base value 1600 in the so-called fix field, and the number after the letter 'p' gets added.
|File ending|| Something not part of installp - just a recognition convention. a) I use the letter 'I' at the very end to indicate this is a regular Fileset, and not an update. If I ever do updates they will end in the letter 'U'. Before this letter I use a six letter string: 'aix' plus 3 digits to indicate the base AIX version, release, and TL (technology level). aix537 means packaged on AIX 5.3 TL7; aix618 means packaged on AIX 6.1 TL8;
aix711 means packaged on AIX 7.1 TL1. The goal, or intent, is that everything is packaged on AIX 5.3 TL7 (aix537) and utilize the AIX binary compatibility that works from old to new - but not in the reverse direction.