about me


mirror rootvg
LPP package
clean wtmp

Currently employed @  

( clean clean )
  > main > varia > AIX > AIX lpp / bff pkg

Howto create an AIX LPP / BFF package

This page will explain you HOWTO create an AIX LPP / BFF package
This info is valid for AIX 4.3.3, AIX 5.1, AIX 5.2 and AIX 5.3.

To start with, you'll need the mklpp package from Bull. You can find the tool here. A mirror you can find here. Install this package via the smitty interface:

  • chmod +x bull.mklpp-
  • ./bull.mklpp-
  • inutoc .
  • smitty install_all

Make a lv volume lvlpp and make a filesystems on it. Mount this filesystem under /lppdir.
Create following directory's under /lppdir: bff, in, lpp, out, and build:

  • cd /lppdir
  • mkdir bff in lpp out build
Example package build: zlib

First we create the build env:

  • mkdir /lppdir/lpp/zlib
  • mkdir /lppdir/build/zlib

Download the source of zlib and place it in /lppdir/build/zlib

  • cd /lppdir/build/zlib
  • wget (can change)
  • gunzip zlib-1.2.2.tar.gz
  • tar -xvf zlib-1.2.2.tar
  • ln -s zlib-1.2.2 zlib

Be sure to change the umask to 022, so your install directory is ok. (umask 022)
Adapt the path and add /usr/local/bin to it. (export PATH=$PATH:/usr/local/bin)

Run the compille instructions for zlib:

  • cd /lppdir/build/zlib/zlib
  • ./configure
  • make

Install zlib in a changed root env:

  • make install prefix=/lppdir/lpp/zlib/usr/local

Make the lpp subdirs for the package

  • mkdir /lppdir/lpp/zlib/usr/lpp

Pick a name for your package, take for exmaple: freeware.zlib
Make the lpp subdir for your package:

  • mkdir /lppdir/lpp/zlib/usr/lpp/freeware.zlib

Go into the directory /lppdir/lpp/zlib and create the lpp_name file:

4 R I freeware.zlib {
freeware.zlib.rte 01 N U en_US Zlib, Data compression library
*prereq v=4 r>1

You will have to place the version in there( the name of the package (freeware.zlib / freeware.zlib.rte) and an explanation (Zlib, Data compression library). If needed, you can place prereq's. All other fields will be auto generated.

Make the .info subdir and create the copyright file:

  • mkdir /lppdir/lpp/zlib/.info
  • touch /lppdir/lpp/zlib/.info/freeware.zlib.rte.copyright (you can add whatever you want in this file)

Now you can build your package by doing:

  • cd /lppdir/lpp/zlib
  • mklpp
[root@sys /lppdir/lpp/zlib] mklpp
        rm -f .info/
        rm -f .info/freeware.zlib.rte.size
        rm -f .info/freeware.zlib.rte.inventory
        rm -f .info/backup_files
        rm -f usr/lpp/freeware.zlib/liblpp.a
        rm -f usr/lpp/freeware.zlib/inst_root/liblpp.a
        rm -f .info/liblpp.a
        rm -f //lppdir/out/zlib- //lppdir/out/zlib-  \
		//lppdir/zip/zlib- //lppdir/bff/zlib-    \
No, applying logic to the problem...
No size file, try this for size...
No inventory file, inventing it...
No cfgfiles script, no pre-configured option, forget it
Making .info/liblpp.a archive
No root part to make
Making list of files to backup
Updating lpp_name
Making installp format distribution on //lppdir/out/zlib-
Target "all" is up to date.
[root@sys /lppdir/lpp/zlib]

Do note that mklpp automaticly create post and pre scripts for install and de-install in the .info/. You can add extra commands in these scripts for your own purpose.

Copyright 1997 - 2009 Ramses Smeyers. All rights reserved