The basics
Start with a fresh install of AIX –
I focus on AIX 5.3 TL07 SP00.
The only “non-standard”
packages are: openssh.base, bos.adt.insttools and bos.adt.libm.
OpenSSH because I want it, bos.adt.insttools for the AIX command
mkinstallp, and bos.adt.libm as it is needed by many things once you
start compiling.
I also install my 'build' scripts –
packaged as aixtools.buildaix (see
http://www.aixtools.net/index.php/buildaix).
KISS - Keep it Stupidly Simple
So, taking a well-written (to be
portable) project such as OpenBSD – OpenSSH-portable –
basic packaging is very simple – one command!
-
install AIX with additional
filesets and buildaix
-
Download and unpack the OpenSource
project
-
change the the base directory
-
buildaix (and wait)
Details
-
Install AIX – that is your
job
-
cd /tmp
wget
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz
gzip
-dc openssh-7.6p1.tar.gz | tar xf -
-
cd openssh-7.6p1
-
buildaix (need to be root for this
to complete)
There is some output to inform you what
is being done, and stderr messages still appear on screen. At the end
you should see something such as:
+
mkinstallp.ksh /var/buildaix/tmp/openssh/7.6.0.1601 >
.buildaix/mkinstallp.out
==============================
buildaix.tmp.openssh:buildaix.tmp.openssh.man.en_US:7.6.0.1601::I:T:::::N:tmp
openssh man pages::::0::
buildaix.tmp.openssh:buildaix.tmp.openssh.rte:7.6.0.1601::I:T:::::N:tmp
openssh 05-Dec-2017::::0::
A name such as buildaix.tmp.openssh is
probably not what you are looking for.
BUILDAIX creates a LPP package name
from four key variables:
$PROGRAM – by default “buildaix”
$PRODUCT – by default the name of
the sub-directory
$FILESET – by default the name of
the current directory – without numerics
$VRMF – by default taken from the
“numerics” of the current directory.
Further when $PROGRAM == $PRODUCT or
$PRODUCT == $FILESET the name is shortened.
So, lets say I want this packaged as
acme.openbsd.openssh I would do the following:
# PROGRAM=acme buildaix -P openbsd
...
+
mkinstallp.ksh /var/acme/openbsd/openssh/7.6.0.1601 >
.buildaix/mkinstallp.out
==============================
acme.openbsd.openssh:acme.openbsd.openssh.man.en_US:7.6.0.1601::I:T:::::N:openbsd
openssh man pages::::0::
acme.openbsd.openssh:acme.openbsd.openssh.rte:7.6.0.1601::I:T:::::N:openbsd
openssh 05-Dec-2017::::0::
buildaix.tmp.openssh:buildaix.tmp.openssh.man.en_US:7.6.0.1601::I:T:::::N:tmp
openssh man pages::::0::
buildaix.tmp.openssh:buildaix.tmp.openssh.rte:7.6.0.1601::I:T:::::N:tmp
openssh 05-Dec-2017::::0::
Or, use export PROGRAM=acme
So, to get the package to be called
acme.openssh – use:
# export PROGRAM=acme
# buildaix -P openssh -F openssh
root@x072:[/tmp/openssh-7.6p1]export
PROGRAM=acme
root@x072:[/tmp/openssh-7.6p1]buildaix
-P openssh -F openssh
...
+
mkinstallp.ksh /var/acme/openssh/openssh/7.6.0.1601 >
.buildaix/mkinstallp.out
==============================
acme.openbsd.openssh:acme.openbsd.openssh.man.en_US:7.6.0.1601::I:T:::::N:openbsd
openssh man pages::::0::
acme.openbsd.openssh:acme.openbsd.openssh.rte:7.6.0.1601::I:T:::::N:openbsd
openssh 05-Dec-2017::::0::
acme.openssh:acme.openssh.man.en_US:7.6.0.1601::I:T:::::N:openssh
man pages::::0::
acme.openssh:acme.openssh.rte:7.6.0.1601::I:T:::::N:openssh
05-Dec-2017::::0::
buildaix.tmp.openssh:buildaix.tmp.openssh.man.en_US:7.6.0.1601::I:T:::::N:tmp
openssh man pages::::0::
buildaix.tmp.openssh:buildaix.tmp.openssh.rte:7.6.0.1601::I:T:::::N:tmp
openssh 05-Dec-2017::::0::
==============================
|